Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

LVM 根分區縮容實戰:救援模式下離線調整邏輯卷與建立 Swap

編輯:Linux 教學

場景描述

系統安裝時未建立獨立 Swap 分區,根分區 (LV) 空間充足,需從根分區縮減 4GB 建立 Swap。LVM 不支援線上縮容,根分區又無法卸載,必須進入救援模式操作。

完整操作流程

1. 進入救援模式

  • BIOS 設定光碟啟動,掛載安裝光碟(ISO)
  • 選擇 Rescue installed system
  • 語言/鍵盤:English / US
  • 安裝來源:Local CD/DVD
  • 關鍵:選擇 Skip,不要自動掛載根分區到 /mnt/sysimage
  • 進入 Shell 環境

2. 手動激活 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

3. 檔案系統檢查

e2fsck -f /dev/vg_sys/lv_root
# 強制檢查,修復潛在錯誤

4. 縮減檔案系統再縮減邏輯卷

順序不可顛倒! 先縮檔案系統,再縮邏輯卷。

# 目標:從 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.

5. 再次檢查檔案系統

e2fsck -f /dev/vg_sys/lv_root

6. 重啟進入正常系統建立 Swap

# 使用剛釋出的 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

關鍵注意事項

  • 救援模式必選 Skip:自動掛載會導致根分區 busy,無法縮容
  • 手動激活 VG:lvm vgchange -a y 才能看見 LV
  • 指令前綴 lvm:救援模式下 lvresize 等指令可能需加 lvm 前綴
  • 用 lvresize 不用 lvreduce:實測 lvreduce -L -4G 失敗,lvresize -L 14G 成功(指定最終大小)
  • 備份優先:操作前務必備份關鍵資料

驗證結果

# 重啟後
lsblk
lvs
free -h
swapon -s
Copyright © Windows教程網 All Rights Reserved