Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando,...
Transcript of Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando,...
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
Realizado por: Giancarlo Guilá Reina
Configuración de un Raid anidado –por software- en Linux
En este tutorial veremos cómo configurar un Raid anidado por software sobre
Linux, específicamente en Ubuntu 10.10.
El nivel de raid anidado que configuraremos será Raid 1+0 (Raid 10).
¿Qué es Raid 10?
La matriz Raid 10 utiliza cuatro unidades de disco duro para crear una
combinación de niveles Raid 0 y 1, al formar una matriz Raid 0 a partir de dos
matrices Raid 1.
Debido a que todos los datos de la matriz Raid 0 son duplicados, la capacidad
de la matriz Raid 10 es el tamaño de la matriz Raid 0. Por ejemplo, cuatro
unidades de disco duro de 400 GB en una matriz Raid 10 aparecen como una
unidad de disco duro individual de 800 GB ante el sistema operativo.
El beneficio principal de Raid 10 es que combina los beneficios del desempeño de Raid 0 y la tolerancia a fallos de Raid 1. Proporciona una buena fiabilidad a los datos en caso de una sola falla en la unidad de disco. Si falla una de las unidades de disco duro, todos los datos de la otra mitad de la duplicación se encuentran disponibles inmediatamente en el otro disco sin tener impacto en la integridad de los datos. En caso de que se produzca un fallo de disco, el sistema informático permanece en funcionamiento total para garantizar la máxima productividad. La tolerancia a fallos de los datos se puede restaurar al reemplazar la unidad dañada.
El rendimiento de una matriz Raid 10 es superior al de una sola unidad debido a que los datos se pueden leer desde varios discos simultáneamente. En comparación con un volumen Raid 0 de dos discos, el desempeño de lectura de Raid 10 es superior ya que los datos se pueden leer desde cualquier mitad de la duplicación. Sin embargo, el rendimiento de escritura es ligeramente inferior debido a que se comprueba que los datos se escriban en su totalidad en la matriz.
Ventaja: Combina el desempeño de lectura de Raid 0 con la tolerancia a fallos de Raid 1.
Tolerancia a fallos: Excelente, la duplicación de disco significa que todos los datos de un disco se duplican en otro.
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
La estructura de un Raid 10, para un arreglo de 4 discos es la siguiente:
Cabe mencionar que, para formar un raid 10, se necesita como mínimo 4
discos, ya que para crear cada Raid 1, se necesita como mínimo 2 discos. El
tamaño de Raid 10 por lo tanto va desde 4 discos, hasta los que se deseen
configurar.
Empezando la configuración
Para fines de explicación, hare todas las configuraciones en una maquina
virtual (Utilizando Oracle Virtual Box), a la cual le agregare 4 discos virtuales,
cada uno de 8.00 GB (Únicamente para fines explicativos, ya que el Raid
puede trabajar con la cantidad que se desee).
Lo primero que haremos es, bootear la maquina desde el Live cd de Ubuntu, y
seleccionamos la opción: “Probar sin instalar Ubuntu” (Try ubuntu without
installing). Y Esperamos a que acceda al sistema.
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
Una vez dentro del sistema, abrimos una terminal, y escribimos los siguientes
comandos:
sudo su (para tener permisos de superusuario)
fdisk –l (para ver los discos que detecta nuestra maquina)
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
El comando fdisk –l debería de mostrarnos, todos los discos que detecta (en
nuestro caso 4) y debería de indicarnos que ninguno de ellos tiene particiones
creadas.
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
Una vez hemos verificado que la maquina detecta nuestros discos,
necesitamos crear las tablas de particiones para cada uno de ellos. Para ello
utilizaremos el programa cfdisk, el cual es un programa para crear y administrar
particiones.
El comando a utilizar para configurar las particiones de cada disco es el
siguiente:
cfdisk /dev/[nombre del disco a particionar]
Empezamos con el primer disco:
cfdisk /dev/sda
Para este disco, necesitamos crear 3 particiones, las 3 primarias, la primera
dejamos el tipo tal como aparece en la configuración, para la segunda partición,
la creamos y luego vamos al menú [Type] y seleccionamos la opción FD, la
cual es “Linux Raid Autodetect”. Y para la tercera partición, la creamos y de
nuevo vamos al menú [Type], pero ahora seleccionamos la opción 82, la cual
es “Linux swap /solaris”.
El tamaño de las particiones puede ser más grande que el que trabajamos
aquí, eso no es de importancia, sin embargo, la partición “Linux Raid
Autodetect” en cada disco, debe de ser del mismo tamaño en cada uno de los
discos, ya que esta es con la que trabajara el arreglo de discos.
Luego, de haber realizado los cambios, seleccionamos la opción [write], a cual
nos preguntara que si estamos seguros de escribir la nueva tabla de
particiones en el disco, le damos que si, luego seleccionamos la opción [Quit], y
continuamos.
Para el disco sda, quedaría de la siguiente manera:
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
Ya que configuramos la tabla de particiones para el disco 1 (sda), lo hacemos
ahora para los discos 2, 3, 4 y si tenemos mas, pues para esos tambien.
Para estos discos es diferente, que para el primero, ya que para estos solo
necesitamos crear 2 particiones, la de intercambio –swap- y la de tipo “Linux
Raid autodetect”.
Explicare, como se hace para el disco 2 (sdb), pero estos pasos se repiten para
todos los discos que tengamos aparte del primero.
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
Antes que todo, abrimos el programa para editar particiones cfdisk, con el
comando cfdisk /dev/sdb.
Necesitamos crear 2 particiones primarias, a una le colocamos tipo “Linux Raid
Autodetect”, que como ya explicamos, se especifica seleccionando la opción
[Type], y luego escogiendo la opción FD. Para la segunda partición, le
colocamos tipo “Linux swap /solaris”, la cual se especifica seleccionando la
opción [Type], y luego escogiendo la opción 82.
Una vez creadas las particiones, seleccionamos la opción [write], y le
indicamos que si queremos escribir las tablas de particiones en el disco, luego
seleccionamos la opción [Quit], y continuamos el proceso para los demás
discos.
Para el disco sdb, quedaria de la siguiente manera:
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
Una vez que hayamos hecho los pasos anteriores, para todos los discos que
queremos configurar, verificamos lo que hemos hecho con el comando:
fdisk -l
Nos deberia de salir algo como lo siguiente:
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
Ya que hemos verificado que las particiones estan bien creadas, instalamos el
paquete mdadm, el cual es un programa que permite administrar software Raid.
Lo hacemos con el siguiente comando:
apt-get install mdadm
Luego de ingresar ese comando, apareceran unas configuraciones, y seguido
de ello, se nos preguntara si deseamos continuar, seleccionamos que si, y
esperamos.
Nos aparecera una ventana donde debemos de elegir cierta configuracion,
seleccionamos “ok” y luego seleccionamos la opcion “No configuration”, y
esperamos a que termine la instalacion del paquete.
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
Despues de instalar el paquete de mdadm, ingresamos el siguiente comando
en consola, este es el que crea el raid, utilizando la herramienta que acabamos
de instalar:
mdadm -v --create /dev/md0 --level=raid10 --raid-devices=4 /dev/sda2
/dev/sdb1 /dev/sdc1 /dev/sdd1
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
Luego ingresamos los siguientes comandos, estos nos sirven para crear el
sistema de archivos en el arreglo, y para agregar un alias para el Raid, ya que
la instalacion de ubuntu no reconoce dispositivos que comiencen con md.
mkfs.xfs /dev/md0 ln /dev/md0 /dev/sde
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
Ya que hemos ingresado los comandos anteriores, procedemos a instalar
ubuntu, como normalmente lo hacemos, pero nos detenemos en la parte donde
hay que especificar las particiones, ya que ahi hay que realizar algunos
cambios.
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
Cuando lleguemos a la parte de la instalacion en donde nos pide que
especifiquemos las particiones, seleccionamos la opcion “Specify partitions
manually (advanced)”, para que nosotros las especifiquemos manualmente.
Al darle clic en siguiente, -si hemos hecho todo bien- nos deberia de aparecer
las particiones de la siguiente manera:
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
Hay que realizar algunos cambios aquí, los cuales se describen a continuacion:
La particion /dev/sda1, le colocamos en tipo: ext3, y en punto de montaje
“/boot”.
Luego especificamos las particiones que creamos para swap, las cuales en
nuestro caso son: /dev/sda3, /dev/sdb2, /dev/sdc2, /dev/sdd2.
La ultima particion que nos aparece -/dev/sde- debemos de colocarle en tipo:
xfs, y en punto de montaje: /.
Una vez realizados estos cambios le damos clic en continuar. Nota: La unica
particion que debe de tener marcada la opcion formatear es /dev/sda1.
Nos aparecera un mensaje de advertencia indicandonos que hay algunas
particiones que no se han marcado para que se formateen, simplemente le
damos clic en continuar.
A continuacion se muestran los pasos descritos anteriormente:
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
Luego de haber configurado las particiones, continuamos con la instalacion de
ubuntu normalmente.
Cuando haya terminado la instalacion de ubuntu, se nos preguntara si
deseamos reiniciar, o si deseamos seguir probando el sistema, seleccionamos
que deseamos seguir probando. No vayas a reiniciar el equipo!, aun faltan
algunas configuraciones para que funcione el raid.
Abrimos de nuevo una terminal, y escribimos los siguientes comandos:
mkdir /raid mount /dev/md0 /raid mount /dev/sda1 /raid/boot mount --bind /dev /raid/dev mount -t devpts devpts /raid/dev/pts mount -t proc proc /raid/proc mount -t sysfs sysfs /raid/sys chroot /raid apt-get install mdadm
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
Debemos de instalar nuevamente el paquete mdadm, cuando hagamos esto
nos preguntara nuevamente la configuracion que se desea utilizar, hacemos los
mismos pasos que se hicieron cuando lo instalamos la primera vez, como se
explico anteriormente.
Despues de hacer eso, reiniciamos la pc, y el raid esta listo para ser usado.
A continuacion se muestran los pasos descritos:
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
Si hemos hecho todo bien, el raid está listo para ser usado, y una vez
reiniciemos la pc, este estará funcionando correctamente.
A continuación mostramos algunos comandos, que nos ayudaran a monitorear
el estado del raid, y para administrarlo.
Estado actual de los discos y unidades Raid
cat /proc/mdstat
Mas detalles sobre las unidades Raid
mdadm –query /dev/md0
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
mdadm –detail /dev/md0
Mas detalles de los discos
mdadm –query /dev/sdb1
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
mdadm –examine /dev/sdb1
Establecer un disco como faulty/failed:
mdadm –fail /dev/md0 /dev/sdb1
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
Quitar un disco fallido de un Raid
Añadir un disco a la Raid
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
Además de los comandos mostrados anteriormente para administrar y
monitorear el raid, ubuntu trae una herramienta para hacerlo gráficamente, para
acceder a ella, vamos al menú Sistem>Administration>Disk Utility
Esta herramienta, en el menú: Multi-Disk Devices, nos permite ver algunas
configuraciones del raid, así como repararlo, pararlo, editarlo entre otras.
A continuación se muestran unas imágenes de esta herramienta:
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
Una manera de probar nuestro raid, es desconectar uno de los discos que se
encuentran en este, como estamos trabajando en una maquina virtual,
simplemente eliminamos la conexión de la maquina con alguno de los discos, e
iniciamos el sistema, deberia de aparecernos algo como esto:
Nos indica que uno de los discos por los que se compone el raid no se
encuentra, por lo que nos pregunta si queremos iniciar el sistema de todas
formas, seleccionamos que si.
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
El sistema debería de iniciar correctamente, y como sabemos que falta un
disco, podemos ir a ver el estado del raid, y como nos daremos cuenta, nos
indica que falta un disco, nos indica en el estado del raid: DEGRADED.
Si queremos regresar el raid, a su estado normal, debemos de agregar un
nuevo disco, con los comandos que se explicaron en este tutorial.
Hemos probado que nuestra configuración del raid 10, ha sido correcta y que
está trabajando bien.
Realizado por: Giancarlo Guilá Reina
Universidad de San Carlos de Guatemala
Escuela de Ciencias y Sistemas