我想將我的邏輯磁碟區擴展到/home:
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
xvda 202:0 0 125G 0 disk
├─xvda1 202:1 0 500M 0 part /boot
└─xvda2 202:2 0 74.5G 0 part
├─centos_jenslv05-root 253:0 0 48G 0 lvm /
├─centos_jenslv05-swap 253:1 0 3G 0 lvm [SWAP]
└─centos_jenslv05-home 253:2 0 23.5G 0 lvm /home
正如您所看到的,xvda 有 125GB,而 xvda1 + xvda2 總共只有 75GB。額外的 50GB 是我想添加到 centos_jenslv05-home 邏輯磁碟區的內容。
PVS
pvs
PV VG Fmt Attr PSize PFree
/dev/xvda2 centos_jenslv05 lvm2 a-- 74.51g 0
VGS
vgs
VG #PV #LV #SN Attr VSize VFree
centos_jenslv05 1 3 0 wz--n- 74.51g 0
LVS
lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home centos_jenslv05 -wi-ao---- 23.45g
root centos_jenslv05 -wi-ao---- 48.04g
swap centos_jenslv05 -wi-ao---- 3.02g
所以基本上我需要擴展分區 dev/xvda2,將其添加到 PV,將其添加到 VG,然後添加到安裝到 home 的 LVM。
但是,我不想丟失根 lv (/) 上的數據,它與主 lv (/home) 位於同一分區。有沒有一種方法可以只擴展一個邏輯卷,而不觸及其他邏輯卷?如果不可能,而且我需要刪除分割區,然後使用新增的空間重新建立它,備份 /root 和 /home 上的所有檔案就足夠了嗎?我可以重新建立分割區,然後重新建立 lvs 並將檔案複製回 lv 嗎?安全嗎?
我知道在 Windows 上可以在不接觸其他卷的情況下擴展邏輯卷,但不確定在 Linux 上是否也同樣方便。系統是Centos 7。
答案1
有一個指南這裡解釋你的兩個選擇。
任何一個
- 擴充現有的
pv
withgparted
,調整vg
with 的大小vgextend /dev/xda2
,然後擴充你的lv
.
或者
pv
透過在 xda 上未使用的空間中建立新磁碟區 (xda3) 來新增分割區,將新分割區新增到其中vg
,然後將其擴展lv
到新空間。
無論哪種情況,您都需要調整檔案系統的大小以使容量可用,但您可以lvextend -r
在調整大小時使用。
查看您的分區架構,可用空間將與 xda2 相鄰,並且任一選項都是可行的,儘管選項 1 更美觀(請參閱上面鏈接中的 @Patrick 帖子)。
由於您實際上並未接觸root
(邏輯)分割區,因此您應該能夠從即時系統中執行此操作。如果沒有,那麼您將需要一個實時 USB。