PDF de programación - Linux: Instalar el sistema de ficheros raíz sobre RAID

Imágen de pdf Linux: Instalar el sistema de ficheros raíz sobre RAID

Linux: Instalar el sistema de ficheros raíz sobre RAIDgráfica de visualizaciones

Actualizado el 25 de Marzo del 2020 (Publicado el 9 de Marzo del 2018)
335 visualizaciones desde el 9 de Marzo del 2018
30,1 KB
5 paginas
Creado hace 14a (20/07/2005)
Linux: Instalar el sistema de ficheros raíz sobre RAID

Linux: Instalar el sistema de ficheros raíz sobre RAID

Martes 18 de enero de 2005

Enviado por Pablo Iranzo Gómez

Si queremos implementar un disco espejo en el sistema raíz, nos encontramos con que muchas distribuciones no están
preparadas, siendo un incordio tener que prepararlas para esta finalidad... con este artículo veremos cómo conseguirlo.

RAID, son las siglas de Redundant Array of Inexpensive Disks, es decir, Matriz redundante de discos baratos.

Los raid tienen varios niveles, aunque los más extendidos son los linear, 0, 1, 0+1, 1+0 ó 5.

Cada sistema de raid tiene sus ventajas y sus inconvenientes y deberemos escoger el más adecuado a la finalidad que le
queramos aportar:

Nivel
RAID

Nombre

Ventajas

Ðesventajas

Descripción extendida

linear

linear

Permite unir varios discos
en uno mayor, en caso de
fallo permite recuperar
datos al estar los datos a
continuación como si cada
disco fuera una parte de un
disco mayor

No proporciona
incrementos de
velocidad

0

Stripped
(bandas)

Permite unir varios discos
en uno mayor, aumenta la
velocidad de lectura de los
datos (se leen datos a la
vez de varios discos)

En caso de fallo de
un disco, no es
posible recuperar
los datos

1

Espejo/mirror

En caso de fallo fisico de
un disco, los datos no se
han perdido, pues existe
una copia idéntica en el
otro

Pierde el 50% del
espacio

Este sistema permite que uniendo discos más
asequibles (por ejemplo hoy en día varios
discos de 160Gb son mucho más baratos que
un sistema de almacenamiento de 1Tb). Estos
discos se unen todos entre sí y permiten
formar discos de mayor tamaño que de otra
forma resultaría imposible
Este sistema, al igual que el linear, permite
unir muchos discos, pero va grabando
alternativamente los datos en cada disco, de
forma que la escritura se realiza a velocidad
normal, pues debe escribir en cada disco por
separado, pero a la hora de realizar la lectura,
como se leen datos de varios discos a la vez,
la velocidad es mucho mayor
Este sistema popular porque permite tener
copias exactas de los datos en caso de fallo
mecánico del disco, tiene el gran
inconveniente de ser lento escribiendo y
leyendo (funciona como si hubiera un único
disco) y que si se utilizan dos discos de 160
Gb, sólo estarán disponibles para su uso
160Gb, ya que los otros 160 serán una copia
idéntica del otro disco

Codificación de
corrección de
errores

Separa los datos a nivel de
bits en lugar de a nivel de
bloques

Raramente
utilizado

2

1/5

Linux: Instalar el sistema de ficheros raíz sobre RAID

Aporta posibilidades extra
de seguridad, pero en caso
de fallo simultáneo de dos
discos los datos se pierden

Accesos muy
lentos

graba los datos separados en dos discos y un
tercer disco extra donde almacena los datos de
paridad, que pueden utilizarse para reconstruir
cualquiera de los otros dos discos en el caso
de que falle sólo uno

Parecido al nivel 3

Los datos se almacenan distribuidos entre tres
discos, grabando en uno de ellos los datos de
paridad, de forma que puede reconstruirse en
caso de fallo de un solo disco

Se crean dos conjuntos de bandas y encima de
ellas se crea un espejo

Se crean muchos conjuntos espejos y luego se
crean conjuntos de bandas sobre ellos

Puede crear cuellos
de botella
En caso de fallo
simultánteo de dos
discos se pierden
los datos, requiere
al menos tres
discos
Es menos fiable
que el 1+0 por lo
que se utiliza
menos
Requiere muchos
discos

Paridad

Disco paridad
dedicado

Paridad
distribuida en
bloques

bandas a nivel de bloque

Gran rendimiento y
bastante tolerante a fallos

Espejo de
bandas

Permite un acceso rápido a
los datos

Bandas de
espejo

Es de los más extendidos
por ser fiable y rápido

3

4

5

0+1

1+0

En el kernel de Linux tenemos soporte para algunos tipos de RAID, en la carpeta /lib/modules/verkernel/drivers/md/
podremos ver los que soporta.

Para utilizar el soporte de dispositivos múltiples (Multiple Devices: MD), la forma más sencilla de empezar, es definir
las particiones del sistema de antemano y tener clara la estructura de RAID a montar.

A partir de este punto tenemos tres posibilidades:

Utilizar la instalación manual del sistema (hablaré de Debian y su debootstrap)
Utilizar los nuevos instaladores de Debian (válido para Ubuntu)
Convertir un sistema en ejecución a sistema raid raíz

Instalación manual del sistema

En este caso, lo más cómodo consiste en arrancar con un Live CD como Knoppix y definir las particiones.

Dentro de fdisk deberemos establecer el tamaño de las particiones en cada uno de los discos y luego cambiarles el tipo a
LINUX RAID AUTODETECT (tipo fd).

Una vez definidas todas, crearemos el fichero /etc/raidtab:

