/ dev分区丢失,所以mdadm坏了。如何让Linux看到分区?


1

升级了Linux机箱并更改了根驱动器。我移动了三个SATA驱动器的RAID-5阵列(不是root)。重新安装了操作系统,但之前和之后都是CentOS 6.4。

# mdadm --assemble /dev/md1 /dev/sdc1 /dev/sdd1 /dev/sde1
mdadm: cannot open device /dev/sdc1: No such file or directory
mdadm: /dev/sdc1 has no superblock - assembly aborted

确实如此,没有/ dev / sdc1。

分区确实存在:

# fdisk -l /dev/sdc

Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 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: 0x000cca42

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1   *           1      121601   976760001   83  Linux

驱动器出现在BIOS中,显然我可以对它们进行fdisk以便它们正在工作。但是为什么Linux不会为它们创建设备?

我看见了这个:

/ dev中缺少分区

但是,它并不适用。就我而言,之前和之后的主板是英特尔RAID Matrix主板,但我从未使用过英特尔的RAID - 总是使用mdadm并在内核中使用RAID。

当我做检查时:

# mdadm -Evvv /dev/sdc
/dev/sdc:
   MBR Magic : aa55
Partition[0] :   1953520002 sectors at           63 (type 83)

我可以看到/ dev / mapper中没有任何内容。从6.4 dist开始,操作系统是最新的(尚未进行yum更新)。

那么......我怎样才能让/ dev / sdc1出现在操作系统上?

/ dev / sdd1和/ dev / sde1也是同样的问题,它们是旧数组中的另外两个驱动器。/ dev / sdf1到/ dev / sdi1(这是新的)一切正常。

Answers:


2

您必须在过去的某个时刻使用Intel fakeraid中的驱动器,并且只是禁用了raid bios。这dmraid会将驱动器上的fakeraid签名留下来识别并隐藏分区,因为您不应该通过dmraid设备触摸它们。使用dmraid -E删除驱动器上的fakeraid签名。


是的,他们被用于假装但我没有做“硬件”突袭 - 只是mdadm。换句话说,之前的主板将它们表示为普通驱动器,而不是RAID。我不知道它会留下粘性指纹......谢谢。
raindog308 2013年

1

yum update没有解决它。

解决方案是:将'nodmraid'添加到内核的引导行:

title CentOS (2.6.32-358.14.1.el6.x86_64)
        root (hd1,0)
        kernel /boot/vmlinuz-2.6.32-358.14.1.el6.x86_64 ro root=UUID=bcc55ef9-43b4-4938-a1a6-9ccd1f9be1f8 rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 nodmraid rd_MD_UUID=e5431160:92d33565:164c859f:ee1f94e6 SYSFONT=latarcyrheb-sun16 quiet rd_NO_LVM rd_NO_DM crashkernel=auto
        initrd /boot/initramfs-2.6.32-358.14.1.el6.x86_64.img

我忘记了我在前一个方框上设置了那个。我不完全确定为什么设备映射器会做它所做的但是...这阻止了它:-)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.