我将重要数据保存在运行 Ubuntu 12.04 LTS 的机器上的 2 个镜像驱动器上(我认为这是正确的术语)。今天,我无法访问任何数据,并且“sudo zpool status -x”返回:
pool: data
state: ONLINE
status: One or more devices has experienced an error resulting in data
corruption. Applications may be affected.
action: Restore the file in question if possible. Otherwise restore the
entire pool from backup.
see: http://zfsonlinux.org/msg/ZFS-8000-8A
scan: none requested
config:
NAME STATE READ WRITE CKSUM
data ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
scsi-SATA_TOSHIBA_DT01ACA_Y3F4U6EGS ONLINE 0 0 0
scsi-SATA_TOSHIBA_DT01ACA_Y3FMSUNAS ONLINE 0 0 0
errors: 1 data errors, use '-v' for a list
当我运行“sudo zpool status -v”时,它会显示哪个文件已“损坏”。幸运的是,我并不关心这个特定的文件,所以我不需要恢复它。摘自这篇文章:
看来我应该运行“sudo zpool scrub”,但我犹豫了,因为那篇帖子涉及一个没有冗余的 zpool。清理 zpool 会让文件重新上线吗,还是会把整个事情搞砸?
答案1
zpool clear data
和/或zpool scrub data
我不知道你的磁盘出了什么问题。它们是如何失去连接或产生错误的?电缆松动?驱动器故障?
答案2
根据状态输出,ZFS 认为池没有问题,因此您通常可以期望数据可访问。
ZFS 文件系统在mount
输出中是否显示为已安装?池已导入,但文件系统仍有可能被卸载。
另外,如果详细输出列出了损坏的文件,可能值得删除它,运行clear
以清除错误,然后scrub
如果这是唯一损坏的数据,则希望它能够完成而没有任何错误。