我有四个500GB磁盘,在Debian安装期间(在系统驱动器的SSD旁边)被设置为Linux Software-RAID 5卷。 其中一个驱动器(SD)坏了,现在我正试图取代它,我遇到了一些麻烦。
在从mdadm的arrays中删除坏的驱动器之后,我用另一个500GB备用驱动器replace了驱动器,这个驱动器与一台新购买的PC一起提供。 该驱动器有一个Windows上的NTFS分区(立即被replace为SSD)。
第一次尝试(或多或less)错了 – NTFS3G看到了分区,我能够将NTFS卷添加到arrays,并开始重build。 在我的RAID下使用NTFS绝对不是我的意图,所以我停止了重build,并开始重新分区的驱动器。
起初,我尝试使用fdisk(最大大小,默认值,分区types“fd”)手动分区 – 没有工作,mdadm拒绝sda1。 使用fdisk快速检查 – 开始,阻止号码和结束不匹配 – 好的,我看到了问题。
第二次尝试是用“sfdisk -d / dev / sdd | sfdisk / dev / sda”复制其他磁盘中的分区数据。 我甚至把他的第一个512字节作为最终评论推荐的sddisk。 比较分区数据 – 开始,结束和块匹配的数量 – 看起来不错。
但是现在mdadm告诉我,/ dev / sda1不是块设备,不会让我添加它。 但是,可以销毁/ dev / sda上的分区数据,并为mdadm整个驱动器重build,但现在看起来有点不对劲了:
Number Major Minor RaidDevice State 4 8 0 0 active sync /dev/sda 1 8 17 1 active sync /dev/sdb1 2 8 33 2 active sync /dev/sdc1 3 8 49 3 active sync /dev/sdd1
而且我对此一点也不完全熟悉,当fdisk现在在/ dev / sda上找不到分区时 – 在系统崩溃的情况下,在整个系统重新组装数组时似乎更加棘手驱动器被用来代替分区(另见: 这里 )。
我错过了什么? 我怎么能告诉mdadm使用分区的RAID? 或者还有人会推荐使用整个驱动器(甚至转换其他驱动器)? 还是真的让debian安装程序在那里做了更多的事情(在整个驱动器上设置分区以创build分区外的RAID)?
我希望我没有给太多的文字和太多的细节,但是现在我做了一些像所推荐的几个教程一样的一切,现在我正在绊倒这些基本问题。
感谢您的帮助!
首先,我不认为使用mdadm的完整驱动器有什么问题。 换句话说,你的设置现在可以工作,你将不会有任何进一步的摆弄的好处。 从你所说的答案来看:
RAID-on-partition有其用途,但是当您在伪存储池设置中使用驱动器时,有时使用“整个驱动器”而不是“分区”RAID成员更好。
现在如果你想使用分区:第一次你做的是正确的,但是看起来内核没有注册/dev/sda1 。 内核没有注册(只是重启,它会自行解决),或者你使用GPT分区的其他驱动器(该sfdisk不支持AFAIK – 你只是复制保护MBR)。 用gdisk或gparted等工具再试一次。
您可以从raid中删除/dev/sda (标记为失败,将其从arrays中删除),做出明智的分区布局(如果您使用的是GPT,请确保使用gdisk或类似),如有必要重新启动并添加/dev/sda1到您的RAIDarrays。
在重新使用mdadm之前,我喜欢用零填充用过的驱动器。 它使变频器工厂变得新鲜,避免了这些问题。 这将用零填充/ dev / sda …
dd if=/dev/zero of=/dev/sda bs=1M