具有不同块大小的硬盘的mdadm RAID1

在崩溃后,我不得不更换我的硬盘(即sdd)之一。 旧的(还有一个–sdc – 和md0本身)使用512字节的块大小。 新驱动器的物理块大小为4K。

现在的问题是,我可以将新的驱动器添加到RAID,它会工作吗?

这里有一些来自fdisk的信息:(其中md0是raid,sdc是活动的,sdd是将被用于replace的新的):

 #fdisk -l / dev / md0 / dev / sdc / dev / sdd

普拉特/ dev / md0:1000.2 GByte,1000202174464字节
 2Köpfe,4 Sektoren / Spur,244189984 Zylinder
 Einheiten = Zylinder von 8×512 = 4096字节
扇区大小(逻辑/物理):512字节/ 512字节
 I / O大小(最小/最佳):512字节/ 512字节
磁盘标识符:0x00000000

 Festplatte / dev / md0enthältkeinegültigePartitionstabelle

普拉特/ dev / sdc:1000.2 GByte,1000204886016字节
 255Köpfe,63 Sektoren / Spur,121601 Zylinder
 Einheiten = Zylinder von 16065×512 = 8225280字节
扇区大小(逻辑/物理):512字节/ 512字节
 I / O大小(最小/最佳):512字节/ 512字节
磁盘标识符:0x31eb0cf1

    Gerät引导。 安方恩德Blöcke身份证系统
 / dev / sdc1 1 121601 976760001 fd Linux raid autodetect

普拉特/ dev / sdd:1000.2 GByte,1000204886016字节
 255Köpfe,63 Sektoren / Spur,121601 Zylinder
 Einheiten = Zylinder von 16065×512 = 8225280字节
扇区大小(逻辑/物理):512字节/ 4096字节
 I / O大小(最小/最佳):4096字节/ 4096字节
磁盘标识符:0x00000000

 Festplatte / dev / sddenthältkeinegültigePartitionstabelle

我可以想象的唯一的另一种方式是创build另一个md1,添加新的驱动器,复制(rsync -avl)所有文件到新的md,重新分区旧的驱动器以适应4K块大小,反汇编md0,并添加旧的开车到新的md1。

但是这会花费很多时间,所以我想避免这种情况。

这似乎工作,没有任何问题。

我做了什么:

  1. 将新驱动器添加到RAID并让mdadm同步驱动器
  2. 同步完成后,再次从RAID中移除新驱动器
  3. 运行fsck。 在驱动器上
  4. 安装驱动器并手动testing一些目录和文件
  5. 卸载并重新添加到RAID的驱动器

所有这些步骤都没有任何问题。 文件系统按预期工作。

所以最后的答案是(不保证其一般性):您可以将具有不同块和I / O大小的设备添加到RAID1。

购买另一个磁盘。 这将花费金钱,但节省时间。