Vous êtes sur la page 1sur 11

Autor: JM.

Calero Romero

1/11

Autor: JM. Calero Romero

2/11

Prctica sobre RAID por Software


Material utilizado: CD/DVD de instalacin de Debian 5 etch
Nota: Los pasos no relevantes no se incluyen.

Proceso bsico de instalacin:


Insertar el CD/DVD de instalacin.
Seleccionar la opcin Install
Seleccionar lenguaje Espaol
Seleccionar pais Espaa
Seleccionar mapa de teclado Espaol
Si no tenemos servidor DHCP en la red, debemos proporcionar los datos de conexin.
IP: 192.168.1.6
Resto: Valores por defecto
Nombre de la mquina: srv1debian
Dominio: labredes
Si no tenemos conexin a internet, debemos proporcionar el uso horario.
Seleccionar Pennsula

Particionado del disco


Esta es la parte importante de la prctica, en este caso, recordar, nuestro objetivo es crear un raid 1
(mirroring) con los discos SDA y SDB.
Seleccionar la opcin Manual
Elije el disco SDA
Crear una nueva tabla de particiones vaca en este dispositivo? S
Selecciona el ESPACIO LIBRE de SDA
Selecciona Crear una particin nueva
Deja el tamao total de 8.6 GB. Para cambiar, escribe en el mismo formato X.X GB. O bien,
introduce un porcentaje del total ( 20%) ---> 20% de 8.6 GB
Selecciona Primaria
Apartado Configuracin de la particin:
Utilizar como: Volumen fsico para RAID
Marca de arranque: activada
Selecciona Se ha terminado de definir la particin

Autor: JM. Calero Romero

3/11

Elije el disco SDB


Crear una nueva tabla de particiones vaca en este dispositivo? S
Selecciona el ESPACIO LIBRE de SDA
Selecciona Crear una particin nueva
Deja el tamao total de 8.6 GB. Para cambiar, escribe en el mismo formato X.X GB. O bien,
introduce un porcentaje del total ( 20%) ---> 20% de 8.6 GB
Selecciona Primaria
Apartado Configuracin de la particin:
Utilizar como: Volumen fsico para RAID
Marca de arranque: activada
Selecciona Se ha terminado de definir la particin
Selecciona Configurar RAID por Software
Desea escribir los cambios . y configurar RAID? S
Selecciona Crear un dispositivo MD
Tipo de raid: RAID1
Nmero de dispositivos activos para el array RAID1: 2
Nmero de dispositivos libres para el array RAID1: 0
Activar /dev/sda1 y /dev/sdb1 como elementos del RAID1
Selecciona Terminar
Selecciona la particin #1 del dispositivo RAID por software
Utilizar como: Sistema ext3 transaccional
Punto de montaje: /
Etiqueta: server
Selecciona Se ha terminado de definir la particin

Selecciona Finalizar el particionado y escribir los cambios en el disco


En este caso, no vamos a instalar una SWAP, respondemos No
Desea escribir los cambios en los discos? S
Vemos por pantalla un aviso indicando que /dev/md0 estar visible por el sistema despus de
reiniciar el equipo.
Selecciona Continuar

Autor: JM. Calero Romero

4/11

El proceso de instalacin indica que esta Instalando el sistema base


Esperamos
Luego, solicita la contrasea de root por dos veces.
Contrasea: qwerty
Ahora, proporciona el nombre y contrasea de un usuario normal del sistema.
Usuario: debian
Contrasea: debian
Detecta el CD de instalacin y le indicamos que no queremos detectar mas CD.
Desea analizar otro CD o DVD? No
Desea utilizar una rplica en red? No
En este caso, no vamos a indicar repositorios de red para reducir la prctica, en un caso real,
indicaramos los repositorios y los lugares de descargas. Para esta cuestin sera necesario disponer
de conexin a internet.
Configurando apt
Seleccionado e instalando programas
Desea participar en la encuesta sobre el uso de los paquetes? No
Llegados a este punto, podemos indicar el grupo de paquetes a instalar segn el destino de nuestro
equipo (Entorno de escritorio, Servidor de web, Servidor de impresoras, etc)
Selecciona nicamente Entorno de escritorio
Descargando e instalado 519 paquetes ...
Ahora, toca instalar el GRUB (Gestor de arranque)
Desea instalar el cargador de arranque GRUB en el registro principal de arranque? S
Instalacin Finalizada
Extraer el CD o DVD.
Selecciona Continuar
Reiniciando el sistema

