1. 程式人生 > >lvm建立 擴容 縮小 分割槽取出 以及快照

lvm建立 擴容 縮小 分割槽取出 以及快照

這裡我們要做一個lvm 那麼我們首先就要知道pv vg lv都是啥

pv是物理卷 我們用一個分割槽去做一個物理卷

vg是物理卷組 由多個pv組成

lv是邏輯卷 由vg物理卷中 分割一部分出來形成

所以我們首先要一個分割槽 而且是Linux lvm格式的

我在這裡新建一個分割槽 然後t改變他的標籤為lvm 我這裡用的是gpt的分割槽格式 

所以標籤號可能不太一樣 我這裡反正我查看了之後他說是15 那我就改成15

這裡P一下 檢視成功了沒  嗯 成功了 vdb2確實是lvm格式

然後我們開始一系列的建立

首先建立pv 所以pvcreate +裝置 success

然後建立vg 所以vgcreate + 名字vg0 + 組成這個vg的pv: /dev/vdb1

然後建立lv  所以lvcreate  -L  指定大小100M -n 名字lv0 從哪來 從vg0裡來

然後          給他做上檔案系統 mkfs.xfs  /dev/vg0/lv0

然後我們mount把他掛上去 掛到/mnt上去 然後使用監控命令監控它 效果如下

這樣我們的lv就做好了 以後要擴容的時候 如果vg0空間充足 那麼我們直接lvextend -L 指定大小 + 我們要擴容的lv

然後在讓檔案系統覆蓋增加的空間xfs_growfs + 我們的lv 就OK了

效果如下

如果想擴大的容量超過vg的剩餘容量 也就是說原本的vg不夠了 那就比較麻煩了

而且很尬的是我這裡好像又少了幾張圖 

但是步驟是你在建立一個分割槽 弄成lvm標籤 然後pvcreate建立pv 然後vgextend把這個新的pv加進來 然後在lvextend擴容

然後xfs_growfs 覆蓋檔案系統

做好之後效果如下

然後這裡我們要做縮小 然而xfs格式的檔案系統並不能縮小 所以我們把這個lv給他格成ext4的格式 做上ext4的檔案系統 當然格之前要先解除安裝

具體步驟在這裡 先e2fsck -f 檢視這個lv的情況 然後resize2fs +lv +大小 縮小檔案系統

然後lvreduce 縮小lv

做好之後掛上去 效果如下

然後如果你想要卸掉其中一個pv 如果他沒資料的話直接卸掉 如果有的話 要把資料遷移到另一個pv上

使用pvmove +pv1+pv2

然後vgreduce +名字+大小

然後pvremove+pv1 移走pv1 因為我這裡即使移走了pv1,pv2的空間也足夠vg來負載lv 所以我這裡並沒有改動lv的大小 也不需要改動

完成之後效果如下