我们的专用服务器的硬盘最近被诊断出有坏扇区,每次要访问磁盘上的某些数据时,整个服务器都会无响应,直到我通过机器人面板发出重新启动命令。我们要求服务器提供商安装一个新的磁盘驱动器,他们做到了。现在我想将所有内容硬复制到新磁盘上(因为旧磁盘仍然连接着),所以我以救援模式(网络启动)启动服务器,并通过 SSH(root)在网络启动的服务器上运行以下命令:
ddrescue -d -f -r3 /dev/sdb /dev/sda /home/ddrescue.log
大约 5 分钟后,服务器没有响应,甚至没有响应 SSH(好像端口已关闭)。
是什么原因造成的?当某些故障扇区即将被访问时,如何才能防止服务器失控。
答案1
您应该尝试启用TLER-- 时间受限错误恢复
如果没有它,有坏扇区的磁盘将会尝试读取受影响的数据 30 多秒,可能会导致整个磁盘子系统崩溃。
答案2
从外观上看,当您的硬件/驱动程序/任何东西遇到坏块时都会冻结,并且您无法继续备份。
您有坏块列表吗?
如何进行逻辑备份(例如使用 tar)?
我会采用以下方法来解决这个问题,但尚未测试过:
- 以某种方式获取坏块列表(
fsck.ext4
带有-c
和/或-l
)? - 有了坏块列表,使用以下命令查找受影响的文件
debugfs
:
icheck block ... Print a listing of the inodes which use the one or more blocks specified on the command line.
tar --exclude
使用...创建逻辑备份
祝你好运。:-s