raiddev /dev/md0
raid−level 1
nr−raid−disks 2
chunk−size 64k
persistent−superblock 1
nr−spare−disks 0
device /dev/hda2
raid−disk 0
device /dev/hdc2

2/5

Linux: Instalar el sistema de ficheros raíz sobre RAID

raid−disk 1

raiddev /dev/md1
raid−level 0
nr−raid−disks 2
chunk−size 64k
persistent−superblock 1
nr−spare−disks 0
device /dev/hda3
raid−disk 0
device /dev/hdc3
raid−disk 1

En este caso, definimos dos unidades raid, en base a dos discos duros, la primera, md0, es un raid de nivel 1 (espejo),
formado por dos particiones, con un tamaño de bloques de 64 kb, con superbloque persistente y sin discos de reserva, a
continuación definimos el orden de los dispositivos y el disco que representan.

En el segundo caso, definimos un raid de bandas con dos discos y sin discos de reserva.

Para poder hacerlo, las particiones hda2, hdc2 deben tener el mismo tamaño y estar especificadas como tipo de partición
"fd" en fdisk, a su vez, hda3 y hdc3 deben estar definidas como tipo "fd", pero el tamaño no importa ya que se une para
crear una unidad mayor.

Una vez creado el archivo y salvado, podemos ejecutar las órdenes:

1.
2.
3.
4.

mkraid /dev/md0
mkraid /dev/md1
mkfs.ext3 /dev/md0
mkfs.ext3 /dev/md1

y a partir de ese momento, utilizar debootstrap tras montar las particiones:

1.
2.
3.
4.

mount /dev/md0 /target
mkdir /target/home
mount /dev/md1 /target/home
debootstrap woody /target (es necesario haber iniciado previamente el bind en el cd de la knoppix)

En este proceso de instalación se descargarán los paquetes y a continuación se instalarán utilizando un chroot.

En la página http://linuxcordoba.org/node/view/19 tenéis una pequeña guía de cómo hacer la instalación entera.

Como últimos pasos, deberemos definir en el fstab que /dev/md0 es el dispositivo raíz, así como instalar los paquetes
raidtools o raidtools2 y generar el initrd de nuevo para que soporte el raid (editando el mkinitrd.conf podemos
especificar cúal será la partición raíz), también deberemos modificar el lilo.conf para adaptarlo a esta situación.

Es conveniente añadir a lilo la siguiente opción: raid−extra−boot=mbr, con ella conseguimos que lilo instale su código
de arranque en el MBR de cada uno de los discos implicados en el RAID... (en algunas máquinas ha sido un verdadero
quebradero de cabeza el conseguir que arrancara bien, hasta por un lado utilizar el kernel 2.6.10 (para soporte de SATA
de NVIDIA) y por otro activar esta opción para que escribiera el MBR de ambos discos a la vez.

Para generar de nuevo el initrd, deberemos ejecutar mkinitrd −o /boot/initrd.img−`uname −r` /lib/modules/`uname −r`

3/5

Linux: Instalar el sistema de ficheros raíz sobre RAID

Tras el primer reinicio correcto arrancando desde el sistema raid, podremos quitar la línea ROOT=/dev/md0 del
mkinitrd.conf y dejarlo en su predeterminada (PROBE).

Instalación usando el nuevo instalador de Debian

Con el nuevo instalador de debian, es posible, durante la fase de particionado definir particiones para raid, e incluso
definir los raids, pero, al menos con Ubuntu, se informa de que no será posible arrancar el sistema si se instala así el
sistema operativo...

La solución consiste en hacer caso omiso y proseguir, una vez acabada la instalación y antes de reiniciar, accederemos
al disco donde hemos instalado (estará montado en una carpeta porque se ha hecho la instalación).

En dicho paso, deberemos instalar el lilo, configurar el lilo.conf y adaptar el mkinitrd.conf para indicarle que usaremos
raid.

Deberemos ejecutar mkinitrd como en el paso anterior:

mkinitrd −o /boot/initrd.img−$verkernel /lib/modules/$verkernel

Al finalizar la instalación y reiniciar, podremos cambiar al formato original el mkinitrd.conf, ya que Linux reconocerá
que para poder montar el sistema raíz le hace falta el soporte para raidtools.

Migración en vivo de un sistema en ejecución

Esta parte requiere un par de reinicios del sistema en ejecución, pero permite llevar a cabo la mayor parte de la faena sin
dejar de estar operativo (y por lo tanto, permite realizarlo remotamente sin excesivos riesgos).

Una vez añadido el segundo disco que utilizaremos para el RAID, procederemos a definir las particiones como
consideremos adecuado y a definir el raidtab.

Suponiendo que el disco original es hda y el segundo disco instalado es hdc, crearemos un raidtab como el que sigue:

raiddev /dev/md0
raid−level 1
nr−raid−disks 2
chunk−size 64k
persistent−superblock 1
nr−spare−disks 0
device /dev/hda2
failed−disk 0
device /dev/hdc2
raid−disk 1

De esta forma, indicamos al sistema que el sistema RAID estará formado por dos discos, sin discos de repuesto y que
uno de los discos ha fallado (el que actualmente todavía tiene datos), de forma que raidtools creará el RAID sólo con el
segundo disco.

Crearemos el raid con:

mkraid /dev/md0 y luego formatearemos la nueva unidad con mkfs.ext3 /dev/md0

4/5

Linux: Instalar el sistema de fichero
  • Links de descarga
http://lwp-l.com/pdf9364

Comentarios de: Linux: Instalar el sistema de ficheros raíz sobre RAID (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad