使用 lvreduce 命令后如何恢复 - 无法读取超级块错误(CENTOS7 XFS)

使用 lvreduce 命令后如何恢复 - 无法读取超级块错误(CENTOS7 XFS)

我试图重新分配未使用的磁盘空间(1.2Tb),/dev/mapper/centos-home使用/dev/centos/root以下步骤如何将磁盘空间从 centos-home 移动到 centos-root

跑完步后...

$ umount /dev/mapper/centos-home
$ lvreduce -L 1200G /dev/mapper/centos-home

当我尝试重新安装驱动器时出现“无法读取超级块”错误。

$ mount /dev/mapper/centos-home
mount: /dev/mapper/centos-home: can't read superblock

在开始之前,我仔细检查了一遍,以确保在运行“lvreduce”命令之前有足够的可用空间(物理空间)(有 2Tb 可用空间)——但假设我的错误不是按照建议运行命令来首先缩小文件系统lvreduce 后 LVM 逻辑卷分区损坏,但也读到这在 XFS 系统上无法完成,或者无法找到具体细节。

我尝试使用以下方法恢复:

$ xfs_repair /dev/mapper/centos-home 

但结果却说

Sorry, could not find valid secondary superblock; Exiting now.

我也尝试恢复 LV 的大小

$ lvextend -L 1200G /dev/mapper/centos-home

结果,

New size (307200 extents) matches existing size (307200 extents)

superblock read尝试$ mount驱动器时出现同样的错误。

我不知道我现在给自己挖的坑有多深,所以这是我的问题。

从中恢复的最好方法是什么?或者,如果我无法恢复和安装损坏的驱动器,我是否只能删除它并创建一个同名的新驱动器?这是否可能,即我需要重新安装 CentOS 吗?我没有备份这个驱动器,因为我没有使用它。我使用了 PLESK 备份工具,因此可以通过这种方式恢复,但假设这只适用于驱动器,/dev/centos/root所以不适用于这里?

我有 4 个物理磁盘设置为 RAID5。其他驱动器和应用程序运行良好(PLESK 仍在运行/dev/centos/root),我不想损坏它们。

我还要完成成长的原定任务/dev/centos/root

现在的情况是这样的......

$ pvscan
  PV /dev/sda3   VG centos          lvm2 [2.04 TiB / 838.63 GiB free]
  Total: 1 [2.04 TiB] / in use: 1 [2.04 TiB] / in no VG: 0 [0   ]

$ vgscan
  Reading volume groups from cache.
  Found volume group "centos" using metadata type lvm2

$ lvscan
  ACTIVE            '/dev/centos/swap' [4.00 GiB] inherit
  ACTIVE            '/dev/centos/home' [1.17 TiB] inherit
  ACTIVE            '/dev/centos/root' [50.00 GiB] inherit


$ pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               centos
  PV Size               2.04 TiB / not usable 0
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              535714
  Free PE               214690
  Allocated PE          321024
  PV UUID               qISA9P-0jFe-gk9I-5uuL-OODW-N3af-OkfJlB

$ vgdisplay
  --- Volume group ---
  VG Name               centos
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  6
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               2.04 TiB
  PE Size               4.00 MiB
  Total PE              535714
  Alloc PE / Size       321024 / 1.22 TiB
  Free  PE / Size       214690 / 838.63 GiB
  VG UUID               zzLRUZ-96Vd-5NGr-YsCl-PJ0l-O8Sy-07Dbqu


$ lvdisplay
  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                Dxqf6A-Jtyp-Qdhx-1C0u-CS40-L95c-qF4tRU
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2016-12-20 09:00:45 -0500
  LV Status              available
  # open                 2
  LV Size                4.00 GiB
  Current LE             1024
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1

  --- Logical volume ---
  LV Path                /dev/centos/home
  LV Name                home
  VG Name                centos
  LV UUID                9QYG2p-0Srl-AluZ-qsBE-wCQ4-BXyN-0hmTp3
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2016-12-20 09:00:46 -0500
  LV Status              available
  # open                 0
  LV Size                1.17 TiB
  Current LE             307200
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                WrqVSs-EkZI-WD7W-AfsL-2PFX-iZLy-8TPjZr
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2016-12-20 09:01:40 -0500
  LV Status              available
  # open                 1
  LV Size                50.00 GiB
  Current LE             12800
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

答案1

SmallLoanOF1M,谢谢你的建议。因为在我的案例中,我不需要恢复/home逻辑卷上的数据(我知道这对大多数人来说是个例外),所以我按照说明操作这里并使用lvremove命令简单地将其删除。

$ lvremove -v /dev/centos/home

将剩余的可用空间返回给卷组。

然后我使用来lvextend扩展/rootlv

$ lvextend -L +900G /dev/centos/root

$ xfs_growfs /dev/centos/root

在现在更大的 LV 中扩展文件系统。下次我为 plesk 应用程序安装 centos7 时,我一定会分配超过 50G 的空间/root,这是默认设置。

答案2

xfs_repair /dev/mapper/centos-home -L

此命令将修复该问题

答案3

一旦您减少了 LV 大小,那么您也必须减少文件系统。

第一步:检查文件系统是否有错误 e2fsck -f /dev/mapper/centos-home

第二步:调整文件系统大小 resize2fs /dev/mapper/centos-home 1200G

第三:坐骑

答案4

如果您不关心 /home 中的数据,请执行以下操作:

mkfs.xfs -f /dev/mapper/cl-home 挂载 /dev/mapper/cl-home /home/

相关内容