- Necesitaremos 1 sistema operativo Linux (En mi caso Ubuntu Server)
- Añadiremos 4 discos independientes del mismo tamaño a la máquina virtual.
Instalación de Linux y configuración de máquina virtual han sido vistas en anteriores entradas.
Con el SO Ubuntu
Y los 4 discos vacíos del mismo tamaño
Vamos a iniciar el sistema operativo para proceder a la configuración.
- Abrimos el terminal, como consejo realizaremos todo el proceso como root para más comodidad.
- Para cambiar a root: $ su root
- Para crear nuestro RAID hay que instalar el programa "mdadm". Para ello ejecutamos el siguiente comando:
- $ sudo apt-get install mdadm
OJO! nos pedirá que instalemos el servidor de correo postfix. seleccionamos la opción sin configuración .
- Vamos a comprobar el disco que contiene los datos con el comando:
- $ fdisk -l /dev/sda
- Comprobamos que los discos han sido reconocidos por el sistema con el comando:
- $ fdisk /dev/sd (mis discos son SATA)
- $ fdisk /dev/hd (en caso de ue vuestros discos sean IDE)
- NOTA: No den INTRO despues de TECLEAR, utilicen tabulador y saldran los discos. De lo contrario no se mostrará nada en consola.
Vemos que: sdb, sdc, sdd y sde son los 4 discos que insertamos y están reconocidos por el sistema.
- Ahora cogemos cada 1 de nuestros discos (sdb, sdc, sdd, sde) y le creamos una partición sin formato. Para ello utilizaremos el comando:
- $ fdisk /dev/sdb
- Esta vez si pulsamos INTRO para que entre en el programa.
Tecleamos m para entrar en la ayuda
INTRO
Tecleamos n para añadirlo como partición
INTRO
Tecleamos p para elegirlo como partición primaria
INTRO
Tecleamos "1" INTRO
Despues "m" INTRO
Tecleamos t
INTRO
Tecleamos "l" INTRO
Tecleamos da
INTRO
Tecleamos w para guardar y salir
INTRO
- NOTA: Este comando y proceso habrá que efectuarlo para cada 1 de los discos.
- $ fdisk /dev/sdc
- $ fdisk /dev/sdd
- $ fdisk /dev/sde
- Vamos a comprobar los discos y las particiones, así nos aseguramos que hemos hecho bien los pasos anteriores. Para eso utilizamos de nuevo el comando:
- $ fdisk /deb/sda (NO intro, varias tabulaciones)
- Vamos a crear por fin el Raid, antes de indicaros la línea de comando, os voy a mostrar las opciones que vamos a utilizar en el:
- -- verbose (Muestra información sobre la creación del Raid)
- --create (Indica el punto de montaje de nuestro Raid)
- --level= (Indica el nivel de Raid, 0, 1, 5...)
- --raid-devices= (Numero de discos que usará el Raid y el punto de montaje de cada uno)
- Ahora si la línea de comando a introducir es:
- sudo mdadm --verbose --create /dev/md0 --level=5 --raid-devices=4 /dev/sdc1 /dev/sdd1 /dev/sde1
seleccionamos partición primaria
con valor prdetermiando 1, igual que en el anterior paso.
tecleamos "t" y elegimos el 83
Seguidamente tecleamos "W" para guardar
- Ahora daremos formato ext4 a la partición con el comando.
- mkfs.ext4 /dev/md0p1
- Lo siguiente es realizar una operación para indicarle a nuestro sistema que cuando arranque siga reconociendo al volumen como "md0" de lo contrario reconocerá el volumen por defecto. Esto ocurre sólo e versiones de Ubuntu 12. Lo solucionamos con el comando:
- mdadm --detail --scan >> /etc/mdadm/mdadm.conf
- Vamos a avisar al núcleo, dicho en resumen, de la existencia de "mdadm.conf" con el comando:
- update/initramfs -u
- Para hacer uso de nuestro Raid 5 hay que indicarle un punto de montaje.
Creamos una carpeta en home.
Con el comando de la imagen lo montamos en la carpeta creada.
- Vamos a comprobar que nuestro Raid esta funcionando con los discos sincronizados.
- mdadm --detail /dev/md0p1
- Para obtener información detallada (Fabricante, Serial Number, etc) sobre los discos físicos que se ocultan detrás del RAID es necesario usar las smartmontools.
- sudo apt-get install smartmontools
- Una vez instalado el paquete necesitaremos acceder al sistema como Root y ejecutar en terminal el siguiente comando:#smartctl -parametroDonde parametro seria, por ejemplo:#smartctl -i Nos muestra la informacion SMART de nuestro disco duro.#smartctl -A Nos muestra los diferentes parametros en el Disco.#smartctl -t Ejecuta un test al disco duro, necesita un parametro adicional como puede ser long. (Lease #smartctl -t long) Esto nos hara el analisis , aunque no mostrara el progreso en pantalla, sino que nos mostrara el tiempo estimado de duracion del analisis en minutos.Si necesitas detener el analisis por alguna razon solo teclea:#smartctl -XExisten mas parametros de ejecucion de la herramienta, aunque aqui solo expongo las mas utilizadas.
Dicho esto vamos a proceder a "curarnos en salud" introduciendo un disco duro digamos de recambio en caso de que se rompa algún disco inesperadamente, a este disco de recambio se le llama "spare"(disco duro de espera).
El procedimiento a seguir dicho esto, será insertar el "spare", con el comando mdadm.
- Guardaremos algun dato con el raid 5 ya funcionando
- Simularemos la rotura de un disco
- Recuperaremos el disco con el "spare"
- Comprobaremos que los datos están bien
- Para insertar un nuevo disco lo agregamos a la máquina virtual,(recordamos que tiene que tener el mismo tamaño que los demas)
- Observamos como ha reconocido el disco
- Pasamos a darle la particion igual que a los demas discos
- Comprobamos que el particionado sea el correcto
- Añadimos el disco spare a md0p1 con el comando:
- Comprobamos el Raid para asegurarnos de la incorporación del spare
- Creamos un archivo para ver como es recuperado proximamente.
- Apagamos el pc y quitamos un disco
Vemos como he quitado el 3.vdi
- Iniciamos y ya nos comunican que un disco del Raid esta roto, marcamos yes y INTRO
- Con este comando miramos la situación del Raid
Vemos la rotura de disco y el spare funcionando
- Comprobamos el fichero que hicimos antes..
Hasta la próxima
En caso de rotura de disco:
- sudo mdadm --stop /dev/md0 (con esto dejamos inactivo el raid )
- Agregamos un disco de sustitución.
- sudo mdadm --assemble --scan (para activar de nuevo el raid)
Hay que decir que podemos probar que pasaría con nuestro raid si hubira un fallo sin necesidad de retirar el disco o en nuestro caso eliminando un vdi de nuestra máquina virtual.
Esto lo conseguimos simulando un error de hardware en el raid con el siguiente comando:
- sudo mdadm --manage md0 --fail sdb1 (Por ejemplo)
Buenas, Jose.
ResponderEliminarEn tu ejemplo, al tener aún 3 discos duros sincronizados para el Raid 5, no te hace falta "activar" el spare. Pero si hubiese otro error de otro disco ... habría que activarlo. He encontrado cómo hacerlo en
http://ubuntuforums.org/showthread.php?t=1805944
Lo vemos en la clase con el resto de compañeros. Recuérdamelo, ok?
Un saludo
Un saludo
Gracias Fran, lo miro lo antes posible para editar la entrada.
EliminarEhh, no lo ví, ya te lo recuerdo! Perfecto descubrimiento que nos trajo de cabeza, :D
ResponderEliminar