崩溃后,我不得不更换我的一个硬盘(即 sdd)。旧硬盘(以及剩下的硬盘 - sdc - 以及 md0 本身)使用 512 字节的块大小。新硬盘的物理块大小为 4K。
现在的问题是,我可以将新驱动器添加到 RAID 中吗?它可以起作用吗?
这里是来自 fdisk 的一些信息:(其中 md0 是 raid,sdc 是活动的,sdd 是将用于替换的新 raid):
# fdisk -l /dev/md0 /dev/sdc /dev/sdd 盘/dev/md0:1000.2 GByte,1000202174464 字节 2 Köpfe, 4 Sektoren/Spur, 244189984 Zylinder 总计 = 8 × 512 字节 = 4096 字节 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标识符:0x00000000 主盘 /dev/md0 没有可用的分区表 盘/dev/sdc: 1000.2 GByte, 1000204886016 字节 255 Köpfe,63 Sektoren/Spur,121601 Zylinder 总计 = 字节数 16065 × 512 = 8225280 字节 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标识符:0x31eb0cf1 设备启动。安方末端区块身份证系统 /dev/sdc1 1 121601 976760001 fd Linux raid 自动检测 盘片 /dev/sdd: 1000.2 GByte, 1000204886016 字节 255 Köpfe,63 Sektoren/Spur,121601 Zylinder 总计 = 字节数 16065 × 512 = 8225280 字节 扇区大小(逻辑/物理):512 字节 / 4096 字节 I/O 大小(最小/最佳):4096 字节 / 4096 字节 磁盘标识符:0x00000000 硬盘 /dev/sdd 没有可用的分区表
我能想到的唯一其他方法是创建另一个 md1,将新驱动器添加到其中,将所有文件复制(rsync -avl)到新 md,对旧驱动器重新分区以适合 4K 块大小,反汇编 md0,然后将旧驱动器添加到新 md1。
但这会花费很多时间,所以我想避免这种情况。
答案1
它似乎可以工作,没有任何问题。
我做了什么:
- 将新驱动器添加到 RAID 并让 mdadm 同步驱动器
- 同步完成后再次从 RAID 中移除新驱动器
- 在驱动器上运行 fsck。
- 安装驱动器并手动测试一些目录和文件
- 卸载驱动器并将其重新添加到 RAID
所有这些步骤都没有问题。文件系统按预期运行。
所以答案最终是(不保证其通用性):您可以向 RAID1 添加具有不同块和 I/O 大小的设备。
答案2
购买另一张磁盘。虽然要花钱,但可以节省时间。