INCOMPLETO/OBSOLETO Procedimiento para la configuración de un volumen RAID (en este caso RAID5) por Software (sin controladora RAID física) en Linux (Kubuntu 7.10 Gutsy Gibbon)

Aunque incompleto o no válido del todo lo dejo para que sirva de orientación sobre lo que hay que hacer.

En primer lugar hay que preparar las particiones que vayamos a utilizar para formar el volumen RAID5 (por lo menos 3). Puesto que se trata de una implementación por software tengo entendido, aunque no lo he probado, que se podría hasta utilizar más de una partición de un mismo disco físico, aunque esto sólo tendría lógica para realizar pruebas pues en caso de fallo de un disco que aloje más de una partición participante en el volumen RAID5 perderíamos la información del volumen.

Si necesitamos crear la partición en el disco utilizaremos fdisk:

$ sudo fdisk /dev/sda
El número de cilindros para este disco está establecido en 14946.

No hay nada malo en ello, pero es mayor que 1024, y en algunos casos

podría causar problemas con:

1) software que funciona en el inicio (p.ej. versiones antiguas de LILO)

2) software de arranque o particionamiento de otros sistemas operativos

   (p.ej. FDISK de DOS, FDISK de OS/2)Orden (m para obtener ayuda): n

Acción de la orden

e   Partición extendida

   p   Partición primaria (1-4)

p

Número de partición (1-4): 1

Primer cilindro (1-14946, valor predeterminado 1):

Se está utilizando el valor predeterminado 1

Último cilindro o +tamaño o +tamañoM o +tamañoK (1-14946, valor predeterminado 14946): +17408M

Orden (m para obtener ayuda): p

Disco /dev/sda: 122.9 GB, 122942324736 bytes

255 cabezas, 63 sectores/pistas, 14946 cilindros

Unidades = cilindros de 16065 * 512 = 8225280 bytes

Disk identifier: 0x25312531

Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema

/dev/sda1               1        2117    17004771   83  Linux

Orden (m para obtener ayuda): t

Se ha seleccionado la partición 1

Código hexadecimal (escriba L para ver los códigos): fd

Se ha cambiado el tipo de sistema de la partición 1 por fd (Linux raid autodetect)

Orden (m para obtener ayuda): p

Disco /dev/sda: 122.9 GB, 122942324736 bytes

255 cabezas, 63 sectores/pistas, 14946 cilindros

Unidades = cilindros de 16065 * 512 = 8225280 bytes

Disk identifier: 0x25312531

Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema

/dev/sda1               1        2117    17004771   fd  Linux raid autodetect

Orden (m para obtener ayuda): w

¡Se ha modificado la tabla de particiones!

Llamando a ioctl() para volver a leer la tabla de particiones.

Se están sincronizando los discos.

$

He elegido 17408 Mb como tamaño porque en uno de los discos a utilizar solo tengo eso disponible. Con la orden t se especifica el identificador de la partición, el valor hexadecimal fd representa el tipo «Linux raid autodetect».

De igual modo crearemos otras dos particiones o estableceremos su identificador de tipo a fd en el caso de que ya exista la partición.

En mi caso, debido a que las otras particiones que voy a incluir en el volumen RAID se encontraban en discos que contenían otras particiones utilizadas por el sistema, al escribir la tabla de particiones obtenía el siguiente mensaje:

¡Se ha modificado la tabla de particiones!
Llamando a ioctl() para volver a leer la tabla de particiones.
ATENCIÓN: La relectura de la tabla de particiones falló con el

error 16: Dispositivo ó recurso ocupado.

El núcleo todavía usa la tabla antigua.

La nueva tabla se usará en el próximo reinicio.

Se están sincronizando los discos.

Por lo que tuve que reiniciar el sistema.

El comando partprobe puede hacer que el núcleo actualice su tabla de particiones, evitando tener que reiniciar.

$ sudo partprobe

Una vez reiniciado el sistema con disponibles las tres particiones tipo fd (Linux raid autodetect) se instala el paquete mdadm:

 $ sudo apt-get install mdadm

A continuación creamos el volumen RAID, le llamaré /dev/md0, será un volumen RAID5, por tanto selecciono nivel 5 y puesto que lo monto sobre 3 particiones (podrían ser más pero no menos para el nivel 5) indico el número de dispositivos y el nombre de cada uno de ellos:

$ sudo /sbin/mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 \
	 /dev/hda2 /dev/sda1 /dev/sdb2

Ahora tenemos que crear una partición:

$ sudo fdisk /dev/md0
El dispositivo no contiene una tabla de particiones DOS válida ni una etiqueta de disco Sun o SGI o OSF
Building a new DOS disklabel with disk identifier 0xcb76e3ca.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
El número de cilindros para este disco está establecido en 8502336.
No hay nada malo en ello, pero es mayor que 1024, y en algunos casos
podría causar problemas con:
1) software que funciona en el inicio (p.ej. versiones antiguas de LILO)
2) software de arranque o particionamiento de otros sistemas operativos
   (p.ej. FDISK de DOS, FDISK de OS/2)
Atención: el indicador 0x0000 inválido de la tabla de particiones 4 se corregirá mediante w(rite)
Orden (m para obtener ayuda): n
Acción de la orden
e   Partición extendida
   p   Partición primaria (1-4)
p
Número de partición (1-4): 1
Primer cilindro (1-8502336, valor predeterminado 1):
Se está utilizando el valor predeterminado 1
Último cilindro o +tamaño o +tamañoM o +tamañoK (1-8502336, valor predeterminado 8502336):
Se está utilizando el valor predeterminado 8502336
Orden (m para obtener ayuda): w
¡Se ha modificado la tabla de particiones!
Llamando a ioctl() para volver a leer la tabla de particiones.
ATENCIÓN: La relectura de la tabla de particiones falló con el
error 22: Argumento inválido.
El núcleo todavía usa la tabla antigua.
La nueva tabla se usará en el próximo reinicio.
Se están sincronizando los discos.

Reiniciamos de nuevo.

Dejar una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Puedes utilizar estas etiquetas y atributos HTML:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.