我试图重新分配未使用的磁盘空间(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
扩展/root
lv
$ 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/