我被困在一个带有 1 个磁盘的 centos 7 虚拟机上,该磁盘创建了 4 个主分区......现在我需要添加更多空间:
目前看起来像这样 - 简化:
mount
/dev/mapper/centos-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 175G 14G 162G 8% /
lsblk
sda 8:0 0 250G 0 disk
├─sda1 8:1 0 500M 0 part /boot
├─sda2 8:2 0 59.5G 0 part
│ └─centos-root 253:0 0 175G 0 lvm /
├─sda3 8:3 0 60G 0 part
│ └─centos-root 253:0 0 175G 0 lvm /
└─sda4 8:4 0 80G 0 part
└─centos-root 253:0 0 175G 0 lvm /
磁盘/dev/sda
已扩容,有50GB空闲且未分区。通常,我会执行以下操作之一:
使用可用空间创建一个新分区并将其添加到
centos-root
LV。很遗憾,sda1-4都是主分区,所以我实际上无法再创建了。用于
resize2fs
收缩文件系统,然后是lvreduce
LV。但这个文件系统是xfs,不能缩减。
我还尝试创建一个新的虚拟磁盘/dev/sdb
,并运行以下命令来清除其中一个分区:
pvcreate /dev/sdb
vgextend centos /dev/sdb
pvmove /dev/sda4 /dev/sdb
/dev/sda4: Moved: 0.00%
/dev/sda4: Moved: 3.06%
[kernel panic] ????
但这实际上使整个虚拟机崩溃了……现在我陷入了困境。如何清理至少其中一个分区,或者至少添加我已经扩展的空间?
答案1
看来您一开始就将其sda2
作为唯一的物理卷。后来,您添加了sda3
, then sda4
(我不明白您为什么这样做,因为您的根文件系统仅使用 14GB)。现在您的磁盘有sda
四个分区,但如果我计算正确的话,仍然有大约 50GB 的可用空间。
LVM 的存在是为了自动化存储空间管理并使其更加灵活。但是,您可以手动管理空间sda
并仍然使用 LVM。这没有多大意义。您应该sda2
从一开始就提供整个剩余空间,然后使用 LVM 来管理该空间,而不是添加分区。
我不知道/dev/sdb
是什么以及为什么您的系统在pvmove
.我不确定您的卷组现在处于什么状态。假设它仍然可以,我会简单地扩展sda4
.使用正确版本的parted
,这是一个简单的命令resizepart
。看Red Hat 关于 parted 的博客条目。
不幸的是,某些版本的 Centos 7 包含一个parted
没有resizepart
.如果这是您的情况,请尝试更新parted
,或使用fdisk
删除然后重新创建分区。或者使用gparted 现场 DVD。
如果您使用上面的 Live DVD,我想您已经完成了,因为它还涉及 LVM 和文件系统。如果没有,pvresize /dev/sda4
需要通知 LVM 新的大小。
理想情况下,您应该将三个 PV 合并sda
为一个,但这需要复制数据,例如使用pvmove
.由于我不明白的原因,您的情况失败了。