aumentar espacio raid1 con nuevos discos

Imagen de txutxe
0 puntos

muy buenas,

llevo días peleándome con esto y necesito la ayuda de algún experto en estos temas.

resulta que hace un tiempo instalé un servidor Ubuntu Maverick sobre dos discos de 320GB y en la misma instalación configuré ya el raid1.

hace unos meses se me estropeó uno, y lo reemplacé por uno de 500GB. Lo conecté, copié la tabla de particiones con el sfdisk, lo metí en el en el raid1, sincronizó, y listos....

ahora se me ha estropeado el otro de 320gb y lo he reemplazado de la misma forma.

lo dejé así unos días, con 180GB sin usar porqué ya me imaginé que serian un jaleo impresionante aumentar esto.

pues bien, leí mucho sobre el tema y al final me atreví a intentar ampliar el raid1 hace unos días.

lo primero que intenté hacer, "en caliente", con el sistema arrancado fue:

mdadm --grow /dev/md1 --size=max

que no da error ni da ningún mensaje, pero tampoco hace nada.

luego dije... claro... las particiones de los discos todavia son pequeñas, eso no funcionará nunca.

entonces decidí hacer más grande la partición. Para cada disco tengo sdX1 (swap) sdX2 (datos). Quité el disco sdb y eliminé la partición sdb2 y la volví a crear con el máximo de espacio disponible y con el tipo "Raid autodetect" como lo tenia antes.

Entonces lo volví a meter y no hubo problema, al ser más grande que la otra partición que ya existía en el md, se puso a rehacer el raid1 sin problemas. Cuando terminó dije... bueno, saco el sda que todavía tiene la partición pequeña e intento hacer un "grow" del md.
Obtuve el mismo resultado... no daba error pero tampoco hacia ningún cambio en el md.

Entonces dije... bueno, a lo mejor necesita los dos discos del raid1 para poder hacer el grow. Entonces me cargué la partición sda2 y la volví a crear con el máximo de espacio. Volví a meter el sda2 en el raid y sincronizó sin problemas. Ya tenía los dos discos con las particiones usando el máximo de espacio.

En este momento tenia ya el raid1 en perfecto estado y tenia el 100% de los datos sin problemas. Incluso reinicié para asegurarme que tenia todos los datos, que no me los había cargado y que no había tocado el grub ni nada. Todo bien hasta aquí, podía arrancar desde ambos discos.

Ahora bien, seguía teniendo 320GB y el grow del md seguía sin hacer nada.

He mirado muchas veces en el /var/log y en dmesg y no puedo ver nada que tenga relación con md o mdadm y menos con el md1 que estoy intentando redimensionar.

A partir de aquí he leído un montón de artículos sobre el tema, pero todos acaban resumiendo el proceso en tocar las particiones y ejecutar el mdadm grow que a mí no me funciona.

Leyendo leyendo encontré que había gente que hablaba del tipo de particionado, que podía hacer que el rendimiento del disco fuera muy inferior. Yo pensé que eso no tendría nada que ver con el problema del md, pero aun así empecé a toquetear. Me refiero a los errores que te dan comandos como "fdisk -l" que te dicen que los inicios/finales de particiones no corresponden con cilindros, sectores, etc. He probado de ir quitando un disco, reparticionarlo para que no salieran estos errores y volverlo a meter. Luego intentar hacer crecer el md1 con ese disco "arreglado" y nada... el md1 no quiere crecer.

Aunque muchos sitios donde he leído esto aseguran que se puede hacer con el sistema arrancado, yo he probado también con un livecd y el resultado es lo mismo, sin que el md1 esté siendo usado por el sistema operativo, no hay manera de aumentar su capacidad y no veo ningún error o warning por ningún sitio.

Pues bien, me gustaría saber cual es la manera de poder hacer esto sin el uso de ningún otro disco auxiliar, ya que no lo puedo conseguir en estos momentos.

Aquí os dejo los datos de las particiones y de los md que tengo configurados por si sirve de algo:

************************************

fdisk -l

Disc /dev/sdb: 500.1 GB, 500107862016 octets
255 heads, 63 sectors/track, 60801 cylinders
Units = cilindres of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00037247

Dispositiu Arrenc. Inici Final Blocs Id Sistema
/dev/sdb1 1 487 3905536 fd Autodetecció RAID Linux
La partició 1 no acaba en un límit de cilindre.
/dev/sdb2 * 487 60801 484477472+ fd Autodetecció RAID Linux

Disc /dev/sda: 500.1 GB, 500107862016 octets
255 heads, 63 sectors/track, 60801 cylinders
Units = cilindres of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00037247

Dispositiu Arrenc. Inici Final Blocs Id Sistema
/dev/sda1 1 487 3905536 fd Autodetecció RAID Linux
La partició 1 no acaba en un límit de cilindre.
/dev/sda2 * 487 60801 484477472+ fd Autodetecció RAID Linux

Disc /dev/md0: 3998 MB, 3998208000 octets
2 heads, 4 sectors/track, 976125 cylinders
Units = cilindres of 8 * 512 = 4096 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

El disc /dev/md0 no conté una taula de particions vàlida

Disc /dev/md1: 316.1 GB, 316072124416 octets
2 heads, 4 sectors/track, 77166046 cylinders
Units = cilindres of 8 * 512 = 4096 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

El disc /dev/md1 no conté una taula de particions vàlida
root@servidor:/home/servidor#

************************************

los discos no son exactamente el mismo modelo, pero sí que son Seagate. De todas maneras, según esto tienen exactamente el mismo tamaño y exactamente las mismas particiones. Lo único que veo distinto es esto nuevo del "Sector size" que en los discos más nuevos ha variado de 512 a 4096 bytes. ¿Podría esto estar afectando al mdadm?

Cualquier ayuda será bienvenida.

Salutaciones y muchas gracias de antemano.