在redhat 7.2上(我没有根访问权限)命令,如ls、cat,在xfs文件系统挂起中创建的某些目录/文件上运行/运行。我还观察到了dmesg输出的连续错误,如:
[Thu Apr 12 10:22:27 2018] dm-3: rw=33, want=63076776, limit=62914560 [Thu Apr 12 10:22:27 2018] attempt to access beyond end of device [Thu Apr 12 10:22:27 2018] dm-3: rw=33, want=63076784, limit=62914560 [Thu Apr 12 10:22:27 2018] attempt to access beyond end of device
文件系统的大小应该是50 be,在df -h输出上是50 be。
$ df -h /opt/data
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/datavg-optdata 50G 3.5G 47G 7% /opt/data但是,当我检查lsblk时(只有这个功能不需要根访问),它显示了30 it的LV设备大小。在更小的30 LV上,FS怎么会被调整到50 LV?还是这里还有其他的xfs问题?
sdb 8:16 0 50G 0 disk
└─datavg-optdata 253:3 0 30G 0 lvm /opt/data有人有线索吗?
发布于 2018-04-12 13:57:40
正如frostschutz和psusi已经评论过的那样,最有可能的事件链是文件系统和它包含的LV最初都是50G大小的。
xfs_growfs命令通常会增长文件系统以匹配底层存储设备的大小(无论是LV、分区还是整个磁盘)。xfs_growfs二进制文件中可用的消息似乎表明,即使您自己指定了文件系统的新大小,它也会检查答案,因此不可能将文件系统扩展到底层LV的范围之外。
更有可能的是,有人忘记了lvreduce命令(如果没有-r选项,如果实现的话)只会减少LV,而不会减少其中的文件系统。而且XFS文件系统没有缩小的能力,只具有扩展的能力。
使用LVM,扩展现有的文件系统和LV很容易.因此,人们可能会认为,减少这些风险同样容易。不幸的是,这并不完全正确:减少文件系统通常比扩展文件系统要复杂得多。
现在,如果将datavg-optdata LV从50G减少到30G,就意味着文件系统尾部的20G块被切断了。如果立即将减少的空间用于其他用途,则那里的数据现在丢失了。
https://unix.stackexchange.com/questions/437268
复制相似问题