Autor: JM. Calero Romero

5/11

Ahora, toca comprobar si el RAID esta funcionando.


Para realizar las siguientes tareas utilizaremos MDADM

Comprobar el estado del raid


Mediante mdstat:
srv1debian:/home/debian# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sda1[0] sdb1[1]
8385792 blocks [2/2] [UU]
unused devices: <none>
srv1debian:/home/debian#

Mediante mdadm:
srv1debian:/home/debian# mdadm --detail /dev/md0
/dev/md0:
Version
Creation Time
Raid Level
Array Size
Used Dev Size
Raid Devices
Total Devices
Preferred Minor
Persistence

:
:
:
:
:
:
:
:
:

00.90
Mon May 18 21:55:46 2009
raid1
8385792 (8.00 GiB 8.59 GB)
8385792 (8.00 GiB 8.59 GB)
2
2
0
Superblock is persistent

Update Time
State
Active Devices
Working Devices
Failed Devices
Spare Devices

:
:
:
:
:
:

Mon May 18 22:49:57 2009


clean
2
2
0
0

UUID : 9a3d06d1:363c997b:1c5bd77b:499a8460
Events : 0.4
Number
Major
Minor
0
8
1
1
8
17
srv1debian:/home/debian#

RaidDevice State
0
active sync
1
active sync

/dev/sda1
/dev/sdb1

Como transferir el grub al disco1


El Grub de arranque esta en el disco0 (sda), por lo tanto, para que podamos arrancar desde el disco1
(sdb), tenemos que transferir el gestor de arranque al disco1. De esta manera, los dos discos tienen
el arranque garantizado en el caso de fallar alguno de los dos.
Comprobamos el mapeo de discos.
srv1debian:/home/debian# cat /boot/grub/device.map
(hd0) /dev/sda
(hd1) /dev/sdb
srv1debian:/home/debian#

Autor: JM. Calero Romero

6/11

Iniciamos grub basado en el mapeo de discos.


srv1debian:/home/debian# grub --device-map=/boot/grub/device.map
GNU GRUB

version 0.97

(640K lower / 3072K upper memory)

[ Minimal BASH-like line editing is supported.


For
the
first
word, TAB lists possible command
completions. Anywhere else TAB lists the possible
completions of a device/filename. ]
grub>

Comprobamos el sistema de archivos de sda1 (hd0,0) y sdb1 (hd1,0)


grub> root (hd0,0)

Filesystem type is ext2fs, partition type 0xfd

grub> root (hd1,0)

Filesystem type is ext2fs, partition type 0xfd

Instalamos el GRUB en el disco SDB


grub> setup (hd1)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd1)"... 17 sectors are embedded.
succeeded
Running "install /boot/grub/stage1 (hd1) (hd1)1+17 p (hd1,0)/boot/grub/stage2
/boot/grub/menu.lst"... succeeded
Done.
grub>

Salir del gestor Grub


grub>

grub> quit
Reiniciamos el sistema
reboot

Autor: JM. Calero Romero

7/11

Vamos a simular un fallo del disco1 (sdb)


srv1debian:/home/debian# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sda1[0] sdb1[1]
8385792 blocks [2/2] [UU]
unused devices: <none>

srv1debian:/home/debian# mdadm /dev/md0 --fail /dev/sdb1


mdadm: set /dev/sdb1 faulty in /dev/md0
srv1debian:/home/debian# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sda1[0] sdb1[2](F)
8385792 blocks [2/1] [U_]
unused devices: <none>

srv1debian:/home/debian# mdadm --detail /dev/md0


/dev/md0:
Version
Creation Time
Raid Level
Array Size
Used Dev Size
Raid Devices
Total Devices
Preferred Minor
Persistence

:
:
:
:
:
:
:
:
:

