[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Problemas para rearmar RAID1



Estimados, tenemos un servidor con dos discos WD de 500 GB en RAID1. El server es un Dell R210 II, por lo que originalmente tenía dos discos WD de 500 certificados por Dell como "Enterprise Class". Hace un tiempo uno de estos discos comenzó a dar problemas así que lo reemplazamos por otro de 500. Para los que estén en Argentina o conozcan como es la situación acá entenderán los difícil, caro y largo que se hace conseguir un disco original, entonces como teníamos que reemplazarlo lo antes posible usamos un WD Blue (de 500 GB) que es lo que conseguimos acá a mano. Todo salió bien, se copió la tabla de particiones, se rearmó el RAID y sincronizó, todo perfecto sin problemas.

Ahora, desde hace unos días que el otro de los discos originales que quedaba (el otro certificado por Dell digamos) empezó a andar mal (básicamente bastante lento, el servidor seguía operando pero se notaba mucho un impacto en la performance) así que ayer a la noche hicimos el cambio. En este caso conseguimos un dico WD "Black" de 1 TB, el cual si bien es un disco catalogado para "Desktop" en teoría sería mejor que un "Blue", así que optamos por este disco.

Ahora tendría entonces que armar un RAID1 entre un disco de 500 GB y uno de 1 TB, lo cual hasta donde yo se no es ningún problema (se desperdiciarán 500 GB si, pero no hay problema con eso) pero no logro hacerlo... Les paso los datos sobre la configuración RAID:

cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb3[3](F) sda3[2]
      472759160 blocks super 1.2 [2/1] [U_]

md2 : active raid1 sda2[2]
      9764792 blocks super 1.2 [2/1] [U_]

md1 : active raid1 sda1[2]
      5857268 blocks super 1.2 [2/1] [U_]

Entonces para rearmar el RAID hago lo siguiente:

mdadm --manage /dev/md0 --add /dev/sdb3
mdadm --manage /dev/md1 --add /dev/sdb1
mdadm --manage /dev/md2 --add /dev/sdb2

Pero extrañamente sucede lo siguiente:

mdadm --manage /dev/md0 --add /dev/sdb3 <--- Comienza la sincronización
mdadm --manage /dev/md1 --add /dev/sdb1 <--- Comienza la sincronización
mdadm --manage /dev/md2 --add /dev/sdb2 <--- Me da error: "mdadm: add new device failed for /dev/sdb2 as 3: Invalid argument"

Pero esto no termina acá... He Googleado un poco y hecho varias pruebas, una de ellas era marcar las partición como "fail" (mdadm --manage /dev/mdX --fail /dev/sdbY), luego eliminarlas (mdadm --manage /dev/mdX --remove /dev/sdbY) para finalmente volverlas a agregar. Pero esta vez cuando lo hago sucede lo siguiente:

mdadm --manage /dev/md0 --add /dev/sdb3 <--- Comienza la sincronización
mdadm --manage /dev/md1 --add /dev/sdb1 <--- Me da error: "mdadm: add new device failed for /dev/sdb1 as 3: Invalid argument" mdadm --manage /dev/md2 --add /dev/sdb2 <--- Me da error: "mdadm: add new device failed for /dev/sdb2 as 3: Invalid argument"

Pero la cosa no termina acá. Como "al menos" la sincronización de md0 comenzó lo dejé sincronizando toda la madrugada, solo para darme cuenta hoy a la mañana que la misma no se realizó (un cat /proc/mdstat actual muestra lo que puse más arriba, es decir ningún partición sincronizada ni en proceso de sincronización). Entonces si miro el log cuando quiero rearmar el RAID obtengo lo siguiente (ejemplo para md2):

mdadm --manage /dev/md2 --add /dev/sdb2
mdadm: add new device failed for /dev/sdb2 as 3: Invalid argument

cat /var/log/messages (pongo solo una porción del log porque el log generado cuando intento el comando anterior es larguísimo)

Dec  4 09:36:05 dexter kernel: [30217.078158] ata2: EH complete
Dec 4 09:36:09 dexter kernel: [30220.760996] ata2.00: configured for UDMA/133
Dec  4 09:36:09 dexter kernel: [30220.761001] ata2: EH complete
Dec 4 09:36:12 dexter kernel: [30224.441795] ata2.00: configured for UDMA/133
Dec  4 09:36:12 dexter kernel: [30224.441808] ata2: EH complete
Dec 4 09:36:16 dexter kernel: [30228.123129] ata2.00: configured for UDMA/133
Dec  4 09:36:16 dexter kernel: [30228.123149] ata2: EH complete
Dec 4 09:36:20 dexter kernel: [30231.803857] ata2.00: configured for UDMA/133
Dec  4 09:36:20 dexter kernel: [30231.803863] ata2: EH complete
Dec 4 09:36:23 dexter kernel: [30235.484692] ata2.00: configured for UDMA/133
Dec  4 09:36:23 dexter kernel: [30235.484697] ata2: EH complete
Dec 4 09:36:27 dexter kernel: [30239.165886] ata2.00: configured for UDMA/133 Dec 4 09:36:27 dexter kernel: [30239.165898] sd 1:0:0:0: [sdb] Unhandled sense code Dec 4 09:36:27 dexter kernel: [30239.165900] sd 1:0:0:0: [sdb] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE Dec 4 09:36:27 dexter kernel: [30239.165903] sd 1:0:0:0: [sdb] Sense Key : Medium Error [current] [descriptor] Dec 4 09:36:27 dexter kernel: [30239.165908] Descriptor sense data with sense descriptors (in hex): Dec 4 09:36:27 dexter kernel: [30239.165910] 72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00
Dec  4 09:36:27 dexter kernel: [30239.165926]         00 b2 e0 00
Dec 4 09:36:27 dexter kernel: [30239.165928] sd 1:0:0:0: [sdb] Add. Sense: Unrecovered read error - auto reallocate failed Dec 4 09:36:27 dexter kernel: [30239.165930] sd 1:0:0:0: [sdb] CDB: Read(10): 28 00 00 b2 e0 00 00 00 08 00
Dec  4 09:36:27 dexter kernel: [30239.166078] ata2: EH complete

Y hasta acá llegué... Estoy leyendo pero aún no encuentro nada. En el peor de los casos se me ocurre pasar el sistema completo de un disco a otro con rsync, instalar grub en el disco nuevo y arrancar el sistema con el disco nuevo para finalmente agregar otro disco de 1TB e intentar rearmar el RAID (en todo caso deseamos usar para este servidor dos discos "Black", pasa que de momento solo conseguimos uno).

Les agradecería mucho cualquier comentario al respecto. Realmente no me doy una idea de lo que puede estar pasando. Recuerdo haber rearmado RAID1 así de esta forma (es decir que originalmente es de 500 pero al momento de reemplazar el disco solo se consigue uno de 1 TB o más) y no he tenido ningún problema...

Por cierto, esta es la salida de fdisk -l:

fdisk -l /dev/sda

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

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1 1 730 5858304 fd Linux raid autodetect
Partition 1 does not end on cylinder boundary.
/dev/sda2 730 1946 9765888 fd Linux raid autodetect /dev/sda3 1946 60802 472760320 fd Linux raid autodetect

fdisk -l /dev/sdb

Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0xfd2a0694

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1 1 730 5858304 fd Linux raid autodetect
Partition 1 does not end on cylinder boundary.
/dev/sdb2 730 1946 9765888 fd Linux raid autodetect /dev/sdb3 1946 60802 472760320 fd Linux raid autodetect

Como verán el de 1 TB indica sectores de 4096 bytes y el de 500 GB sectores de 512 bytes, pero como les decía ya he rearmado un RAID1 entre un disco de 500 y otro de 1 TB y no he tenido ningún probema, la única salvedad pero dudo que venga al caso es que se trataba de dos discos "Blue" en lugar de uno "Blue" y otro "Black".

Como siempre, cualquier ayuda es bienvenida. Saludos y muchas gracias,

Mauro.


Reply to: