系統安裝時未建立獨立 Swap 分區,根分區 (LV) 空間充足,需從根分區縮減 4GB 建立 Swap。LVM 不支援線上縮容,根分區又無法卸載,必須進入救援模式操作。
# 救援模式預設未啟動 lvm2 服務
lvm vgchange -a y
# 確認可見邏輯卷
lvs
# 輸出範例:
# LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
# lv_root vg_sys -wi-a----- 18.00g
e2fsck -f /dev/vg_sys/lv_root
# 強制檢查,修復潛在錯誤
順序不可顛倒! 先縮檔案系統,再縮邏輯卷。
# 目標:從 18G 縮減至 14G(騰出 4G)
resize2fs /dev/vg_sys/lv_root 14G
# 成功輸出:Resizing the filesystem on /dev/vg_sys/lv_root to 3670016 (4k) blocks.
lvm lvresize -L 14G /dev/vg_sys/lv_root
# 確認提示輸入 y
# 成功輸出:Size of logical volume vg_sys/lv_root changed from 18.00 GiB to 14.00 GiB.
e2fsck -f /dev/vg_sys/lv_root
# 使用剛釋出的 4G 空間建立新 LV
lvcreate -L 4G -n lv_swap vg_sys
mkswap /dev/vg_sys/lv_swap
swapon /dev/vg_sys/lv_swap
# 寫入 /etc/fstab
echo '/dev/vg_sys/lv_swap swap swap defaults 0 0' >> /etc/fstab
lvm vgchange -a y 才能看見 LVlvresize 等指令可能需加 lvm 前綴lvreduce -L -4G 失敗,lvresize -L 14G 成功(指定最終大小)# 重啟後
lsblk
lvs
free -h
swapon -s