====== Ubuntu 24.04 的 VM 擴增虛擬 HD 大小後的處理方式 ======
* 適用情境 : VM(如 QEMU/KVM)的磁碟 volume 擴充容量後,需要讓 OS 實際使用新增空間。
===== 前置確認 =====
*
# 確認磁碟實際大小 vs 分割表記錄的大小
sudo fdisk -l /dev/sda
# 確認分割區與掛載架構
lsblk
# 確認檔案系統使用量
df -h
* **判斷重點:**
- `fdisk` 出現 `GPT PMBR size mismatch` → 磁碟已擴容但分割表未更新
- `lsblk` 看到 LVM layer(`ubuntu--vg-ubuntu--lv`)→ 需走 LVM 擴容流程
===== 擴充步驟 =====
* Step 1|擴展分割區
sudo growpart /dev/sda 3
# 數字 3 = 要擴展的分割區編號(依實際情況調整)
* ✅ 成功訊息:`CHANGED: partition=3 ... new: size=XXXXXX`
* Step 2|通知 LVM,PV 已變大
sudo pvresize /dev/sda3
* Step 3|擴展 Logical Volume
sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
* `+100%FREE` 代表把 VG 內所有剩餘空間都加入 LV
* Step 4|擴展檔案系統
# ext4(Ubuntu 預設)
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
# XFS
sudo xfs_growfs /
* Step 5|確認結果
df -h
* 確認根目錄 `/` 的 Size 已反映新的磁碟大小。
===== 注意事項 =====
| 項目 | 說明 |
|------|------|
| 停機需求 | ❌ 不需要,全程線上擴容 |
| 資料風險 | 低,但建議操作前先做 snapshot |
| 適用 FS | ext4、XFS |
| 不適用情境 | 縮小分割區(需離線且風險高) |
===== 架構示意 =====
實體磁碟 /dev/sda 120G
└─ /dev/sda3 118G ← growpart 擴展
└─ LVM PV ← pvresize 更新
└─ ubuntu-vg
└─ ubuntu-lv 116G ← lvextend 擴展
└─ / (ext4) ← resize2fs 擴展
===== 參考網址 =====
* https://claude.ai/share/0c2ec45d-770d-497b-9424-27ed16554759
{{tag>lvm}}