Proxmox 虛擬機器儲存選項完整指南
在 Proxmox VE 中選擇合適的儲存類型,將直接影響系統的可靠性、效能及整體效率。Proxmox 支援多種儲存類型,初次使用時,要選擇最佳方案可能頗具挑戰性。本指南將介紹 Proxmox 的各種儲存類型、其優勢、使用情境,以及針對不同環境的實用建議。
什麼是 Proxmox 儲存?
Proxmox 儲存是 Proxmox VE 虛擬化平台的核心組件。它用於儲存虛擬機器的虛擬磁碟,從而實現硬體輔助虛擬化與可攜性。透過 Proxmox 儲存,您可以管理虛擬機器檔案,並將其遷移至單一主機上的本地資料存放區之間,或跨多台主機進行遷移。
選擇 Proxmox 儲存方案時應考量的關鍵因素
在選擇 Proxmox 儲存方案時,請考量特定虛擬機器的需求。不同的虛擬機器在以下參數方面有不同的需求。
- 效能. 生產環境虛擬機器、搭載大型資料庫的虛擬機器,以及其他具有高 I/O 需求與低延遲要求的作業負載,必須運行於高效能儲存裝置上。若要獲得最佳效能,請使用基於 SSD 的本地儲存裝置。其他本地儲存類型包括 LVM、ZFS 及本地目錄。
- 可靠性. 生產環境及其他關鍵虛擬機器有儲存需求,需要具備冗餘功能且能有效備份或複製資料的可靠儲存方案。請為關鍵虛擬機器使用冗餘儲存方案,以避免單點故障。
- 可負擔性. 當無法取得或無需使用 Enterprise 級儲存方案時,Proxmox 允許您選用價格實惠的儲存類型。不過,請務必將資料保護與業務需求列為首要考量。
- 管理便利性. 某些儲存類型需要複雜的設定,對於需求較高的虛擬機器而言,這或許是合理的。用於測試及非關鍵作業的虛擬機器,則可採用較簡單的儲存配置。
- 虛擬機器磁碟類型. 虛擬機器可根據儲存類型和設定,將其虛擬磁碟儲存為檔案(Proxmox 的原生格式為 QCOW2)或邏輯卷。
- 快照. 能夠即時擷取虛擬機器磁碟的狀態,對於備份和測試而言至關重要。根據儲存類型不同,可選用不同的快照機制。ZFS 和 LVM-Thin 提供區塊層級的快照功能,其效能優於基於檔案的替代方案。
- 配置類型. 共有兩種配置類型: 精簡與完整配置.
- 精簡配置 這能幫助您節省儲存空間,因為虛擬磁碟僅會佔用虛擬機器內寫入的資料所佔用的空間,而非預先配置的最大大小。虛擬磁碟會隨著資料的寫入而擴充。相關的概念是”超額配置”。採用此方法時,您應仔細監控資料存放區的可用空間;若可用空間耗盡,虛擬機器可能會當機,直到您釋放空間並解決問題為止。
- 厚配置 此方式的需求是預先分配所有磁碟空間。即使虛擬機器磁碟僅使用其預配置空間的 10%,對應的檔案或卷宗仍會佔用底層儲存裝置上 100% 的已分配容量。厚配置雖能確保在建立時及之後皆有充足的磁碟空間,但可能會導致資料存放區上的容量浪費。
- 儲存位置. Proxmox 的儲存裝置可以是本機儲存,也可以是網路儲存。網路儲存對於虛擬機器遷移、儲存安裝 ISO 映像檔、虛擬機器範本以及叢集中的虛擬機器(具備高可用性與即時遷移功能)至關重要。Proxmox 的本機儲存雖然能提供更佳的效能,但虛擬機器在主機間的遷移所需時間較長。
當 Proxmox 儲存空間設定為儲存虛擬磁碟檔案時,僅有 QCOW2 格式支援精簡配置。
Proxmox 儲存類型概覽
Proxmox VE 支援多種儲存類型,其中幾乎所有類型皆可儲存虛擬機器磁碟。以下各節將分別介紹每種儲存類型、其特點、優點及使用情境。
目錄
目錄是 Proxmox 本地儲存中最簡單的類型,設定簡易,且在每台 Proxmox 主機上皆可使用,即使是配備基本硬體的主機也不例外。 您需要一顆配備支援檔案系統的硬碟 (HDD) 或固態硬碟 (SSD),才能在目錄上設定資料存放區。例如,一個包含目錄的 ext4 分割區可作為虛擬磁碟檔案的儲存空間,對於測試、教育或備份等工作負載等非關鍵虛擬機器而言,此配置已足夠。
目錄儲存亦可建構於更複雜的底層儲存之上,例如硬體 RAID、LVM 或 iSCSI。目錄本身並不提供冗餘機制,但若底層儲存具備冗餘功能,則會繼承該冗餘特性,因此適合用於更重要的虛擬機器。目錄儲存支援 QCOW2 格式的虛擬磁碟的精簡配置。
LVM
LVM(邏輯卷管理器)是一種原生 Linux 儲存類型,具備高度可擴展性,並能利用多個區塊裝置(實體卷)來建立邏輯卷。您可將更多區塊裝置新增至現有卷中以增加容量,且無需中斷服務。Proxmox LVM 儲存僅支援 LVM 層級的快照(此為 Linux 原生特點)。冗餘可透過底層儲存裝置進行配置,或透過 LVM 鏡像功能實現(較不常見)。
LVM-Thin
LVM-Thin 是 Proxmox LVM 儲存系統的高階版本,具備更多進階功能。它支援虛擬機器磁碟的薄配置,以及快照和克隆功能,可加速虛擬機器的部署。當您需要避免 ZFS 帶來的開銷時,LVM-Thin 尤其在搭配硬體 RAID 的情況下,是一個有效的選擇。
ZFS
ZFS(Zettabyte 檔案系統)是 Proxmox 的一種進階儲存選項,具備冗餘性、高效能及豐富的特點。它支援精簡配置、寫入時複製(Copy-On-Write)、區塊級快照以及虛擬機器克隆。ZFS 內建原生軟體 RAID,並可建立鏡像(RAID1)、RAID-Z 及 RAID-Z2 陣列。
原生壓縮(lz4、zstd)、跨 Proxmox 節點的整合式複製、校驗和計算以及確保資料完整性的自我修復功能,使 ZFS 成為關鍵虛擬機器(VM)的可靠選擇。
相較於 LVM 及其他較輕量級的儲存類型,ZFS 需要更多的記憶體,且對 CPU 的需求更高。它支援區塊(zVol)與檔案(ZFS 檔案系統)兩種配置。此外,在缺乏硬體 RAID 控制器或其成本過高的伺服器上,ZFS 亦為可行選項。這項特點上的平衡,使 ZFS 成為 Proxmox 虛擬機器磁碟中最具多功能性的儲存類型之一。
SMB/NFS
SMB 與 NFS 這類基於網路的 Proxmox 共用儲存方案價格實惠,採用在遠端主機上設定的檔案分享功能。SMB 是 Windows 系統的原生檔案分享協定;NFS 則在 Linux 系統中扮演相同角色。這兩者皆在檔案層級運作,且設定相對簡單,因此是實用的共用儲存解決方案。
冗餘功能是從專用的 SMB 或 NFS 伺服器(Linux 伺服器、Windows Server、FreeNAS/TrueNAS 或 Enterprise NAS)繼承而來。QCOW2 虛擬磁碟檔案支援精簡配置。
iSCSI
iSCSI(Internet Small Computer Systems Interface)是一種協定,可讓您透過網路連接區塊儲存裝置,並像操作本機 SCSI 儲存裝置一樣使用它。Proxmox 的 iSCSI 儲存功能可透過將 iSCSI LUN 設定為 iSCSI 目標來進行配置。該儲存裝置會在 Proxmox 主機上以原始區塊裝置的形式呈現。
冗餘與配置(精簡或厚式)皆由配置 iSCSI 目標的儲存陣列所繼承。Enterprise SAN 系統可作為 Proxmox 的 iSCSI 儲存裝置。
透過 iSCSI 運作的 ZFS
此 Proxmox 儲存類型使用透過網路連接的 iSCSI 區塊儲存,以在 Proxmox 主機上配置本機 ZFS 儲存池。冗餘配置在 iSCSI 目標(伺服器)端進行,而 ZFS 則在 iSCSI LUN 上作為單磁碟儲存池運作。由於 ZFS 僅偵測到一個區塊裝置(即 LUN),因此其多磁碟自我修復功能將不適用。
ZFS 的校驗和機制仍可確保 Proxmox 主機與 iSCSI 目標之間的資料完整性。若配置了 iSCSI 目標的 SAN 傳送了損壞的資料,ZFS 能夠偵測到此情況。快照與克隆特點在本地端仍可正常使用。然而,此配置無法在標準的 Proxmox 叢集中啟用高可用性,因為 ZFS 僅在掛載了 LUN 的節點上處於活躍狀態。
此方法會增加配置的複雜性。對於 Proxmox 高可用性(HA)叢集,建議改用 NFS 或 Ceph RBD。在非叢集環境中,直接將 iSCSI LUN 與 LVM 或 LVM-Thin 搭配使用會更為簡便。
RBD(Ceph RBD)
Ceph RBD(RADOS 區塊裝置)是一種超融合的 Proxmox 叢集儲存解決方案,專為需要共用儲存的可擴展環境而設計。相較於 ZFS 及其他 Proxmox 儲存類型,Ceph 區塊儲存的部署過程較為複雜。
RBD 提供區塊儲存服務,將虛擬磁碟視為原始的、採用精簡配置的卷宗。當需要 Enterprise 級叢集儲存時,這是 Proxmox VE 中儲存虛擬機器磁碟的建議方法。Ceph RBD 針對高 I/O 且低延遲的虛擬機器磁碟進行了優化,特別適用於隨機讀寫操作。它支援高效且近乎即時的區塊層級快照與克隆。 至少需要 3 個節點;建議使用 5 個或更多節點。
其主要特點包括精簡配置、真正的高可用性,以及橫跨叢集節點的高度分散式冗餘(複製)。
CephFS
CephFS 提供了一個標準且符合 POSIX 規範的檔案系統介面(類似於 NFS 或本機 ext4 磁碟),並建構於 Ceph 叢集之上。雖然 Ceph RBD 屬於區塊儲存,但 CephFS 則是檔案儲存,讓您能夠檢視、讀取及寫入檔案和目錄中的資料。
註: POSIX(可攜式作業系統介面)是一套源自類 UNIX 系統的標準,旨在實現不同作業系統間的檔案系統可攜性。
CephFS 支援共用存取,多個 Proxmox 節點可同時存取同一個檔案系統。它能夠儲存虛擬磁碟檔案(QCOW2、RAW),但由於檔案系統的開銷,其效能略低於 Ceph RBD。CephFS 需要額外的元件”元資料伺服器”(MDS)來管理檔案結構,因此相較於 RBD,管理複雜度會有所增加。
BTRFS
BTRFS(B-Tree 檔案系統)是一種由 Linux 核心原生支援的現代”寫入時複製”(Copy-On-Write)檔案系統。自 Proxmox 7.0 版本起,它便作為根檔案系統的選項提供。BTRFS 支援快照、軟體 RAID 以及透過校驗和實現的自我修復功能。此儲存類型在 Proxmox 中仍處於技術預覽階段,尚未達到其他原生選項那樣的深度整合。 對於生產環境的工作負載,建議採用更成熟的儲存類型。
ESXi
ESXi 儲存選項可透過網路將資料存放區的位置設在 ESXi 主機上,並將其連接到 Proxmox 主機。此功能旨在 從 ESXi 遷移虛擬機器 VMFS 資料存放區僅適用於 Proxmox VE,不適用於在 VMFS 資料存放區上儲存 Proxmox 虛擬機器。
Proxmox 儲存類型比較表:
|
類型 |
目錄 |
LVM |
LVM-Thin |
ZFS |
NFS |
SMB |
iSCSI |
Ceph RBD |
|
資料類型 |
檔案(QCOW2、原始格式),本機 |
區塊 (LV),本地/共用 |
Block(LV),當地 |
區塊 (zVol),本機 |
檔案(QCOW 2,原始格式),共用 |
檔案(QCOW、原始格式),共用 |
原始區塊 (LUN),共用 |
區塊(RBD) |
|
精簡配置 |
是(適用於 qcow2 檔案) |
無 |
是的 |
是(母語) |
是(適用於 QCOW2 檔案) |
是(適用於 QCOW2 檔案) |
取決於 SAN、NAS 或儲存陣列 |
是(母語) |
|
快照 |
是 (QCOW2) |
是的 |
良好(LV-Thin 快照) |
優異(快速、CoW) |
是 (QCOW2) |
是 (QCOW2) |
視 SAN/NAS 陣列而定 |
是(母語) |
|
高可用性 |
否 |
否 |
否 |
否(僅限本地) |
是的 |
否 |
是(需使用叢集檔案系統) |
是(虛擬機器高可用性所需) |
|
資料完整性 |
無(取決於底層硬體或檔案系統) |
無(依賴硬體) |
無(依賴硬體) |
極佳(校驗和計算) |
無(取決於底層 FS) |
無(取決於底層 FS) |
無(依賴於 SAN/陣列) |
優異(複製、校驗和計算) |
|
效能 |
變數 |
高 |
高 |
非常高 |
中等(不穩定) |
中等(不穩定) |
高(視網路狀況而定) |
非常高 |
|
複雜性 |
極低 |
中 |
中 |
中 |
低 |
低 |
中 |
高 |
Proxmox 儲存方案比較
以下各節將比較常見的 Proxmox 儲存方案,以釐清其主要差異及最佳使用情境。
ZFS 與 LVM:效能與可靠性
ZFS 和 LVM 是 Proxmox 兩種基本的儲存類型,作為區塊儲存時能提供高效能。然而,兩者的運作方式不同,且提供的特點各異。ZFS 是一種結合檔案系統與卷管理器的解決方案,著重於資料完整性;而 LVM 則是一種輕量級的卷管理器,著重於靈活性與低開銷。
ZFS 將資料安全與進階特點列為首要考量。它能透過校驗和偵測並自動修正損壞的資料(LVM 則缺乏此項功能)。雖然有時被認為會消耗大量資源,但由於其系統記憶體中高效的”自適應替換快取”(ARC),ZFS 的運作速度仍可相當快,特別是在讀取方面。內建的 RAID 功能性則提供了資料冗餘與更高的可靠性。
LVM 是一款原生 Linux 卷管理器,以簡便性和速度為首要考量。它在原始 I/O 效能測試中通常速度較快,且對 CPU 和 RAM 的負擔較小。其冗餘性是透過以硬體 RAID 作為底層儲存來實現的,這也讓系統管理員能夠利用熟悉的 Linux 工具專注於卷管理。
若資料完整性至關重要(例如包含資料庫及其他關鍵伺服器元件的虛擬機器)、您擁有充足的 CPU 和記憶體資源,且希望透過單一工具即可獲得原生快照、壓縮及複寫功能,請選擇 ZFS。
若您偏好硬體 RAID、您的 Proxmox 主機記憶體有限,且需要一種開銷極低、易於管理的有效解決方案,請選擇 LVM-Thin。
Ceph 與 NFS 比較:可擴展性與管理
NFS 是 Linux 系統中的原生檔案分享協定,具備設定簡單且相容性廣泛的優勢。設定 Proxmox NFS 儲存空間時,需在 Proxmox 環境之外另行架設 NFS 伺服器,但初始設定過程相當簡單。其可擴展性則受單一 NFS 伺服器的容量與吞吐量所限制。
Ceph (RBD) 是一種分散式區塊儲存系統,有別於在檔案層級運作的 NFS。由於您可以透過新增更多 Proxmox 節點,或為現有節點添置更大容量的硬碟來擴充容量,因此其可擴展性呈線性增長。 資料會在叢集節點間進行複製(預設為 3 份),以避免單點故障。初始設定雖較為複雜,但整個配置過程可直接在 Proxmox 主機上完成,無需外部組件。CephFS 是另一種在檔案層級運作的 Ceph 選項。
NFS 非常適合用於備份、ISO 檔案、虛擬機器範本,以及採用 QCOW2 虛擬磁碟且無需高 I/O 效能的虛擬機器。Ceph 則專為具有嚴苛效能需求的關鍵任務虛擬機器而設計。當需要最高 IOPS、冗餘性及高可用性時,請使用 Proxmox Ceph 儲存。
針對叢集、實驗室及生產環境的決策情境
不同的 Proxmox 儲存類型適用於不同的情境。
關於 小型生產群組, 有效的儲存方案包括:
- 搭配 Proxmox 複製功能的 ZFS
- NAS 或 NFS 伺服器上的具冗餘功能(RAID)之 NFS
關於 企業群聚 當節點數超過 3 個時,儲存系統必須支援真正的高可用性。建議的選項如下:
- Ceph RBD — 資料會複製到所有節點上的分散式區塊儲存系統
- iSCSI 與光纖通道 (SAN) — 透過網路連接的外接區塊儲存裝置;可在 iSCSI LUN 上配置 LVM-Thin
關於 實驗室與測試環境, 價格實惠且實用的儲存類型包括:
- 關於 ext4、LVM-Thin 及其他可用類型的目錄
- NFS 共用資料夾 — 當有 NAS設備可用時,使用起來很方便
- LVM-Thin — 具備可擴展性且開銷低,足以滿足實驗室與測試需求
建議在實驗室和測試情境中採用薄配置儲存方案。
如何有效選擇與管理 Proxmox 儲存空間
以下實用建議可協助您選擇合適的儲存方案,並有效管理該方案。
評估您的環境與效能需求
評估您的工作負載所需的效能水準,並檢視現有硬體。根據評估結果,判斷現行硬體是否足夠,或是需要額外資源才能滿足 Proxmox 虛擬環境的需求。定義您的儲存目標,例如效能、冗餘性和可擴展性。
選擇合適的儲存類型
請根據虛擬機器工作負載的需求、特點(效能、冗餘)以及管理複雜度,選擇符合您需求的儲存類型。若需最高效能,通常建議選用區塊儲存;當效能需求較低時,檔案型儲存則是較為實用的選擇。
優化效能與可靠性
選擇支援精簡配置的 Proxmox 儲存類型,並在設定中啟用此特點。針對精簡儲存啟用 TRIM/Discard 功能。若使用 SSD 裝置,請啟用 SSD 模擬功能。請確保在客體作業系統中定期執行 TRIM 操作。
有效運用快照。區塊級儲存可透過區塊級快照提升效率。請定期刪除舊的及不必要的快照,以維持效能並釋放磁碟空間。
將關鍵與非關鍵的工作負載分別存放於不同的儲存裝置上。將 ISO 映像檔、虛擬機器範本及非關鍵虛擬機器儲存於速度較慢的儲存裝置上,是一種能提升整體效能的標準做法。
監控儲存空間的使用率與系統狀態
請密切監控儲存空間的使用狀況,特別是針對採用精簡配置的虛擬機器磁碟。過度配置會導致資料存放區容量耗盡的風險。當可用空間用盡時,虛擬機器將會當機,並可能需要進行還原。
請監控 Proxmox 主機、遠端儲存伺服器、NAS設備及 SAN 裝置的磁碟健康狀態。若偵測到可疑的 SMART 屬性,請考慮更換受影響的磁碟。在非冗餘儲存系統中,磁碟故障可能導致資料遺失。定期進行健康檢查並及時更換磁碟,有助於將可靠性提升至最高。
確保資料保護與業務連續性
即使是最可靠的儲存裝置,也無法保證資料能獲得完全保護。無論儲存冗餘程度如何,軟體故障、人為錯誤、誤刪、勒索軟體攻擊及自然災害等風險依然存在。定期備份對於保護您的資料、避免資料遺失及系統停機至關重要。將冗餘儲存與一致性備份策略相結合,是建構可靠資料中心的基础。
結論
Proxmox 提供多種儲存選項,這是一大優勢,但要選擇並設定合適的儲存類型,仍需仔細規劃。請先釐清虛擬環境的需求、評估現有硬體,並針對各種情境選擇最佳的儲存方案。Proxmox 支援在同一台主機上運行多種儲存類型,讓您能靈活地根據工作負載需求來搭配儲存方案。無論您使用何種儲存類型,都應定期備份資料,以防止資料遺失。
常見問題
Proxmox 支援哪些儲存類型?
Proxmox VE 支援 Directory、LVM、LVM-Thin、ZFS、NFS、SMB/CIFS、iSCSI、ZFS over iSCSI、Ceph RBD、CephFS、BTRFS 以及 ESXi。 這些儲存類型可分為兩大類:檔案層級儲存(Directory、NFS、SMB、CephFS)與區塊層級儲存(LVM、LVM-Thin、ZFS、iSCSI、Ceph RBD)。每種類型在快照、精簡配置、冗餘以及跨叢集節點的共用存取方面,皆提供不同的特點。
對於 Proxmox 叢集而言,最佳的共用儲存裝置是什麼?
最佳的共享儲存方案取決於叢集規模與需求。對於擁有 3 個或更多節點且需要高可用性的 Enterprise 級叢集,建議選用 Ceph RBD,因為它無需外部硬體即可提供分散式冗餘、精簡配置以及近乎即時的快照功能。對於較小的叢集或較簡單的部署環境,NFS 則具備簡易的配置流程與廣泛的相容性。若具備外部 SAN,搭配 LVM-Thin 的 iSCSI 則是另一種選擇。
Proxmox 是否支援精簡配置?
是的。Proxmox 支援多種儲存類型的精簡配置,包括 LVM-Thin、ZFS、Ceph RBD,以及採用 QCOW2 虛擬磁碟格式的檔案型儲存(例如 Directory、NFS 和 SMB)。透過精簡配置,虛擬磁碟僅會佔用虛擬機器內實際寫入的資料所佔用的空間,而非預先配置的完整大小。 使用精簡配置時,應仔細監控資料存放區的可用空間,以避免容量耗盡。
在 Proxmox 中,Ceph 與 NFS 之間有何差異?
NFS 是一種檔案層級的共用儲存方案,需搭配獨立伺服器運作,設定簡便,且非常適合用於備份、ISO 檔案、虛擬機器範本以及對 I/O 需求不高的虛擬機器。 Ceph RBD 是一種直接內建於 Proxmox 中的分散式區塊儲存,提供線性縮放能力、跨叢集節點的資料複製,以及適用於關鍵任務虛擬機的高 IOPS 效能。NFS 的縮放能力僅限於單一伺服器,而 Ceph 則可透過新增節點或磁碟來縮放。Ceph 的設定較為複雜,但無需外部硬體。
對於 Proxmox 的儲存空間,我應該使用 ZFS 還是 LVM?
若您將資料完整性視為首要考量,且具備充足的 RAM 與 CPU 資源,並希望透過單一工具即可使用校驗和、壓縮、複製及軟體 RAID 等內建特點,請選擇 ZFS。若您偏好硬體 RAID、Proxmox 主機的 RAM 資源有限,或需要一種開銷極低的輕量級解決方案,請選擇 LVM-Thin。ZFS 特點更豐富,但對資源的需求也更高;LVM 則更為簡潔,且在原始 I/O 效能方面更為迅速。