在我的服务器上,我有一个 4 磁盘 RAID-5 配置。其中一个驱动器未通过 SMART 测试。该阵列尚未被声明为降级,但磁盘显示需要更换。
我不想只因为它有几个坏块就花钱买一个新驱动器。
所以,我一直在想,如果我从阵列中移除驱动器,重新格式化它,然后重新插入它。我是否能够重新初始化它,并且坏扇区是否会自动映射出来?
或者我需要做些额外的事情吗?
(请注意:我正在使用无头、无 X 的服务器。因此,只有 CLI 可用。)
此外,根据其他人的意见,我已经拔出驱动器并用备用驱动器替换它。阵列正在修复。
所以,磁盘现在放在架子上,我想知道:如果我稍后把它放回去,坏块会被映射出来吗?
答案1
看看这些是否是你在寻找的东西:
sudo e2fsck -c /dev/sdXY
(替换sdXY
为目标设备)
该-c
选项导致e2fsck
使用badblocks
程序执行只读扫描(相当于使用badblocks
开关-n
)来查找任何坏块。如果发现任何坏块,它们将被添加到坏块 inode 中,以防止它们被分配给文件或目录。如果-c
指定此选项两次(请注意,此选项会删除数据),例如:
sudo e2fsck -cc /dev/sdXY
然后使用非破坏性读写(相当于使用badblocks
开关-w
)测试。如果您想在现有文件系统上进行写入模式测试,请使用 -n 选项。它速度较慢,但可以保留您的数据。
要打印文件系统中保留为坏的块,您可以使用:
sudo dumpe2fs -b /dev/sdaX
(完整磁盘)
sudo dumpe2fs -b /dev/sdaXY
(针对磁盘的特定分区)