技术解析

求助, lvm 卷 xfs 文件系统,在经过我一番操作后,提示输入输出错误
0
2021-06-23 09:27:20
idczone

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

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


xfs 文件系统不支持缩小

哎,我也是执行了操作以后才知道。所以现在还有没有什么办法能挽救?

开 ssh,我也救不了了

默认情况下 lvreduce 不会在缩小分区时同时缩小分区中的文件系统呀,缩小后可能有元数据的写入释放的空间,文件系统的数据结构被破坏了。。。下次记得 lvreduce 加个 -r 参数。

输入输出错误,把 dmesg 打出来我看一眼


由于完整信息太长,v2ex 无法回复,所以麻烦移步
https://s.cxice.com/thread-2974.htm
先谢谢了

那这现在咋整?

嗯?开 ssh 然后呢?

xfs_repair 试试看呢

从你的 log 里没看到任何 umount 的操作,先 umount 再 xfs_repair

[242061.505790] attempt to access beyond end of device
[242061.505799] dm-2: rw=7217, want=6444519751, limit=5862637568
[242061.505818] XFS (dm-2): metadata I/O error: block 0x1801f9145 ("xlog_iodone") error 5 numblks 64
[242061.505825] XFS (dm-2): xfs_do_force_shutdown(0x2) called from line 1222 of file fs/xfs/xfs_log.c. Return address = 0xffffffffc053ae20
[242061.505836] XFS (dm-2): Log I/O Error Detected. Shutting down filesystem
[242061.505839] XFS (dm-2): Please umount the filesystem and rectify the problem(s)
[242239.788000] sdc: sdc1

dm-2: rw=7217, want=6444519751, limit=5862637568
把硬盘再 lv 再扩大吧,没有原来的的大。
还有你的数据大概率找不全了


umount /home
umount: /home:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
umount -l /home
xfs_repair /dev/mapper/centos-home
xfs_repair: cannot open /dev/mapper/centos-home: 设备或资源忙

lvextend 可能用到了其他的 extent,所以读不到原来的数据。如果使用原来的 extent,可能可以修复
应该先缩小文件系统,再缩小 lv 的,但你直接缩小 lv 了
lvextend 应该指定原来的 pv 和 extent,但你可能没有指定
lvm 是可以恢复原先的配置的,在 /etc/lvm/backup, archive 都有记录,而你选择了 lvextend ……
挂载之后 ls 出现错误,这时候就不应该做任何操作,但你还执行了 xfs_repair 等等,很可能造成进一步的破坏
连续几次失误……

这个应该怎么操作?之前执行的是 lvextend -l +100%FREE /dev/mapper/cenos-home

手贱阿,本来好好的,啥事没有,可是脑子一抽,就想试试缩小文件系统,结果一发不可收拾。。。。。这现在该怎么整?

放弃吧,以后重要文件做好备份

一点办法都没有了吗?
数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服