viernes, 19 de abril de 2013


Al igual que en los últimos 3 años por estas fechas, toca meterse en serio con el mantenimiento de la red y de los servidores.

Una de las tareas a realizar es hacer una nueva instalación de todo el software en una maquina virtual con slackware 14.  Una vez que este todo listo (servicios de squid, dns dhcp, moodle... etc) habrá que clonarlo para después ser restaurado en un volumen lógico sobre un RAID 1 en la maquina real. Casi nada... vamos a ver como hacerlo con la ayuda del indispensable DRBL y del disco de instalación de Slackware.

1) Creación de la imagen:

Una vez arrancado el sistema DRBL abrimos la terminal, nos pasamos a root con "sudo su" y , montamos la partición donde vamos a almacenar la imagen del sistema a clonar en la carpeta /home/partimag (disco usb externo o ubicación de red).  La partición sda1 en la partición / del sistema que deseamos clonar. En lugar de utilizar el asistente de clonezilla, utilizamos el siguiente comando para clonar la partición sda1 formateada en xfs: "partclone.xfs -s /dev/sda1 -o /home/partimag/sda1-xfs.img -c". Con esto tenemos la imagen en dicho archivo.

2) Creación del RAID1 + LVM.

De forma similar a lo explicado en este manual de instalación, tendremos que preparar el almacenamiento en el servidor. Ya que vamos a utilizar un RAID1, es necesario tener instalados dos discos físicos (sda y sdb). Arrancamos con DRBL e iniciamos la consola. Tras situarnos como root particionamos los discos creando particiones iguales con etiqueta fd. El tamaño de las particiones no será el del disco completo, dejaremos unos megas de espacio libre al final para evitar un bug (apartado 11 en el enlace) que dice lo siguiente:

11. mdadm warns about duplicate/similar superblocks; what gives?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  In certain configurations, especially if your last partition extends all the
  way to the end of the disk, mdadm may display a warning like:

    mdadm: WARNING /dev/hdc3 and /dev/hdc appear to have very similar
    superblocks. If they are really different, please --zero the superblock on
    one. If they are the same or overlap, please remove one from the DEVICE
    list in mdadm.conf.

  There are two ways to solve this:

  (a) recreate the arrays with version-1 superblocks, which is not always an
      option -- you cannot yet upgrade version-0 to version-1 superblocks for
      existing arrays.

  (b) instead of 'DEVICE partitions', list exactly those devices that are
      components of MD arrays on your system. So in the above example:

        - DEVICE partitions
        + DEVICE /dev/hd[ab]* /dev/hdc[123]

Dicho bug sucede con los metadatos versión 0.90 de mdadm utilizados para poder arrancar desde el gestor lilo.

En la siguiente imagen podemos ver las particiones, sda1 y sdb2 serán las utilizadas para el raid, y sdc1 es la que contiene el archivo de la imagen a restaurar.

A continuación creamos el raid y el LVM siguiendo los pasos de la entrada anterior, salvo por el parámetro de los metadatos.


3) Restauración de la imagen.

Restauramos la imagen desde sdc1 al lvm raiz con la utilidad partclone.xfs. Al finalizar ya podemos apagar la máquina, para configurar el arranque utilizaremos el DVD de instalación de Slackware.


4) Configuración del arranque.

Para arrancar la maquina con la imagen restaurada, tendremos que crear un initrd con soporte raid y lvm, configurar el archivo /etc/fstab, y configurar e instalar el gestor de arranque lilo. Comenzamos¡.

En primer lugar, nada más arrancar, activamos el volumen lógico con el comando "vgchange -a y". A continuación lo montamos en /mnt, hacemos un cambio de raíz y creamos el initrd. Nos da un error al no tener una tabla de particiones valida, pero lo solucionamos copiando el archivo /proc/partitions del sistema operativo de instalación.

A continuación, modificamos el archivo /etc/fstab, modificando /dev/sda1 por /dev/volumen/raiz. Tras ello, editamos el archivo /etc/lilo.conf, modificando la linea boot=/dev/sda por boot=/dev/md0 y añadiendo a continuación "raid-extra-boot = mbr-only". A continuación, al final del fichero lo editamos para que quede de la siguiente manera.

 Guardamos el fichero, salimos del chroot e instalamos linux con el archivo de configuración creado.

Reiniciamos la maquina y... voila¡.

Para terminar, podemos redimensionar el sistema de archivos xfs al tamaño que queramos. En mi caso, el lvm raiz es de 110 GB, utilizamos el comando xfs_growfs con el parametro -D y el número de bloques de 4096 a incrementar. Si queremos ocupar todo el volumen, no necesitamos realizar calculos, introducimos un valor enorme y nos dara un error indicando el máximo.


 

0 comentarios: