Archivos mensuales: julio 2011

Centos 5.5 Raid con Mdadm escanear disco duro

Sistema operativo: Centos 5.5
Distro Live: Fedora 14

Mdadm nos permite realizar un Raid por software, éste sistema es un poco más lento que un raid por hardware ya que consume recursos del procesador para mantener el raid en funcionamiento. Tiene también algunas ventajas, como cuando la mother de la máquina en la cual queremos utilizar raid no dispone de una controladora raid, requisito necesario para armar un raid por hardware. O simplemente para abaratar costos.

Igual que cuando tenemos un único disco funcionando, podemos encontrarnos con errores de lectura, escritura o incoherencias, ésto puede suceder porque tenemos sectores defectuosos. La herramienta de escaneo y recuperación de discos se llama e2fsck y no se debe correr con el sistema funcionando, por lo que debemos utilizar una distribución Live.

En mi caso inicié con Fedora 14, una vez cargado el sistema en una terminal liste mis particiones con:
# fdisk -l

En mi caso los discos se llaman /dev/sda y /dev/sdb y tengo dos volúmenes en raid

/dev/sda1 con /dev/sdb1 y es el sistema
/dev/sda2 con /dev/sdb2 y es la partición donde se guardan los datos.
/dev/md0 es el primer raid
/dev/md1 es el segundo raid

El siguiente paso entonces es chequear cada partición:
e2fsck -f -p /dev/sda1

Lo siguiente que obtenemos es el siguiente error si nuestro sistema live está en español:

e2fsck: Dispositivo o recurso ocupado mientras se intentaba abrir /dev/sda1

¿Sistema de ficheros montado o abierto en exclusiva por otro programa?

O de esta manera si nuestro sistema live está en ingles:

e2fsck:Device or resource busy while trying to open /dev/sda1

Filesystem mounted or opened exclusively by another program?

La razón de porque pasa esto es la misma por la cual no podíamos escanear es busca de errores nuestro disco con el sistema funcionando, nuestro raid está en funcionamiento. Por más que estemos corriendo una distro live, incluso si utilizaramos el comando mount para ver que hay montado no veríamos nuestras particiones como montadas.

Esto en realidad tiene sentido, si tuviéramos un raid por hardware sin importar que sistema estemos utilizando siempre veríamos un único disco, al cargar el live éste lee los archivos de configuración del raid y los levanta, de manera que vemos los discos como los veíamos en nuestro sistema original y en caso de necesitar montarlo montaríamos el raid y no un único disco.

Sabiendo esto, entonces la solución es sencilla, debemos detener el raid:
mdadm --stop /dev/md0

Con esto podemos ahora si escanear cada partición y no recibir el error anterior. Hay que tener en cuenta que en caso de tener más de un raid como se da en mi caso, es necesario detener cada uno de ellos.

Anuncios