Hace mucho tiempo creé un par RAID1 desde el menú de inicio de una tarjeta JMicron JMB363. Todo funcionaba bien en Windows y la matriz RAID1 fue reconocida como un solo disco. No recuerdo exactamente cuántas particiones tenía el disco, pero seguro que había una partición NTFS que era la única que se usaba cuando el espejo funcionaba en Windows.
Recientemente moví el sistema operativo de Windows a Linux y ya no puedo usar la partición NTFS. Puedo ver que los dos discos son idénticos desde el punto de vista de las particiones como se esperaba:
#lsblk --fs
...
sdb linux_raid_member 1.2 MyRAIDLabel <uuid>
└─md127
sdc linux_raid_member 1.2 MyRAIDLabel <uuid>
└─md127
El fdisk
comando muestra la partición NTFS en el par de discos.
#fdisk -l
Disk /dev/sdc: 465.76 GiB, 500107862016 bytes, 976773168 sectors
...
Device Boot Start End Sectors Size Id Type
/dev/sdc1 2048 204802047 204800000 97.7G 7 HPFS/NTFS/exFAT
Disk /dev/sdb: 465.76 GiB, 500107862016 bytes, 976773168 sectors
Disk model: ST500DM002-1BD14
...
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 204802047 204800000 97.7G 7 HPFS/NTFS/exFAT
Por extraño que parezca, no hay /dev/sdb1
or /dev/sdc1
en el sistema de archivos, sino solo /dev/sdb
y /dev/sdc
. Entonces la partición NTFS parece "oculta".
También md
se muestra el dispositivo.
...
Disk /dev/md127: 465.64 GiB, 499973619712 bytes, 976510976 sectors
...
Sin embargo, hasta donde tengo entendido, md
se utiliza para lograr RAID con múltiples discos a través de software. No entiendo si la tarjeta JMicron manejó la sincronización entre los dos discos o si la manejó el controlador de Windows. Entonces la pregunta es:
¿Necesito usar Linux md también cuando la tarjeta maneja la matriz RAID?
Si intento montar /dev/md127
me sale un error:
#mount -t auto -o loop /dev/md127 /mnt/raid
mount: /mnt/raid: wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error.
Si intento montar /dev/sdb
o /dev/sdc
aparece otro error:
mount: /mnt/raid: unknown filesystem type 'linux_raid_member'
Otra cosa inexplicable es que si leo los primeros 16 bytes de los dos dispositivos de disco obtengo un resultado diferente al md
siguiente:
# hexdump -C -n 16 /dev/md127
00000000 20 69 6e 20 6f 72 67 2e 61 70 61 63 68 65 2e 68 | in org.apache.h|
00000010
# hexdump -C -n 16 /dev/sdb
00000000 33 c0 8e d0 bc 00 7c 8e c0 8e d8 be 00 7c bf 00 |3.....|......|..|
00000010
# hexdump -C -n 16 /dev/sdc
00000000 33 c0 8e d0 bc 00 7c 8e c0 8e d8 be 00 7c bf 00 |3.....|......|..|
00000010
Parece que el md
dispositivo comienza con el contenido de un archivo.
¿Cómo puede ser posible?
¿Cómo puedo recuperar los datos de la matriz?
Datos adicionales md
:
Aquí hay información adicional reportada en el mdstat
archivo:
#cat /proc/mdstat
Personalities : [raid1]
md127 : active (auto-read-only) raid1 sdb[1] sdc[0]
488255488 blocks super 1.2 [2/2] [UU]
bitmap: 0/4 pages [0KB], 65536KB chunk
unused devices: <none>
Aquí está el resultado de mdadm
:
mdadm --detail /dev/md127
/dev/md127:
Version : 1.2
Creation Time : Sun Sep 7 17:57:53 2014
Raid Level : raid1
Array Size : 488255488 (465.64 GiB 499.97 GB)
Used Dev Size : 488255488 (465.64 GiB 499.97 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Sat Feb 25 20:21:09 2023
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Consistency Policy : bitmap
Name : MirrorRAID:0
UUID : 95f02fbb:71f61cca:e24e932f:2dcfc5e0
Events : 150294
Number Major Minor RaidDevice State
0 8 32 0 active sync /dev/sdc
1 8 16 1 active sync /dev/sdb
#mdadm --examine /dev/sdb
/dev/sdb:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : 95f02fbb:71f61cca:e24e932f:2dcfc5e0
Name : MirrorRAID:0
Creation Time : Sun Sep 7 17:57:53 2014
Raid Level : raid1
Raid Devices : 2
Avail Dev Size : 976511024 sectors (465.64 GiB 499.97 GB)
Array Size : 488255488 KiB (465.64 GiB 499.97 GB)
Used Dev Size : 976510976 sectors (465.64 GiB 499.97 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262056 sectors, after=48 sectors
State : clean
Device UUID : 934abcd2:ead8a42a:ca23dd27:cd380990
Internal Bitmap : 8 sectors from superblock
Update Time : Sat Feb 25 20:21:09 2023
Bad Block Log : 512 entries available at offset 72 sectors
Checksum : 87fc2008 - correct
Events : 150294
Device Role : Active device 1
Array State : AA ('A' == active, '.' == missing, 'R' == replacing)
#mdadm --examine /dev/sdc
/dev/sdc:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : 95f02fbb:71f61cca:e24e932f:2dcfc5e0
Name : MirrorRAID:0
Creation Time : Sun Sep 7 17:57:53 2014
Raid Level : raid1
Raid Devices : 2
Avail Dev Size : 976511024 sectors (465.64 GiB 499.97 GB)
Array Size : 488255488 KiB (465.64 GiB 499.97 GB)
Used Dev Size : 976510976 sectors (465.64 GiB 499.97 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262056 sectors, after=48 sectors
State : clean
Device UUID : ce4a6223:22a98469:8486de1b:16f34071
Internal Bitmap : 8 sectors from superblock
Update Time : Sat Feb 25 20:21:09 2023
Bad Block Log : 512 entries available at offset 72 sectors
Checksum : ecbb0d7c - correct
Events : 150294
Device Role : Active device 0
Array State : AA ('A' == active, '.' == missing, 'R' == replacing)