00.90
Mon May 18 21:55:46 2009
raid1
8385792 (8.00 GiB 8.59 GB)
8385792 (8.00 GiB 8.59 GB)
2
2
0
Superblock is persistent

Update Time
State
Active Devices
Working Devices
Failed Devices
Spare Devices

:
:
:
:
:
:

Mon May 18 23:25:38 2009


clean, degraded
1
1
1
0

UUID : 9a3d06d1:363c997b:1c5bd77b:499a8460
Events : 0.20
Number
0
1

Major
8
0

Minor
1
0

2
8
17
srv1debian:/home/debian#

RaidDevice State
0
active sync
1
removed
-

faulty spare

/dev/sda1
/dev/sdb1

Autor: JM. Calero Romero

8/11

Observa las ltimas lneas de salida del comando dmesg


srv1debian:/home/debian# dmesg
[
0.000000] Initializing cgroup subsys cpuset
[
0.000000] Initializing cgroup subsys cpu
[
0.000000] Linux version 2.6.26-2-686 (Debian 2.6.26-15lenny2)
(dannf@debian.org) (gcc version 4.1.3 20080704 (prerelease) (Debian 4.1.2-25))
#1 SMP Mon May 11 19:00:59 UTC 2009
[
0.000000] BIOS-provided physical RAM map:
...........
...........
...........
...........
[ 141.604341] raid1: Disk failure on sdb1, disabling device.
[ 141.604341] raid1: Operation continuing on 1 devices.
[ 141.607850] RAID1 conf printout:
[ 141.607853] --- wd:1 rd:2
[ 141.607855] disk 0, wo:0, o:1, dev:sda1
[ 141.607856] disk 1, wo:1, o:0, dev:sdb1
[ 141.607967] RAID1 conf printout:
[ 141.607969] --- wd:1 rd:2
[ 141.607970] disk 0, wo:0, o:1, dev:sda1
srv1debian:/home/debian#

Reiniciamos el sistema para comprobar que sigue funcionando...


reboot

Remover el disco daado del raid (Este comando sera para ejecutarlo si no hubiramos reiniciado
el sistema, en esta ocasin, al reiniciar el sistema, lo ha removido automticamente)
srv1debian:/home/debian# mdadm /dev/md0 --remove /dev/sdb1
mdadm: hot removed /dev/sdb1

En teora, en este punto deberamos apagar la mquina, instalar un nuevo disco y particionar el
disco.
Un truco muy sencillo para copiar la estructura de un disco a otro sera:
sfdisk -d /dev/sda | sfdisk /dev/sdb

Donde el disco sdb es el disco nuevo instalado. Y lo que hacemos es copiar la estructura de
particiones del disco SDA al disco SDB.
De esta forma el raid lo hacemos de particiones exactamente iguales.
Pero, en nuestra prctica, esto no lo tenemos que hacer porque el disco es el mismo, y sigue con la
estructura de particiones. Por lo tanto, seguimos con

Autor: JM. Calero Romero

9/11

Aadir un nuevo disco al raid indicando la particin a utilizar.


srv1debian:/home/debian# mdadm --add /dev/md0 /dev/sdb1
mdadm: re-added /dev/sdb1
srv1debian:/home/debian#

Comprobar como el sistema reconstruye el RAID


srv1debian:/home/debian# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb1[2] sda1[0]
8385792 blocks [2/1] [U_]
[=====>...............] recovery = 26.8% (2254528/8385792) finish=0.9min
speed=112726K/sec
unused devices: <none>
srv1debian:/home/debian#

srv1debian:/home/debian# cat /proc/mdstat

Personalities : [raid1]
md0 : active raid1 sdb1[2] sda1[0]
8385792 blocks [2/1] [U_]
[===============>.....] recovery = 78.9% (6619072/8385792) finish=0.2min
speed=124288K/sec
unused devices: <none>
srv1debian:/home/debian#

srv1debian:/home/debian# cat /proc/mdstat


Personalities : [raid1]
md0 : active raid1 sdb1[1] sda1[0]
8385792 blocks [2/2] [UU]
unused devices: <none>
srv1debian:/home/debian#

