Я нахожусь в том же положении, что и «потерянный» рейд MDADM после перезагрузки:

Я следовал этому руководству, чтобы настроить массив raid-1 с двумя дисками (я работал в оболочке восстановления, поэтому без "sudo"):

mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdc /dev/sdd
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
mkfs.ext4 -F /dev/md0
e2label /dev/md0 home
echo >>/etc/fstab 'LABEL=home /home ext4 defaults 0 2
mkdir -p /mnt/md0
mount /dev/md0 /mnt/md0
( cd /home && tar cf - * ) | ( cd /mnt/md0 && tar xvf - )

Все прошло нормально до следующей перезагрузки (я ждал успешного завершения синхронизации).

После того, как перезагрузка /dev /md0 была потеряна, я переиздал начальную команду:

mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdc /dev/sdd

... и он воссоздал диск с полным содержимым (я проверил с помощью "rsync"), но снова перезапустил синхронизацию.

Я ждал еще раз, чтобы это прекратилось (несколько часов!) и перезагрузил снова.

Снова устройство Raid потеряно, и, очевидно, суперблок никогда не записывался на диск, поскольку я нахожу две пустые таблицы разделов в конце первого сектора (см. Подпись aa55).

root@cinderella:~# mdadm --assemble /dev/md0 /dev/sdc /dev/sdd
mdadm: Cannot assemble mbr metadata on /dev/sdc
mdadm: /dev/sdc has no superblock - assembly aborted
root@cinderella:~# mdadm --misc --examine /dev/sd[cd]
/dev/sdc:
   MBR Magic : aa55
Partition[0] :   3907029167 sectors at            1 (type ee)
/dev/sdd:
   MBR Magic : aa55
Partition[0] :   3907029167 sectors at            1 (type ee)
root@cinderella:~# cat /proc/mdstat 
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
unused devices: <none>

Я готов повторить все с нуля, но это занимает много времени (это диски 2T, а содержимое, которое мне нужно скопировать - ~ 1T), и я хотел бы понять, что пошло не так, прежде чем делать еще одно вращение.

С уважением, это выглядит как ошибка mdadm (серьезная!), Но я, конечно, могу ошибаться.

Теперь я переделал создание и ...

root@cinderella:~# mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdc /dev/sdd
mdadm: partition table exists on /dev/sdc
mdadm: partition table exists on /dev/sdc but will be lost or
       meaningless after creating array
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
mdadm: partition table exists on /dev/sdd
mdadm: partition table exists on /dev/sdd but will be lost or
       meaningless after creating array
mdadm: size set to 1953382464K
mdadm: automatically enabling write-intent bitmap on large array
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
root@cinderella:~# cat /proc/mdstat 
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid1 sdd[1] sdc[0]
      1953382464 blocks super 1.2 [2/2] [UU]
      [>....................]  resync =  0.1% (2260544/1953382464) finish=230.1min speed=141284K/sec
      bitmap: 15/15 pages [60KB], 65536KB chunk

unused devices: <none>
root@cinderella:~# mount -v /dev/md0 /mnt/md0
mount: /dev/md0 mounted on /mnt/md0.
root@cinderella:~# ls -la /mnt/md0
total 36
drwxr-xr-x   6 root  root   4096 Feb 18 22:40 .
drwxr-xr-x   4 root  root   4096 Feb 18 22:34 ..
drwxr-xr-x   7 mauro mauro  4096 Feb 23  2018 etherpad
drwx------   2 root  root  16384 Feb 18 11:10 lost+found
drwxr-xr-x  16 mauro mauro  4096 Nov 10 11:42 mauro
drwxr-xr-x 127 mcon  mcon   4096 Feb 19 15:09 mcon
root@cinderella:~# 

Любая идея?

1 ответ1

0

Для того, кто будет в моей ситуации:

Я не знаю, является ли это ошибкой или нет, но кажется, что mdadm очень чувствителен к таблице разделов в MBR.

После многих испытаний я наконец решил свою проблему, сделав следующее:

  • rebooot
  • Запишите MBR на каждый диск в массиве:
    • дд если =/dev/ ноль =/dev/ sdc bs = 512 count = 1
    • дд если =/dev/ ноль =/dev/ sdd bs = 512 count = 1
  • воссоздать массив (это вызовет повторную синхронизацию):
    • mdadm --create --verbose /dev/ md0 --level = 1 --raid-devices = 2 /dev/ sdc /dev/ sdd
  • проверить содержимое не потеряно
    • mount /dev/ md0 / mnt
    • изучить содержимое
    • umount / mnt
    • дождитесь завершения повторной синхронизации (иначе fsck будет очень медленным)
    • fsck -pfC /dev/ md0
  • сохранить массив
    • mdadm --examine --scan >> /etc/mdadm/mdadm.conf
    • удалить старые строки постоянства, если они есть.
    • update-initramfs -u
  • перезагрузите компьютер снова (чтобы убедиться, что все в порядке).
  • наслаждаться!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .