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的大小 也不需要改動
完成之後效果如下