Autor: JM. Calero Romero

10/11

Tpicos fallos de hardware-discos


Sin misterios. Basta con echar un vistazo rpido a los logs habituales para percatarse de que ha
fallado un disco. Cuando un disco falla, /var/log/messages revelar varios errores del
ncleo. Algunos ejemplos, para los masocas:
kernel: scsi0 channel 0 : resetting for second half of retries.
kernel: SCSI bus is being reset for host 0 channel 0.
kernel: scsi0: Sending Bus Device Reset CCB #2666 to Target 0
kernel: scsi0: Bus Device Reset CCB #2666 to Target 0 Completed
kernel: scsi : aborting command due to timeout : pid 2649, scsi0, channel 0,
id 0, lun 0 Write (6) 18 33 11 24 00
kernel: scsi0: Aborting CCB #2669 to Target 0
kernel: SCSI host 0 channel 0 reset (pid 2644) timed out - trying harder
kernel: SCSI bus is being reset for host 0 channel 0.
kernel: scsi0: CCB #2669 to Target 0 Aborted
kernel: scsi0: Resetting BusLogic BT-958 due to Target 0
kernel: scsi0: *** BusLogic BT-958 Initialized Successfully ***

Y ms frecuentemente,
kernel: sidisk I/O error: dev 08:01, sector 1590410
kernel: SCSI disk error : host 0 channel 0 id 0 lun 0 return code = 28000002

o tambin
kernel: hde: read_intr: error=0x10 { SectorIdNotFound }, CHS=31563/14/35,
sector=0
kernel: hde: read_intr: status=0x59 { DriveReady SeekComplete DataRequest
Error }

Y, como es de esperar, /proc/mdstat revelar la presencia de problemas,


Personalities : [linear] [raid0] [raid1] [translucent]
read_ahead not set
md7 : active raid1 sdc9[0] sdd5[8] 32000 blocks [2/1] [U_]

Revisar los archivos:


/var/log/messages
/var/log/syslog

Autor: JM. Calero Romero

11/11

Ejemplo sencillo de creacin de un raid1 para las particiones sda2 y


sdb2 de los discos 0 y 1
Se supone que las particiones sda2 y sdb2 han sido marcadas como volmenes fsicos para raid.

# crear el raid:
mdadm --create --verbose /dev/md1 --level=raid1 --raid-devices=2 /
dev/sda2 /dev/sdb2
# consultar estado del raid:
mdadm --detail /dev/md1
# formatear el raid:
mkfs.ext3 /dev/md1
# verificar:
mdadm detail /dev/md1
# verificacin segunda:
cat /proc/mdstat
# crear el fichero de configuracion: (si todo funciona correctamente)
mdadm --detail --scan --verbose > /etc/mdadm/mdadm.conf
# crear el punto de montaje, o cualquier otro punto de montaje
mkdir /datos
# modificar /etc/fstab (recordar meter el parmetro /datos)
/dev/md1

/datos

ext3

defaults

# montar todo (basado en el contenido de fstab)


mount -a

Como quitar un disco del RAID1 manteniendo la informacin


En determinados casos nos interesara llevarnos uno de los discos a otro equipo, es decir, realmente
tenemos un clon de un disco en otro. Por lo tanto, lo que haramos para llevarnos este disco a otro
equipo igual, y seguir teniendo un raid1 (en estado degradado) sera:
# mdadm --fail /dev/md0 /dev/sdb1
# mdadm --remove /dev/md0 /dev/sdb1

---> Marcar como disco con fallo


---> Remover disco del RAID

Esto ha quitado el disco sdb del conjunto RAID, pero NO ha eliminado los datos, por lo tanto, si
apagamos la mquina, quitamos el disco, y lo instalamos en otro equipo de las mismas
caracteristicas, !! sorpresa !!, tenemos el sistema trabajando de igual manera.
Llegados a este punto, tenemos dos equipos con RAID1, en estado DEGRADADO (solo
trabajando con 1 disco) y a la espera de aadir otro disco para recontruir el raid.
Espero que esta prctica sobre RAID os haya gustado, :-)

Vous aimerez peut-être aussi