開始前先了解
先完成可還原的備份, 並保留客體主控台入口. 虛擬磁碟擴充後不支援用相同功能縮回原容量, 不要將試填的大數字直接儲存.
示範為 Ubuntu 24.04 的 LVM 系統碟, Proxmox VE 裝置 scsi0 由 16 GiB 增加 4 GiB 至 20 GiB. 客體範例使用 /dev/sda3 作為 LVM 實體卷, 根目錄邏輯卷為 /dev/ubuntu-vg/ubuntu-lv.
必須先用查詢結果確認裝置與 LVM 路徑完全符合, 才能執行範例. 沒有 LVM, 使用加密或不同分割設計的客體不適用此命令組合. 本篇所有 Linux 命令都在 Ubuntu 虛擬機內執行.
本系列使用 Proxmox VE 9 繁體中文介面的真實截圖. 節點, 儲存名稱與示範數值請換成自己的環境; 作業系統安裝程式可能維持其原有語言.
01先確認根目錄與 LVM 配置
登入 Ubuntu 虛擬機, 記錄磁碟, 分割區與根目錄的目前容量, 並查詢 LVM 配置:
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS
findmnt -no SOURCE,FSTYPE /
df -hT /
sudo pvs
sudo vgs
sudo lvs -o lv_path,lv_size,vg_name
確認根目錄位於本篇的 ubuntu-vg/ubuntu-lv, 該卷群組的實體卷是 /dev/sda3, 上層磁碟為 /dev/sda. 請依查詢結果替換後續範例, 不要只按磁碟名稱猜測.
Ubuntu 安裝程式可能沒有把卷群組的全部空間配置給根目錄. 因此 df 顯示的原容量可能小於 16 GiB, 並不一定是磁碟故障. 先記錄 vgs 的可用空間, 才能判斷這次新增了多少.
放大圖片
02在 Proxmox VE 將原系統碟增加 4 GiB
在 Proxmox VE 選擇同一台虛擬機, 開啟 硬體, 選取原系統碟 scsi0. 不要選到額外資料碟, EFI 或 TPM 磁碟.
從 磁碟動作 選擇 調整大小. 在 調整磁碟大小 視窗的 增加大小 (GiB) 填入增加量. 要從 16 GiB 變成 20 GiB, 填入 4, 不是填入 20, 核對後按 調整磁碟大小.
儲存後核對 scsi0 顯示 20 GiB. 回 Ubuntu 再查一次 lsblk, 確認整顆 sda 已辨識到新容量. 如果仍是舊容量, 安排客體正常重新開機再確認, 不要重複增加 4 GiB.
放大圖片
03先預覽, 再擴充 LVM 所在分割區
只有確認 /dev/sda 已顯示 20 GiB, 且 /dev/sda3 是要擴充的 LVM 分割區後, 才繼續. 安裝 growpart 工具並先做不寫入的預覽:
sudo apt-get update
sudo apt-get install -y cloud-guest-utils
sudo growpart -N /dev/sda 3
/dev/sda 是磁碟, 3 是該磁碟上的分割區編號, 不是 3 GiB. 確認預覽只擴充既有第三分割區到新增的連續空間後, 才執行寫入:
sudo growpart /dev/sda 3
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS
首次成功擴充分割區會顯示 CHANGED. 本例已完成擴充, 圖中再次核對時顯示 NOCHANGE, 且 sda3 已約 18.2 GiB, 因此不必重跑. 若尚未擴充卻顯示沒有空間, 或第三分割區後面還有其他分割區, 先停止. 不要刪除或重建分割區來繞過提示, 也不要格式化原本的 LVM 分割區.
放大圖片
04更新 LVM 容量並擴充根目錄
分割區擴大後, 讓 LVM 重新辨識該實體卷的大小, 再確認卷群組確實出現可用空間:
sudo pvresize /dev/sda3
sudo pvs
sudo vgs
本篇只把新增加的 4 GiB 配置給根目錄, 保留卷群組原有的其他可用空間. 確認卷群組至少有足夠可用容量後, 再執行:
sudo lvextend -r -L +4G /dev/ubuntu-vg/ubuntu-lv
-L +4G 代表在現有邏輯卷上增加 4 GiB, -r 同時要求調整支援的檔案系統. 請確認輸出中邏輯卷與檔案系統都完成, 不要只看到其中一項成功就停止.
如果卷群組的可用空間不足 4 GiB, 或檔案系統調整失敗, 先閱讀錯誤並核對前一步結果. 不要改成使用所有空間或重新格式化來消除錯誤.
放大圖片
05分別核對磁碟與可用檔案系統
在 Ubuntu 再次查詢, 將結果與調整前紀錄比對:
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS
sudo pvs
sudo vgs
sudo lvs -o lv_path,lv_size,vg_name
df -hT /
整顆虛擬磁碟應顯示 20 GiB, LVM 實體卷應變大, 根目錄邏輯卷與檔案系統也應增加約 4 GiB. 因開機分割區, LVM 配置與檔案系統保留空間, 根目錄容量不會等於整顆磁碟的 20 GiB.
最後確認網站與原有應用程式可使用, 並核對備份儲存空間是否仍足夠. 若只有管理頁容量變大而 df 沒有增加, 請回查分割區, 實體卷, 邏輯卷與檔案系統各階段, 不要重複增加虛擬磁碟.
放大圖片
完成後如何確認
Proxmox VE 系統碟, Ubuntu 分割區, LVM 實體卷, 根目錄邏輯卷與檔案系統都應符合規劃. 本篇增加的是既有系統碟與根目錄, 不是另外新增資料碟.
常見問題
為什麼磁碟已是 20 GiB, df 仍顯示舊大小?
管理頁只改變虛擬磁碟的容量. 客體內的分割區, LVM 與檔案系統仍需依實際配置擴充, 才能讓根目錄使用新增空間.
可以使用 +100%FREE 嗎?
那會使用卷群組當下全部可用空間, 包含擴容前原有的預留空間. 本篇為了保留原規劃, 只使用確認足夠的 +4G, 不將所有可用空間一次用完.
容量加錯可以縮回去嗎?
不要用 Proxmox VE 的擴充功能嘗試縮小. 如需較小的磁碟, 通常要規劃新磁碟與資料搬移或由備份還原, 並依檔案系統特性另行評估.