1. INSTALACIÓN DE LINUX SLACKWARE EN VOLUMEN LÓGICO SOBRE RAID.
RAID. Definición
En informática, el acrónimo RAID (del inglés Redundant Array of Independent Disks, «conjunto
redundante de discos independientes») hace referencia a un sistema de almacenamiento que usa
múltiples discos duros entre los que distribuye o replican los datos. Dependiendo de su
configuración (a la que suele llamarse «nivel»), los beneficios de un RAID respecto a un único
disco son uno o varios de los siguientes: mayor integridad, mayor tolerancia a fallos, mayor
throughput (rendimiento) y mayor capacidad.
Un RAID 1 crea una copia exacta (o espejo) de un conjunto de datos en dos o más discos. Esto
resulta útil cuando el rendimiento en lectura, y la seguridad, son más importantes que la capacidad.
Un conjunto RAID 1 sólo puede ser tan grande como el más pequeño de sus discos. Un RAID 1
clásico consiste en dos discos en espejo, lo que incrementa exponencialmente la fiabilidad respecto
a un solo disco; es decir, la probabilidad de fallo del conjunto es igual al producto de las
probabilidades de fallo de cada uno de los discos (pues para que el conjunto falle es necesario que
lo hagan todos sus discos). En este manual mostraremos como instalar un sistema slackware en un
RAID1.
También es importante distinguir entre los diferentes tipos de RAID que podemos utilizar:
• Hardware: El manejo de los discos es realizado por el hardware del equipo, de manera que
al sistema operativo se le ofrece un único disco, pudiendo ser en realidad cualquier tipo de
RAID manejado por el hardware del equipo. Es fundamental que el sistema operativo cuente
con los drivers necesarios para poder manejar la controladora RAID por hardware. Por
ejemplo, si en un servidor tenemos tres discos y creamos un RAID5 por hardware, si
instalamos un sistema operativo capaz de manejar la controladora de RAID, este vera un
único disco de 2GB que podremos particionar, formatear y utilizar como creemos oportuno,
contando siempre con la seguridad y el rendimiento que nos ofrece el RAID5 que da soporte
a dicho disco.
• Software: Es el propio sistema operativo el que maneja por software el RAID. Las ventaja
son que podemos realizar RAID con particiones en lugar de discos completos, y que no
necesitamos drivers específicos para el manejador hardware. La desventaja es que hay un
consumo de recursos del sistema para realizar la gestión del sistema RAID.
2. Creación del RAID.
Para este manual realizaremos una instalación del sistema operativo en un RAID1 por software
sobre dos particiones. Tenemos dos discos duros de una capacidad de 5 Gb con los cuales vamos a
crear un RAID-1. Para ello tenemos que crear dos particiones del mismo tamaño (requisito de
RAID-1), ya que se va a realizar un espejo entre el contenido de ambas. De esta manera
conseguiremos mayor seguridad en los datos en caso de que uno de los discos falle, y duplicar la
velocidad de lectura del disco.
Para comenzar tendremos que crear las particiones en nuestros discos duros para este proceso
utilizaremos el comando fdisk /dev/sda, para el primer disco y fdisk /dev/sdb para el segundo. Una
vez que nos encontremos en la tabla de particiones crearemos una única partición con todo el
espacio que tengamos y del tipo LINUX RAID AUTODETECT, del mismo modo realizaremos este
proceso para el segundo disco.
Creación del RAID.
Una vez creadas las dos particiones en diferentes discos, pasamos a crear el RAID. Para crear el
RAID utilizamos el comando mdadm con la siguiente sintaxis:
3. Así creamos un RAID 1 llamado md0 (/dev/md0) que contiene las particiones de los dos discos
(/dev/sda1 y /dev/sdb1).
Podemos ver el estado del raid ejecutando el comando mdadm con los siguientes parámetros:
Una vez creado el raid, podríamos instalar el sistema directamente en el, pero por las ventajas
que ofrecen los volúmenes lógicos (posibilidad de realizar capturas de estado, y redimensionar
volúmenes) crearemos un volumen lógico sobre el RAID1 para realizar la instalación.
LVM (Logical Volume Manager).
LVM es una implementación de un administrador de volúmenes lógicos para el kernel Linux. LVM
incluye muchas de las características que se esperan de un administrador de volúmenes, incluyendo:
• Redimensionado de grupos lógicos
• Redimensionado de volúmenes lógicos
• Instantáneas de sólo lectura (LVM2 ofrece lectura y escritura)
• RAID0 de volúmenes lógicos
Al poder extender un volumen lógico a través de varias particiones por diferentes discos, LVM
realiza un RAID0 de dichas particiones. LVM no implementa RAID1 o RAID5, por lo que se
recomienda usar software específico de RAID para estas operaciones, teniendo las LV por encima
del RAID. En nuestro caso realizaremos los volúmenes lógicos sobre un RAID 1.
Conceptos principales de un LVM:
• Un LVM se descompone en tres partes:
• Volúmenes físicos (PV): son los discos duros, particiones o cualquier otra "cosa" que
parezca un disco duro (por ejemplo, un RAID 1 denominado /dev/md0)
• Volúmenes lógicos (LV): es el equivalente a una partición en un sistema tradicional.
El LV es visible como un dispositivo estándar de bloques, por lo que puede contener
un sistema de archivos.
4. • Grupos de volúmenes (VG): es la parte superior de la LVM. Es la "caja" en la que
tenemos nuestros volúmenes lógicos (LV) y nuestros volúmenes físicos (PV). Se
puede ver como una unidad administrativa en la que se engloban nuestros recursos.
Hay que hacer notar que mientras un PV no se añada dentro de un VG, no podemos
comenzar a usarlo.
La idea es crear un volumen físico, un grupo de volúmenes, añadir el volumen físico al grupo de
volúmenes, y crear volúmenes lógicos sobre el grupo de volúmenes.
Creación del PV.
El primer paso será crear un volumen físico con el RAID1. Para ello ejecutaremos el comando
pvcreate indicándole el recurso a utilizar.:
Creación del VG.
Como vimos anteriormente, para poder utilizar un volumen físico, este debe de estar en un grupo de
volúmenes. Además, el grupo de volúmenes es necesarios para la utilización de los volumenes
lógicos, ya que funciona como contenedor de los mismos.
Este proceso lo realizamos con el comando vgcreate, indicándole el nombre del grupo de
volúmenes, y los volúmenes físicos que queramos añadir, en este caso solamente /dev/md0.
5. A continuación, podemos verificar con el comando vgdisplay que el volumen se ha creado, y el
tamaño disponible para crear volumenes lógicos.
Creación de los LV.
Para poder utilizar la capacidad de almacenamiento que tenemos dentro de un grupo de volúmenes
físicos, debemos crear volúmenes lógicos. Crearemos un único volumen lógico que ocupara todo el
espacio disponible.
Este proceso lo realizaremos mediante el siguiente comando:
Con el parámetro -L podremos indicar el tamaño en Megas, Gigas o Teras, pero con -l podemos
indicarle que utilice todo el espacio disponible en el VG especificado como un porcentaje.
También le indicamos con el parámetro -n el nombre del volumen lógico, y a continuación el
grupo de volúmenes de donde obtendremos la capacidad de almacenamiento (PV) en el que
se guardara el nuevo volumen lógico (LV). Podemos comprobar con el comando lvdisplay, o lvs
todos los volúmenes lógicos disponibles.
6. Instalación del sistema
Durante la instalación del sistema, a la hora de elegir una partición como raíz del sistema,
podremos elegir entre el raid1 y el volumen lógico. Escogeremos el volumen lógico, y no
utilizaremos el raid1 ya que este en realidad es un volumen físico sobre el que se sustenta el
volumen lógico raíz.
El resto de instalación se realizara como siempre hasta que lleguemos a la instalación del lilo,
en la cual se producirán errores a la hora de instalar el lilo de modo simple en la mbr. Estos
errores se corregirán a continuación.
Configuración del arranque.
Una vez que hemos terminado de instalar el sistema, debemos configurar el sistema de
arranque. Tras salir del script setup de instalación, podemos observar como la raíz del sistema
instalado se encuentra en la carpeta /mnt. Cambiaremos la raíz actual mediante el comando
chroot. A continuación crearemos un initrd.
Un initrd es un sistema de archivos temporal cargado en memoria RAM usado por el núcleo
Linux durante el arranque del sistema. Es usado típicamente para hacer los arreglos utilizando
las herramientas necesarias para que el sistema de archivos raíz pueda ser montado. En otras
palabras, el initrd contara con los drivers necesarios para poder montar la partición raíz cuando
el nucleo del sistema no puede llevarlos integrados. En nuestro caso, es necesario por el uso
de volumenes lógicos, ya que el núcleo si que puede llevar el driver de RAID1 como parte del
mismo.
Para crearlo utilizaremos el siguiente comando:
7. Le indicamos al sistema que cree un initrd utilizando las librerías del kernel actual (con el que
arrancaremos), con soporte para el sistema de ficheros xfs, para Raid (-R) y volúmenes lógicos
(-L).
Una vez creado el initrd (se crea en la carpeta /boot), modificaremos el fichero /etc/lilo.conf. En
dicho fichero debemos modificar el dispositivo de arranque, y agregar una línea para indicarle
a lilo que arrancaremos desde un raid:
A continuación, al final del fichero, modificamos la configuración para el arranque del sistema
(o agregamos en caso de que el instalador no escribiese nada de configuración).
Cabe destacar la linea de initrd donde indicaremos la ubicación del initrd.gz creado en el paso
anterior, y el root, donde indicamos el VL desde el que arrancaremos.
Para finalizar, guardamos el fichero, ejecutamos lilo (mostrara varios warnings), ejecutamos
exit para salir del chroot, y reiniciaremos el equipo. Si todo ha salido bien, el equipo arrancara
sin problemas, en caso contrario, es posible que se quede bloqueado en el initrd sin lograr
montar la raíz del sistema.