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
就大功告成。