Назад | Перейти на главную страницу

стерли md0, md1 и не могут их воссоздать

Раньше у меня был рабочий массив RAID 1. Думаю в результате бега grub-install /dev/sdb и grub-install /dev/sdc Я как-то стер с компьютера md0 и md1.

Мне нужно снова их настроить. Когда я пытаюсь создать md0 array, я получаю следующую ошибку.

/dev# mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 missing -f
mdadm: device /dev/sda1 not suitable for any style of array

Похоже, что Debian думает, что диск уже находится в массиве, но это не так.

# fdisk -l

Disk /dev/sda: 250.0 GB, 250000000000 bytes
255 heads, 63 sectors/track, 30394 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: 0x00000080

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       30064   241489048+  fd  Linux raid autodetect
/dev/sda2           30065       30394     2650725    5  Extended
/dev/sda5           30065       30394     2650693+  fd  Linux raid autodetect

# cat /proc/mdstat 
Personalities : [raid1] 
unused devices: <none>

# mount
/dev/md0 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)

Как только все станет плохо, я лично смонтирую каждый из сырых разделов как файловую систему только для чтения (например, mount -r /dev/sda1 /mnt), выгрузите содержимое на ленту / внешний диск / в любое место, где у вас есть место, воссоздайте массивы с нуля и восстановите данные.

При условии /dev/md0 установлен на /Я бы сказал, что он жив и здоров. Если такого файла устройства не существует, взгляните на dmesg чтобы определить почему. Возможно, посмотрите и на свою конфигурацию udev.

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

Если /dev/md1 не существует, вы, вероятно, могли бы создать его с помощью mdadm (предположительно из /dev/sda5 и еще кое что).

Вам следует избегать манипулирования корневым разделом с помощью mdadm во время выполнения. Если его создает не автоматическое определение ядра, это должен быть initrd, и именно здесь mdadm должен делать свое дело, если это необходимо.