增加 lvm2 分區的大小以使用所有未分配的磁碟空間
我已將較小的驅動器映像到較大的驅動器。我現在需要增加分區/卷組的大小(正確的術語?)。該驅動器有大約 1.6 TiB 的未分配空間,我希望 /dev/sdb3 使用它,然後將增加的空間分配給 /dev/cl/root。以下是Google搜尋拼湊的一些資訊。前四件來自 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,您會看到一條錯誤消息Physical volume '/dev/sdb3' is already in volume group 'cl'
反而。