我已将较小的驱动器映像到较大的驱动器。我现在需要增加分区/卷组的大小(正确的术语?)。该驱动器有大约 1.6 TiB 的未分配空间,我希望 /dev/sdb3 使用它,然后将增加的空间分配给 /dev/cl/root。以下是谷歌搜索拼凑的一些信息。前四件来自 gparted。
/dev/sdb1 fat16 /boot/efi 200 MiB
/dev/sdb2 ext4 /boot 1.0 GiB
/dev/sdb3 lvm2 pv cl 221.68 GiG
unallocated unallocated 1.60 TiB
$ sudo lvmdiskscan
/dev/sdb1 [ 200.00 MiB]
/dev/sdb2 [ 1.00 GiB]
/dev/sdb3 [ 221.68 GiB] LVM physical volume
/dev/cl/var [ 100.00 GiB]
/dev/cl/swap [ 2.00 GiB]
/dev/cl/root [ 110.00 GiB]
$ sudo lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 1.8T 0 disk
├─sdb2 8:18 0 1G 0 part
├─sdb3 8:19 0 221.7G 0 part
│ ├─cl-swap 253:1 0 2G 0 lvm
│ ├─cl-root 253:2 0 110G 0 lvm
│ └─cl-var 253:0 0 100G 0 lvm
└─sdb1 8:17 0 200M 0 part
$ sudo pvdisplay
--- Physical volume ---
PV Name /dev/sdb3
VG Name cl
PV Size 221.68 GiB / not usable 3.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 56749
Free PE 2478
Allocated PE 54271
PV UUID Uohq5b-Ubkr-f51E-y1tf-vfAi-JA06-dKWx7A
我试图通过使用sudo pvresize /dev/sdb3
输出来增加物理尺寸
Physical volume "/dev/sdb3" changed
1 physical volume(s) resized / 0 physical volume(s) not resized
虽然这似乎没有做任何事情。我无法在 gparted 中调整 /dev/sdb3 的大小。我尝试使用增加卷组
$ sudo vgextend cl /dev/sdb3
Can't open /dev/sdb3 exclusively. Mounted filesystem?
我不确定它为什么会失败,因为我认为 /dev/sdb3 没有安装,因为物理驱动器连接到另一个用于映像硬盘驱动器的 Linux CentOS 7 系统中。
如何调整大小/扩展/dev/sdb3
以使用未分配空间的重置然后增加 /sdb3/cl-root 以使用所有新空间?
我看到的一些响应显示在未分配空间中创建一个新分区,然后将其添加到组/卷中,但我希望增加 /dev/sdb3 以使用剩余的未分配空间,然后增加 /sdb3/cl- 的大小根。
首先,您必须编辑分区表以实际扩展
sdb3
分区。您可以为此使用gparted
、parted
或。gdisk
fdisk
如果您使用
gdisk
orfdisk
,则仅当您告诉程序执行更改时才会将更改写入分区表,因此使用单个gdisk
/会话,您可以查看开始的fdisk
确切磁盘位置(块/扇区号)sdb3
,删除sdb3
分区,使用完全相同的起点和新的终点重新创建它,然后将更新的分区表写入磁盘。如果内核不立即接受新的分区大小,您可能必须
sudo partprobe /dev/sdb
在此时运行。一旦新的分区大小在 中可见
/proc/partitions
,您就可以sudo pvresize /dev/sdb3
完全按照您的做法进行操作。之后,sudo pvdisplay
应指示增加PV size
的 ,Total PE
和Free PE
值。此时,您可以使用
sudo lvextend -r -L <desired new size> /dev/cl/root
来扩展您的 LV。由于
sdb3
PV 已经是cl
卷组的成员,因此在这种情况下您不需要vgextend
:它仅在您将新的、未使用的 PV 添加到现有卷组时使用。由于 VG 当前处于活动状态并且其所有 LV 都已安装/正在使用,因此 PV 被锁定以供 LVM 独占访问,因此即使该vgextend
工具也无法直接访问它。如果您尝试vgextend
通过从外部媒体引导来执行此操作,以便卸载 LV,您会看到一条错误消息反而。