已删除 md0、md1 并且无法重新创建它们

已删除 md0、md1 并且无法重新创建它们

我之前有一个可以正常工作的 RAID 1 阵列。我想这是由于运行grub-install /dev/sdbgrub-install /dev/sdc不知何故我清除了计算机上的md0md1

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

/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)

答案1

一旦事情变得如此糟糕,我个人会将每个原始分区安装为只读文件系统(例如mount -r /dev/sda1 /mnt),将内容转储到磁带/外部驱动器/任何有空间的地方,从头开始重新创建阵列,然后恢复数据。

答案2

鉴于 已/dev/md0安装在 上/,我认为它运行良好。如果不存在这样的设备文件,请查看dmesg以确定原因。也许还要查看您的 udev 配置。

目前还不清楚您通过指示 mdadm 实例化仅带有一个设备的 RAID1 阵列(当该阵列已创建并安装时,很可能是由内核的 RAID 自动检测创建的​​)来实现什么目的。它不允许您这样做一点也不奇怪。

如果/dev/md1不存在,您可能可以使用 mdadm 创建它(假定是出于/dev/sda5其他原因)。

您应该避免在运行时使用 mdadm 操作根分区。如果不是内核自动检测创建了它,则它应该是 initrd,如果需要,mdadm 应该在那里执行其工作。

相关内容