执行mount报错 can't read superblock。 执行xfs_repair -L 报错Phase 1 - find and verify superblock... xfs_repair: error - read only 0 of 512 bytes

情况描述

        执行 mount /dev/sdX /123  挂载时 报错 can't read superblock

        进行xfs_repair -L  /dev/mapper/centos-home 修复文件系统时 报错  (加 -L 时需要备份数据,可能数据会丢失

               Phase 1 - find and verify superblock...

               xfs_repair: error - read only 0 of 512 bytes

 

挂在mount报错can

 

排查结果:

        原因:在机器中执行过 lvreduce 命令。 xfs格式的分区不支持减操作,通过机器命令排查是否有lvreduce操作

history  |grep "lvreduce"
  155  lvreduce -L -10G /dev/centos/home

修复过程:

      方式1:

        需要在被减空间的那个盘中做增加操作, 这边减了10G /dev/centos/home 的空间,需要加回来(加的空间大于减的空间)。

lvextend -L +11G /dev/centos/home     #加空间
xfs_growfs /dev/centos/home           #修复文件系统

      方式2:

        增加一个新盘 进行拷贝

     1.新挂一个盘  (此处忽略)

     2.对新盘 创建物理卷/dev/sdb1

pvcreate /dev/sdb1

     3.将新物理卷/dev/sdb1添加到卷组centos中

vgextend centos /dev/sdb1

     4.将物理卷/dev/sda2(需要拷贝的硬盘,老卷)上的数据迁移到物理卷/dev/sdb1(新卷)上

pvmove /dev/sda2 /dev/sdb1

挂在mount报错can

     5.加空间

lvextend -L +15G /dev/centos/home

      6. 修复文件系统/dev/centos/home

xfs_repair /dev/centos/home -L

挂在mount报错can

 

      7.创建新目录 挂载测试

   mkdir /123     &&  mount /dev/centos/home /123