變更 lvm 分割區大小

lvm (Logical Volume Manager) 是一個複雜的邏輯分割區管理工具。

今天撞到一臺主機不知道怎麼搞得,/var 被切的超級大導致 /home 不夠用了,所以需要搬移一下空間…

首先先將 /var 的檔案系統縮小,保險起見建議可以縮小到目的大小的 90% 左右,之後可以再調整回來。

進行這個前步驟前需要先把 /var 解除掛載,使用 # fuser -vm /var 可以檢查有哪些 daemon 正在使用這個分割區,並且將其停止之,同時也要檢查一下檔案系統有沒有錯誤。

# e2fsck -f /dev/mapper/vg0-var

# resize2fs /dev/mapper/vg0-var 180G

然後使用 lvreduce 縮小 lvm 分割區的大小

# lvreduce -L 200G /dev/mapper/vg0-var

最後再將 /var 的檔案系統調整回目標的 200G

# resize2fs /dev/mapper/vg0-var

如此一來就可以把 /var 縮小了。

接下來我們需要增加 /home 的大小,做法類似,差異在 lvreduce 換成 lvextend

如果需要知道系統現在所有的 lvm partition, volume group 大小資訊等可以下 lvdisplay, pvdisplay, vgdisplay 等確定剩餘空間還有多少。

# lvextend -L 200G /dev/mapper/vg0-home

# e2fsck -f /dev/mapper/vg0-home

# resize2fs /dev/mapper/vg0-home

就大功告成。

變更 lvm 分割區大小