擦除md0,md1,不能重新创build它们

我以前有一个可用的RAID 1arrays。 我想作为运行grub-install /dev/sdbgrub-install /dev/sdc我以某种方式擦除了md0md1计算机。

我需要重新设置它们。 当我尝试创buildmd0数组时,出现以下错误。

 /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似乎认为驱动器已经在arrays中,但事实并非如此。

 # 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 ),将内容转储到磁带/外部驱动器/任何有空间的地方,重新创buildarrays,并恢复数据。

鉴于/dev/md0挂载在/ ,我会说这是相当活着的。 如果不存在这样的设备文件,请查看dmesg以确定原因。 也许看看你的udevconfiguration。

当数组已经被创build和挂载(很可能是由内核的RAID自动检测创build的​​)时,通过指导mdadm仅使用一个设备来实例化RAID1arrays,目前还不清楚你要完成什么。 一点也不奇怪,它不会让你这样做。

如果/dev/md1不存在,你可以使用mdadm(假设不在/dev/sda5和其他)创build。

您应该避免在运行时使用mdadm操作根分区。 如果不是内核自动检测创build它,它应该是一个initrd,这是mdadm应该做的事情,如果需要的话。