vuelva a montar dos discos viejos de la configuración de raid0 para recuperar datos

2

Había configurado dos discos de 500 gb en RAID0 en mi servidor, pero recientemente sufrí una falla en el disco duro (vi un error INTELIGENTE en el HDD en el arranque). Mi host ha vuelto a colocar 2 discos nuevos en RAID-0 (reinstaló el sistema operativo) y volvió a conectar las unidades antiguas en la misma máquina, para que pueda recuperar los datos.

Mis viejos discos son:

  • /dev/sdb
  • /dev/sdc

¿Cómo puedo volver a montar estos dos discos en RAID0, para que podamos recuperar los datos de nuestra unidad anterior? ¿O ya no es posible? ¿He perdido todos mis datos?

Este es mi /etc/fstabydf -h

Este es mi fdisk -l :

[root@localhost ~]# fdisk -l

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: 0x00040cf1

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      102400   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              13        1288    10240000   83  Linux
/dev/sda3            1288        2333     8388608   82  Linux swap / Solaris

Disk /dev/sdc: 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: 0x0005159c

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1       60802   488385536   fd  Linux raid autodetect

Disk /dev/sdb: 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: 0x0006dd55

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1          26      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sdb2              26        4106    32768000   82  Linux swap / Solaris
/dev/sdb3            4106        5380    10240000   83  Linux
/dev/sdb4            5380       60802   445172736    5  Extended
/dev/sdb5            5380       60802   445171712   fd  Linux raid autodetect

Disk /dev/sdd: 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: 0x9f639f63

   Device Boot      Start         End      Blocks   Id  System
/dev/sdd1               1       60802   488385536   83  Linux

Disk /dev/md127: 956.0 GB, 955960524800 bytes
2 heads, 4 sectors/track, 233388800 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 524288 bytes / 1048576 bytes
Disk identifier: 0x00000000

Leí en alguna parte que puedes hacer esto con este comando: mdadm -A --scansin embargo, no produce ningún resultado para mí -> No se encontraron matrices en el archivo de configuración o automáticamente

Latheesan
fuente
¿Cuál es la salida de mdadm --examine /dev/sdby mdadm --examine /dev/sdc?
Darth Android
Además, ¿cuál es la salida de cat /proc/mdstat?
Darth Android
Acabo de dar cuenta, es probable que desee mdadm --examineel /dev/sdb5y /dev/sdc1particiones en lugar de las propias unidades.
Darth Android
Lo he examinado y aquí está el resultado: pastebin.com/raw.php?i=nnFzw0GG
Latheesan
¿Cuál es el resultado de cat /proc/mdstat? Ese pastebin dice que su matriz anterior funciona bien y está 100% limpia; de hecho, la razón por la que no puede ensamblar la matriz es porque ya está ensamblada. Tratar mkdir /mnt/oldData && mount /dev/md127 /mnt/oldData. Dicho esto, si una de las unidades estaba dando un error INTELIGENTE, ya no confiaría en la unidad, y aún así haría una copia de seguridad de todos los datos de ella.
Darth Android

Respuestas:

2

Primero, determine el valor de los datos. Si se trata de datos críticos para el negocio que usted tiene que tener, evaluar sus opciones con respecto al envío de los discos a un servicio de recuperación de datos profesional. La autorrecuperación de discos agonizantes y matrices RAID bloqueadas siempre está un poco alejada del mapa. Si ya está asumiendo que los datos en las unidades antiguas se pierden y solo espera recuperar algo de datos, y no desea gastar dinero adicional, continúe.

Probablemente tendrá que forzar la matriz juntos. Esto puede resultar en corrupción silenciosa porque el RAID sabe que no está limpio, y le está diciendo que sonría y pretenda que lo está de todos modos. Solo tenga en cuenta que deberá verificar manualmente la integridad de cualquier archivo que extraiga del RAID.

Puede forzar una matriz junto con:

mdadm --assemble --force /dev/md126 /dev/sdb5 /dev/sdc1

Si /dev/md126ya existe en su sistema, elija el siguiente ( /dev/md125) hasta que encuentre un dispositivo libre (inexistente).

Esto debería forzar la matriz a un estado de trabajo. Montemos el sistema de archivos de solo lectura para que podamos extraer datos de él sin corromper nada más.

mkdir /mnt/oldData
mount /dev/md126 /mnt/oldData -o ro

En este punto, debería poder copiar datos desde /mnt/oldDatay hacia una ubicación segura.

Darth Android
fuente
Esto es exactamente lo que quiero hacer ahora; recuperar los datos Intenté su recomendación y recibo el siguiente error: mdadm: / dev / sdb5 está ocupado - omitiendo y mdadm: / dev / sdc1 está ocupado - omitiendo. Usé mdadm para --examinar sdb5 y sdc1 y esto es lo que dice: pastebin.com/raw.php?i=nnFzw0GG
Latheesan