PVE Resize Disk
在 Proxmox VE 中擴展虛擬機磁碟 (LVM)
這篇筆記記錄了在 PVE 環境中,如何擴展虛擬機 (VM) 的磁碟空間,特別是針對使用 LVM (Logical Volume Manager) 的 Linux 虛擬機。
警告: 磁碟操作具有風險,強烈建議在執行以下任何步驟之前,先對虛擬機進行備份或建立快照。
先備知識:LVM 結構
理解 LVM 的層級結構是成功擴容的關鍵。它由三個主要部分組成:
- 物理卷 (Physical Volume, PV): 對應底層的物理磁碟或分區 (如
/dev/sda3)。 - 卷組 (Volume Group, VG): 一個或多個 PV 組成的儲存池。
- 邏輯卷 (Logical Volume, LV): 從 VG 中劃分出來的邏輯分區,檔案系統建立在 LV 之上。
擴容的過程就是從底層(PVE 虛擬磁碟)到頂層(檔案系統)逐層擴展。
步驟一:在 PVE 中擴展虛擬磁碟
在對虛擬機內部進行操作之前,必須先在 Proxmox VE 的管理介面中增加虛擬磁碟的容量。
- 登入 PVE 的 Web UI。
- 在左側列表中選中目標虛擬機。
- 切換到「硬體」(Hardware) 標籤頁。
- 找到您要擴展的硬碟 (例如
Hard Disk (scsi0)) 並選中它。 - 點擊上方的「調整磁碟大小」(Resize disk) 按鈕。
- 在彈出的視窗中,輸入您希望增加的容量 (例如
+10G),然後點擊「確定」。
步驟二:在虛擬機內擴展分區
完成上述步驟後,登入到您的 Linux 虛擬機內部,開始擴展分區。
# 使用 parted 工具來查看和修改分區表
# 將 /dev/sda 替換成您實際的磁碟設備名稱
sudo parted /dev/sda
# 在 parted 提示符下,輸入 print 查看當前的分區表,確認要擴展的分區編號
(parted) print
# 假設要擴展的是第 3 個分區,使用 resizepart 指令
# 這會將第 3 個分區擴展到磁碟的 100% (即使用所有新增加的空間)
(parted) resizepart 3 100%
# 再次輸入 print 確認分區大小已成功更新
(parted) print
# 退出 parted
(parted) quit
步驟三:擴展 LVM 邏輯卷
分區擴展後,還需要讓 LVM 系統知道這個變化,並擴展邏輯卷 (LV) 和其上的檔案系統。
# 1. 擴展物理卷 (Physical Volume)
# 讓 LVM 掃描到 /dev/sda3 分區的新增空間
sudo pvresize /dev/sda3
# 2. 擴展邏輯卷 (Logical Volume) 並同時調整檔案系統大小
# --resizefs 選��會自動執行 xfs_growfs 或 resize2fs,非常方便
# --extents +100%FREE 表示使用所有可用的空閒空間
# 將 /dev/ubuntu-vg/ubuntu-lv 替換成您實際的邏輯卷路徑
sudo lvresize --extents +100%FREE --resizefs /dev/ubuntu-vg/ubuntu-lv
提示: 您可以使用
lsblk、vgdisplay和lvdisplay命令來查看您的磁碟、卷組和邏輯卷的名稱與配置。
步驟四:驗證結果
最後,使用 df -h 指令來檢查檔案系統的大小是否已成功擴展。
df -h
總結
在 PVE 中擴展 LVM 磁碟是一個分為兩大部分的過程:首先在 PVE 管理介面擴展虛擬硬碟,然後在虛擬機內部依序使用 parted、pvresize 和 lvresize 工具來擴展分區、物理卷和邏輯卷。只要謹慎操作並在事前備份,就能安全地完成磁碟擴容。