[FrontPage] [TitleIndex] [WordIndex

This is a read-only archived version of wiki.centos.org

Cómo instalar CentOS en volúmenes de RAID por software particionables.

1. ¿Qué es exactamente un volumen de RAID1 por software particionable?

Respuesta breve: es un volumen RAID administrado con mdadm que puede ser particionado como un disco rígido corriente.

Por largo tiempo, la forma tradicional de usar RAID con mdadm era crear una partición separada en cada disco que iba a integrar el volumen RAID, marcar estas particiones como de tipo 0xfd (linux raid autodetect), crear un volumen a partir de estas particiones, formatearlo con un cierto filesystem y finalmente usarlo. Si uno necesitaba varios filesystems sobre RAID, se debía preparar varios volúmenes RAID, lo cual implica que uno tenía que crear varias particiones exactamente iguales en cada uno de los discos del RAID y crear varios volúmenes RAID. Compárese esto con un verdadero controlador RAID, que permite construir un único volumen RAID que luego puede ser particionado como un disco rígido corriente.

Desde mdadm 2.6, es posible crear volúmenes RAID particionables. Tales volúmenes RAID reciben nombres de dispositivos como /dev/md_dX, y /dev/md_dXpY para particiones sobre dichos volúmenes. Las entradas de /dev para particiones sobre RAIDs particionables son creadas automáticamente por mdadm cuando se ensambla el volumen.

2. ¿Por qué es deseable tener un sistema instalado sobre un RAID1 por software particionable?

Si usted instala un sistema sobre un RAID particionable, puede usar el disco completo como un componente de un dispositivo RAID, y como RAID1 es un mirror (espejo), usted podrá arrancar su sistema desde cualquiera de los discos en caso de fallos sin requerir ningún truco adicional para preservar la información del cargador. Y cuando necesite reparar un volumen RAID fallado con el disco rígido completo como componente RAID, todo lo que tendrá que hacer es insertar un disco nuevo y correr mdadm --add. No se necesitará particionamiento ni nada más.

3. Procedimiento de instalación

Esta guía describe cómo instalar CentOS 5 sobre un sistema RAID particionable, desde cero. Sin embargo, quizás quiera migrar su instalación existente, no RAID, a un RAID particionable en caso de tener algún espacio sin particionar al final de su disco, o bien, puede redimensionar la última partición de modo de liberar algo de espacio. Para realizar la migración siga esta guía comenzando desde el paso 3.

En este HOWTO suponemos que su sistema tiene dos discos rígidos, /dev/sda y /dev/sdb.

  1. Instale CentOS usando el instalador estándar sobre el primer disco rígido, /dev/sda. Seleccione particionamiento manual durante la instalación, y deje al menos una unidad, al final del disco, sin particionar. Necesitará reservar este espacio para mdadm, que almacena sus metadatos en el último trozo de un volumen RAID.
  2. Arranque del disco de instalación de CentOS en modo de rescate (rescue). El instalador preguntará si desea montar una instalación CentOS existente. Conteste que no.

  3. Arme el RAID1 por software usando mdadm en modo degradado, con /dev/sda como el único disco:

    mdadm --create --level=1 --raid-devices=2 /dev/md_d0 /dev/sda missing
  4. Agregue el disco extra (spare) /dev/sdb al RAID y observe el pseudoarchivo /proc/mdstat para ver que el RAID comienza a reconstruirse:

    mdadm --add /dev/md_d0 /dev/sdb
    cat /proc/mdstat
  5. Ahora monte manualmente el sistema y cambie raíz al mismo (chroot) para modificar la especificación de arranque:

    mkdir /mnt/sysimage
    mount /dev/md_d0p1 /mnt/sysimage
    mount -o bind /dev /mnt/sysimage/dev
    mount -o bind /selinux /mnt/sysimage/selinux
    mount -t proc none /mnt/sysimage/proc
    mount -t sysfs none /mnt/sysimage/sys
    chroot /mnt/sysimage

Todas las acciones siguientes deben realizarse dentro del sistema "jaula" (chrooted).

  1. Crear /etc/mdadm.conf:

    mdadm --examine --scan > /etc/mdadm.conf
  2. Editar el /etc/mdadm.conf resultante, cambiando /dev/md0 a /dev/md_d0.

  3. Editar /etc/fstab, reemplazando todas las directivas de montado que usen LABEL= por nombres de dispositivo explícitos, como /dev/md_d0p1, /dev/md_d0p2, ...

  4. Editar /etc/grub.conf, reemplazando root=LABEL=... por root=/dev/md_d0p1 (o la partición que corresponda para su configuración).

  5. Ahora debe corregir el script mkinitrd. Descargue el parche (patch) desde esta página y haga lo siguiente:

    cd /sbin
    cp mkinitrd mkinitrd.dist
    patch -p0 < /tmp/mkinitrd-md_d0.patch

    Vea el correspondiente [http://bugs.centos.org/view.php?id=3566 informe de error (bug report)] para mayor detalle.

  6. Deshabilite la actualización de mkinitrd por yum, agregando

    exclude=mkinitrd*

    al archivo /etc/yum.conf.

  7. Construya la nueva imagen initrd:

    cd /boot
    mv initrd-2.6.18-128.el5.img initrd-2.6.18-128.el5.img.bak
    mkinitrd /boot/initrd-2.6.18-128.el5.img 2.6.18-128.el5
  8. Ahora lo único que resta es verificar periódicamente /proc/mdstat para ver si el RAID etá siendo reconstruido. Cuando termine el proceso de reconstrucción, ya puede rebootear el sistema con seguridad.

  9. Opcionalmente, puede redimensionar la última partición del RAID para recuperar el espacio sin particionar restante.

Si en algún momento posterior necesita actualizar el paquete mkinitrd, y aún no ha sido corregido el bug de la detección del RAID particionable, necesitará volver a aplicar el parche al mkinitrd y recrear el initrd luego de la actualización.


2023-09-11 07:23