求助, lvm 卷 xfs 文件系统,在经过我一番操作后,提示输入输出错误

2018-07-14 00:53:30 +08:00
 yao990

今天手贱,先是用 lvreduce 命令将分区缩小至原来的一半,然后又用 lvextend 命令扩充至原来的大小,然后挂载,挂载可以正常挂载,当用 ls 列出文件时就提示无法打开目录,输入输出错误。 后执行 vgs.lvs.lvdisplay.pvdisplay.df.等命令均显示正常(或以我的水平还无法看出哪里有问题), 但想要进入分区查看文件时就提示输入输出错误,尝试 xfs_repair.xfs_metadump.xfs_growfs 等命令均提示输入输出错误。

现求助各位大侠该怎么办?

8298 次点击
所在节点    Linux
52 条回复
yao990
2018-07-14 10:46:10 +08:00
@tempdban @reus 我刚才在 /etc/lvm/archive/下发现了执行压缩操作时创建的还原点文件,是不是把这个还原点还原回去就好了?
henglinli
2018-07-14 11:47:52 +08:00
建议用 zfs 或者 btrfs
yao990
2018-07-14 13:21:31 +08:00
@henglinli 这都是后话了,现在我就想怎么恢复过来。。。。
reus
2018-07-14 15:03:39 +08:00
@yao990 这个可以恢复 vg,但是 xfs 有没有被你的 xfs_repair 之类的命令破坏就不知道了。如果你没动过文件系统,那恢复 vg 是肯定没问题的,问题就在于你用了 xfs_repair 之类的…………

恢复旧 vg 前把现在的 vg 也备份一下,存到其他地方,以备恢复……
msg7086
2018-07-14 17:23:09 +08:00
@reus 我在前一个帖子里已经明确提醒过在 dd 备份之前不要做任何破坏性操作。
如果只是提示 IO 错误的话,repair 应该还没有成功执行才对,这是我的猜测。
yao990
2018-07-14 17:39:11 +08:00
@reus 我恢复 vg 了,现在除了输入输出错误以外,其他的都和之前一样了。而且我也发现 vg 为什么和以前不一样了,是在一块硬盘后面有 4MB 的剩余空间,我在执行 lvextend -l +100%FREE /dev/mapper/cenos-home 时,将这 4MB 也一块扩展进去了。
所以现在就剩下清除 xfs 日志一条路可走了吗?


@tempdban 你说的忍受一点点的数据丢失是指的清除 xfs 日志吗?另外,一点点的数据丢失大概有多少?因为盘里有一部分(大概 40%)文件很重要,一部分( 60%)文件可有可无,,所以如果要丢数据能不能丢在可有可无的这一部分里?如果这个丢失和写入时间有关,丢失的是最后写入的部分的话,那没关系,刚好最后两天写入的都是不重要的,大概有接近 100GB 大小。
yao990
2018-07-14 17:41:04 +08:00
@msg7086 确定没有成功执行,因为 repair 也提示输入输出错误
msg7086
2018-07-14 17:53:13 +08:00
丢失和写入时间无关。
已经丢了的数据也不会因为你现在向老天爷祈祷所以给你换点数据丢……
Damenly1
2018-07-14 17:55:33 +08:00
@yao990 那就什么都不要动,备份设备, 去 linux-xfs@vger.kernel.org 发邮件,可能还有得救。
tempdban
2018-07-14 17:55:52 +08:00
到不是日志,我怕你把 ag 租和 inode 搞丢了。
还有输入输出错误就再看 dmesg,实在搞不定就 dd 然后 repair
yao990
2018-07-14 18:00:00 +08:00
@msg7086 说的也是啊,感觉这是随机的。
yao990
2018-07-14 18:06:13 +08:00
@tempdban 我执行 vg 恢复以后,研究里一下午 dmesg,但什么都没研究出来,倒是发现之前那个报大小不一致的错误现在不报了。
https://c.cxice.com/thread-2975.htm
这是最新的 dmesg,还请过目。
yao990
2018-07-14 18:07:16 +08:00
@Damenly1 我发个邮件试试吧,不知道看邮件的人能不能看懂中文?
Damenly1
2018-07-14 18:08:26 +08:00
@yao990 用英文。记得用纯文本格式
yao990
2018-07-14 18:10:37 +08:00
@Damenly1 好的,谢谢了
tempdban
2018-07-14 19:04:47 +08:00
我是觉得没啥问题了… 你可以 彻底 umount 掉 然后 repair
yao990
2018-07-14 19:07:56 +08:00
@tempdban 直接 repair 会报错,也是输入输出错误,repair -L 还没试。你说的那个会丢失部分数据的方法是什么?
yao990
2018-07-14 19:20:04 +08:00
@tempdban 另外大概会丢失多少文件?
tempdban
2018-07-14 20:14:36 +08:00
谁能知道丢多少…
yao990
2018-07-14 20:30:52 +08:00
@tempdban 额,不会全丢吧?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/470773

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX