基于 NVMe 命名空間的 VMware vSAN 性能優化
本文主要展示了基于 NVMe 協議命名空間與 VMware vSAN 虛擬化的性能優化,從而實現 SSD 每秒輸入輸出操作(IOPS)性能的提升。文中包含了硬件和軟件調優、測試過程、方法、結果以及分析,所使用的配置特性包括一臺搭載 AMD EPYC? CPU 的 Dell EMC PowerEdge R7525 機架服務器,該服務器支持最多 24 個 PCIe? 4.0 NVMe SSD。測試表明,采用 12 塊 KIOXIA CM6 系列 PCIe 4.0 NVMe SSD 的配置可以實現高達 896,555 IOPS 的隨機讀取性能。
此外,本文還提供了些參考,旨在幫助存儲架構師、系統集成商、渠道合作伙伴及其他關鍵利益相關者創建靈活的設計,以滿足數據中心的計算和存儲需求。文中還介紹了一種優化配置,幫助應用管理員和存儲架構師在該配置下實現最佳存儲性能。附帶的其他優勢包括:
- 使用 Dell EMC PowerEdge R7525 服務器和 KIOXIA CM6 系列 PCIe 4.0 NVMe SSD 的集群演示了在 vSAN HCI 環境下,極高的 IOPS 和吞吐量性能,并且延遲極低。
- 隨著集群和硬盤數量的增加,vSAN 虛擬化性能隨著集群規模和可用 SSD 的增多而提升。
- NVMe 協議命名空間與 vSAN 虛擬化的結合,使得 CM6 系列 SSD 的容量得以充分利用,包括緩存和容量層。
- 計算和存儲資源的高效擴展可以在不犧牲性能的情況下降低數據中心成本。
- vSAN 虛擬化與 NVMe 命名空間適用于多種業務工作負載。
背景
企業依賴 IT 專家為各自的數據中心組建計算、存儲和網絡資源,以應對諸如數據量激增、技術進步以及硬件資源不斷更新等關鍵需求。每次更新硬件以滿足不同資源池的需求,不僅費用高昂,還會造成生產資源的浪費,因為硬件升級需要額外的測試來確定與現有基礎設施的兼容性。
這些硬件挑戰促使許多 IT 部門轉向軟件定義的超融合基礎設施(HCI)方式,該方式通過使用商用服務器硬件和超高速 SSD 本地存儲來虛擬化計算和存儲資源。虛擬化集群中的每個超融合計算/存儲節點都運行一個虛擬化軟件,該軟件將其資源共享給其他超融合節點。管理軟件可控制這些虛擬化軟件,以形成和管理服務器集群,并根據每個虛擬機(VM)的需求分配資源。HCI 方法使數據中心能夠根據其獨特的業務需求,通過小型服務器集群和/或按需擴展的存儲來發展。
在本參考架構中,我們使用的是 VMware Inc.的組件,包括 VMware ESXi? 虛擬化軟件、VMware vSphere? 企業級虛擬化平臺和 VMware vCenter? 管理軟件,他們幫助我們實現了 HCI 的管理。這些平臺能夠將計算資源從不同主機抽象到一個可以為虛擬機或容器提供資源的集群中。當 VMware vSAN 企業級存儲虛擬化軟件與 VMware vSphere 結合使用時,IT 部門可以在一個平臺中管理計算和存儲資源。VMware vSAN 軟件與 VMware vSphere 無縫集成,便于管理,而 SSD 和命名空間配置則有助于減少延遲并提供快速的 IOPS 性能。此外,vSAN 還可以利用 NVMe SSD 作為本地存儲,使其能夠劃分為緩存層和數據存儲層,從而提高性能。
行業挑戰
在 HCI 架構中,整個磁盤要么用作緩存,要么用于數據存儲。并且,對緩存設備和磁盤組的數量存在限制。在 VMware 軟件中,每個緩存設備都要求整個磁盤被分配為緩存,且緩存容量限制為 600GB。為了從專用緩存 SSD 中獲得最佳性能,系統管理員需要購買一塊 3 DWPD、800GB 或 1.6TB 的 SSD,并將整個磁盤分配為緩存。這一過程效率低下,導致高端和高性能 SSD 的容量無法被充分利用,并使得存儲容量難以獨立于節點擴展,從而迫使系統管理員使用性能較低的 SSD 來滿足緩存需求。
系統架構
為了確定最佳配置,選擇了不同的 SSD 配置進行測試。選用的 KIOXIA CM6 系列 PCIe 4.0 NVMe SSD 容量為 7.68TB,具備 PCIe 4.0 支持和較高的 DWPD 值。為了支持命名空間(以便 SSD 既可作為緩存也可用于數據存儲),選用了更大容量的驅動器,以便支持更高的數據每日寫入量。
比較如下:
- 7.68TB × 1 DWPD = 每天可寫入 7.68TB
- 800GB × 3 DWPD = 每天可寫入 2.4TB
較大的驅動器允許比小容量 3 DWPD 的 SSD 更高的每日寫入量。
后續,我們將進行測試以展示運行NVMe命名空間和VMware vSAN軟件的配置的性能。后續將提供一些測試的系統配置
系統配置
服務器: Dell EMC PowerEdge R7525
系統總數: 3 臺
BIOS 版本: PowerEdge R7525 Version 1.7.3
操作系統版本: VMware ESXi 7.0.1 17325551 U1 P25
電源管理策略:高性能
處理器配置:
項目 | 參數 |
處理器數量 | 2 |
廠商與型號 | AMD EPYC 7552 48核處理器 |
核心數 | 48 |
主頻 | 2200 MHz |
步進號 | 0 |
內存模塊配置:
項目 | 參數 |
總系統內存 | 256GB |
模塊數量 | 16 |
廠商與型號 | Micron? MTA18ASF2G72PDZ-2G9E1TI 16GB 2RX8 PC4-2933Y-RE2-12 |
容量 | 16GB |
類型 | ECC DDR-4 |
速度 | 2933 MHz |
NVMe SSD 配置:
項目 | 參數 |
SSD數量 | 12(每臺系統4個) |
廠商與型號 | KIOXIA KCM6XRUL7T68(CM6 系列) |
容量 | 7680 GB |
規格 | 2.5 英寸(15mm)PCIe Gen 4.0,NVMe v1.4 |
硬件配置:
- 啟用邏輯處理器(Logical Processor Enabled)
- 啟用虛擬化技術(Virtualization Technology Enabled)
- 啟用 IOMMU 支持(IOMMU Support Enabled)
- 啟用 L1 與 L2 流硬件預取器
- MADT 核心枚舉設為線性(Linear)
- 每個 Socket 設置為 1 個 NUMA 節點(NUMA Nodes Per Socket = 1)
- 禁用將 L3 緩存作為 NUMA 域使用
- 啟用 x2APIC 模式
- 每個處理器 CCD 與核心均啟用
BIOS 內存設置:
- - 禁用系統內存測試
- - 設置 DRAM 刷新為“性能”模式
- - 內存工作模式為“優化器模式”
- - 自動內存交錯
- - 禁用機會性自刷新
- - 啟用可糾錯錯誤記錄
> ?? 說明:
> AMD EPYC 7552 處理器支持 96 核心配置,具備 128 條 PCIe Gen4 通道,能夠提供更高性能。結合雙插槽設計可支持高密度 SSD 配置。
內存配置圖示:
服務器采用 16×16GB DIMM(紅色區域),如下圖所示:
圖片
主機安裝 / VMware vCenter 設置
當硬件選型完成、設備上架并更新 BIOS 后,即可開始安裝 VMware vSphere。在本次參考架構測試中,于每臺主機本地安裝了 VMware ESXi 7.0.1 版本(構建號:17325551 U1 P25)。每臺主機的 ESXi hypervisor 安裝于插槽 #1 的 NVMe SSD 上。
?? 注意: 本次安裝并未使用 BOSS(Boot Optimized Server Storage)卡提供冗余,此安裝方式僅用于測試目的。
完成 ESXi 安裝后,為每臺主機分配管理 IP 地址用于基本管理。隨后安裝了 VMware vCenter Server? Appliance(VCSA),版本為 7.0.1.00200 - 構建號 17327517,并將所有主機加入 vCenter。VCSA 是為運行 VMware vCenter Server 和相關服務而優化的預配置虛擬機,運行在 Linux? 操作系統上。通過 VCSA 可對主機配置和管理進行全面操作。
網絡配置
VMware 主機的標準配置通常包含至少 4 個 VLAN,分別用于:
- 智能平臺管理接口(IPMI)
- VMware 管理流量
- vMotion(虛擬機熱遷移)
- vSAN 存儲流量
很多系統管理員更傾向于將這些流量通過不同 VLAN 進行分離,以隔離數據路徑。常見配置中至少使用兩個網絡端口,有時會用三個端口,其中一個專用于 IPMI(如 Dell iDRAC)。該端口通常為 1Gb/s 速率。
vSAN 推薦網絡要求:
- 最低要求為 10Gb/s 網絡
- 推薦配置為 4 個網絡端口,其中:
a.2 個端口用于 vSAN、管理和 vMotion 的 trunk
b.2 個端口用于 VM 數據流量
- 如果使用 100Gb/s 網絡,推薦使用 2 個端口實現冗余,這兩個 trunk 即可處理所有流量
網絡規模應根據 VM 數量、密度、vSAN 和 vMotion 等流量情況合理規劃。

參考架構測試網絡配置:
每臺主機配置了 雙 100Gb/s 網絡連接,接入 100Gb/s 物理交換機。配置如下:
- 使用 VMware 分布式交換機(Distributed vSwitch)
- MTU 設置為 9000(VMware 允許的最大值,減少數據包開銷)
- 創建兩個 VLAN:一個用于 vSAN 流量,一個用于 VM、管理、vMotion 和部署流量
隨后,將三臺主機添加至該分布式交換機,并遷移管理用的 VMkernel 端口至該交換機,同時將兩個 100Gb/s NIC 添加進交換機。
圖片
VMkernel 適配器配置
配置完物理網絡和分布式交換機后,下一步是設置 VMkernel 端口。技術上講,最少只需一個 VMkernel 端口,但如果管理、vMotion 和 vSAN 使用不同 VLAN,則需要三個 VMkernel 端口。
在本次參考架構中配置了兩個 VMkernel 適配器:
- 第一個適配器: 用于主機管理、vMotion 和虛擬機部署,確保主機可被 VCSA 管理,支持在線遷移(vMotion)與自動部署
- 第二個適配器: 專用于 VMware vSAN 虛擬化流量

?? 注意:vSphere 復制、vSAN 見證節點、VM 容錯等未在測試中啟用。如在實際部署中啟用,建議另設 VLAN 及 VMkernel 端口進行隔離。
NVMe 命名空間配置(NVMe Namespace)
在參考架構中部署的每塊 KIOXIA CM6 Series PCIe 4.0 NVMe SSD,均通過 ESXi Hypervisor 的 Shell 命令 `esxcli nvme` 進行命名空間的創建與掛載。
示例:添加命名空間
用作緩存(600GB):
esxcli nvme device namespace create -A vmhba5 -c 1258291200 -p 0 -f 0 -m 0 -s 1258291200
esxcli nvme device namespace attach -A vmhba5 -c 1 -n 1用作數據存儲(925GB):
esxcli nvme device namespace create -A vmhba5 -c 1939865600 -p 0 -f 0 -m 0 -s 1939865600
esxcli nvme device namespace attach -A vmhba5 -c 1 -n 2刪除命名空間:
esxcli nvme device namespace detach -A vmhba5 -c 1 -n 1
esxcli nvme device namespace delete -A vmhba5 -n 1NVMe 命名空間配置示例:
配置類型 | Namespace ID | 層級 | 類型 | 容量(GB) |
1+1 | 1 | 緩存 | Cache | 600 |
2 | 容量 | Capacity | 6400 | |
1+4 | 1 | 緩存 | Cache | 600 |
2-5 | 容量 | Capacity | 各1580 | |
1+7 | 1 | 緩存 | Cache | 600 |
2-8 | 容量 | Capacity | 各925 |
在沒有NVMe命名空間的第一種配置中,每個CM6系列SSD都被主機識別為一個NVMe控制器。在有命名空間的配置中,每個CM6系列SSD也被主機識別為一個NVMe控制器,并被表示為一個單一的目標,該目標具有與每個驅動器上配置的命名空間數量相對應的設備和路徑。這在下面的截圖中顯示:
圖片
當首次安裝到主機上時,這些驅動器顯示為單個磁盤設備。一旦創建了命名空間并將其附加到CM6系列SSD上,它們就會在VMware vCenter中顯示為獨特的本地存儲驅動器,如下圖所示:
圖片
集群配置
參考架構的下一步是創建服務器集群。使用三臺 Dell EMC PowerEdge R7525 服務器和十二塊 KIOXIA CM6 PCIe 4.0 NVMe SSD 創建了 vSphere 虛擬化平臺中的服務器集群。SSD 在三臺主機之間平均分配,每臺主機使用 4 塊 SSD。
集群創建初期禁用了所有服務,并將主機以維護模式添加至集群。主機加入后,可根據需要啟用高可用性(HA)和分布式資源調度(DRS)。為避免測試干擾,本次測試中 **未啟用** HA 和 DRS。
集群計算和存儲資源如 vCenter 管理界面截圖所示。
圖片
VMware vSAN 配置
接下來啟用 vSAN 服務并創建 vSAN 數據存儲。使用 VMware vSAN 標準選項和 VMware Skyline? 健康診斷工具,成功創建了虛擬化數據存儲。
vSAN 配置參數如下:
配置頂 | 設置 |
空間效率 | 無(None) |
靜態加密(Data-at-rest) | 關閉 |
傳輸中加密(Data-in-transit) | 關閉 |
大規模集群支持 | 關閉 |
磁盤組構建:
初始階段,從每臺主機選擇一塊 SSD 添加至 vSAN 平臺,并以該 SSD 的命名空間創建第一個磁盤組。隨后逐個添加其余三塊 SSD,每個 SSD 分別構成一個新的磁盤組。
每個磁盤組包含該 SSD 上的所有命名空間,有效地支持緩存寫入和數據降級(de-staging)操作間的高效協作。
最終,每臺主機包含 4 個磁盤組,即每臺主機的 4 塊 SSD 均參與 vSAN。若每塊 SSD 劃分為 8 個命名空間,則:
- 每主機:4 × 8 = 32 個命名空間設備
- 整個集群:3 × 32 = 96 個虛擬磁盤
- 實際物理磁盤數量為 12(每主機 4 塊)
在 vCenter 中,這些命名空間被識別為獨立磁盤設備。
圖片
圖片
創建故障域
為每臺主機分別建立一個故障域(Fault Domain),確保數據能在不同主機間復制,提高 vSAN 的數據可靠性。
此配置在 vCenter 的故障域設置中完成,并于界面中可視化展示每個主機的分布。

創建虛擬機存儲策略
在測試中,針對虛擬機創建了多種存儲策略,所有策略參數均保持默認。策略中啟用了厚置備(Thick Provisioning)以預留容量,但在 vSAN 中所有對象本質上都為薄置備(Thin Provisioning),不會寫入 0 填充,因此不會影響性能測試。
條帶大小(Stripe Size)測試:
為每種命名空間配置(如 1+1、1+4、1+7)設置了從 1 到 5 的不同條帶大小進行測試。每輪測試前通過如下步驟設置策略:
1. 在集群配置頁的 vSAN 服務中,啟用性能服務。
2. 在 HCIBench 創建 VM 時,選擇對應存儲策略。
vSAN 存儲策略示例
配置頂 | 設置 |
主機服務規則啟用 | 關閉 |
針對“vSAN”存儲的規則 | 開啟 |
基于標簽的規則 | 關閉 |
可用性(Availability)
頂 | 值 |
站點容災容忍 | 無(標準集群) |
容忍失敗次數 | 1 次(RAID-1 鏡像) |
高級策略(Advanced Policy Rules)
頂 | 值 |
每個對象的 IOPS 限制 | 0(不限制) |
空間預留 | 厚置備(Thick) |
讀取緩存保留比例 | 0% |
禁用對象校驗和 | 關閉 |
強制置備 | 關閉 |

測試方法
系統配置使用 HCIBench 2.5.1 進行測試,它部署虛擬機并使用 VDBENCH 生成標準化工作負載。
針對 vSAN 數據存儲配置了不同的條帶數(Stripe Number)和磁盤組(Disk Groups)數量,視具體硬盤安裝數量而定。
HCIBench 測試參數:
參數頂 | 值 |
虛擬機數量(VMs) | 12,24,30 |
CPU 數量 | 4 |
內存大小(GB) | 8 |
數據磁盤數量 | 1,4,8,12,16,20,24 |
數據磁盤大小(GiB) | 14 |
其他測試參數:
參數頂 | 值 |
磁盤組數量 | 2,4 |
條帶數量 | 1,2,3,4,5 |
? 使用 HCIBench 中的標準 "easy run" 配置,可很好模擬現實工作負載。
測試用例
以下為在不同命名空間配置下的測試用例:
測試編號 | 描述 | 讀/寫比 | 塊大小 | 場景 |
Test 1 | 大數據寫入或虛擬機創建 | 0%讀 / 100%寫 | 256K | 連續寫入 |
Test 2 | 常見隨機讀取負載 | 100%讀 / 0%寫 | 4K | 分析類負載 |
Test 3 | 企業常見虛擬機混合負載 | 70%讀 / 30%寫 | 4K | 多VM工作負載 |
Test 4 | 常見數據庫混合讀寫負載 | 50%讀 / 50%寫 | 8K | 數據庫類場景 |
測試結果
以下為不同命名空間配置下的最佳測試結果對比(包括 IOPS、吞吐量和延遲):
無 NVMe 命名空間配置

2 個 NVMe 命名空間配置

5 個 NVMe 命名空間配置

8 個 NVMe 命名空間配置

IOPS 性能總結
提升NVMe命名空間的IOPS性能如下圖所示:
圖片
圖片
在四種不同的工作負載下使用NVMe命名空間的IOPS性能優勢,在所有情況下都顯著優于不使用NVMe命名空間的情況。八(8)個命名空間配置與無命名空間配置之間的性能差異如下所示:
?? 總結:IOPS 性能提升對比(使用 8 個命名空間 vs 不使用)
圖片
RA測試結果表明,使用命名空間的四驅動器配置優于相同配置但不使用命名空間的情況。隨著命名空間數量的增加,測試配置的IOPS性能也隨之提高。根據測試用例的工作負載,使用命名空間時,IOPS性能提高了385%到1195%。
吞吐量性能總結
在四種不同的工作負載下使用NVMe命名空間的吞吐量性能優勢,在所有情況下也都顯著優于不使用NVMe命名空間的情況,如下所示:
圖片
圖片
吞吐量提升對比(使用 8 個命名空間 vs. 無命名空間)
圖片
?? 結論:使用命名空間配置能夠大幅提升吞吐量,尤其是在高密度隨機讀取或混合負載的場景中
測試分析
在進行詳細的測試分析時,我們考察了不同的磁盤組配置和命名空間數量對性能的影響。通過在 2、3、4 和 5 個磁盤組 設置中進行測試,我們發現,4 個磁盤組 是最優配置,尤其是當這 4 塊驅動器分配到不同處理器的插槽時,表現最佳。
條帶大小(Stripe Size)對比:
測試期間,條帶大小設置從 1 到 5 都進行了調整,盡管在寫入密集型的場景中,較大的條帶大小通常會提升寫入性能,但其對讀取性能產生了一定的負面影響。VMware 推薦在不明確需要其他配置時,條帶設置為 1,但可以根據 SSD 數量、讀寫比及操作特性進行調整。
內存和 CPU 資源對虛擬機性能的影響:
- 當為虛擬機提供更多 CPU、RAM 和更大的數據磁盤時,性能并沒有顯著改變。
- 測試表明,虛擬機數量 增加到 24 后,性能趨于平穩,這表明在 vSAN 層出現了瓶頸。
- 超過 8 個數據磁盤的配置對性能產生負面影響。
性能瓶頸分析:
隨著虛擬機數量的增加,IOPS 性能趨于平穩,并在 24 臺虛擬機 之后開始瓶頸。考慮到每臺虛擬機的計算與存儲資源,建議調整虛擬機數目或優化 vSAN 配置。
推薦建議
通過本次測試,使用 KIOXIA CM6 系列 SSD 和 NVMe 命名空間結合 VMware vSAN 虛擬化,可以顯著提高存儲性能,特別是在混合虛擬機負載和數據庫負載的場景下,性能分別提升了近 500%和 1200%。這些結果表明,使用命名空間可以大幅度改善存儲性能,并能有效降低延遲。
存儲架構師和 VMware 管理員應考慮:
- 在 vSAN 配置中利用 命名空間,最大化虛擬機可用的存儲性能。
- 根據工作負載的不同,靈活調整虛擬機數量、條帶大小等配置,避免過度擴展導致性能瓶頸。
- 在設計服務器集群時,考慮硬件購買時包含命名空間支持,搭配合適的硬件配置以充分發揮性能。
?? 結論: 本參考架構展示的配置能夠在與現有市場上一些全閃存陣列解決方案競爭時,提供類似或更好的性能。
最終總結
Dell EMC PowerEdge R7525 服務器(配備 AMD PCIe 4.0 CPU)、VMware vSAN 軟件和 KIOXIA CM6 系列 PCIe 4.0 SSD的結合,展示了超融合基礎設施(HCI)環境下的出色性能。通過結合 NVMe 命名空間 和對硬件與軟件的優化設置,能夠極大提升 vSAN 性能,充分利用 KIOXIA CM6 系列 SSD 在緩存和容量層的雙重作用。
性能提升總結
- 在各種操作負載下,IOPS 性能提高了 385% 到 1,200%。
- 吞吐量性能顯著提升,尤其是在隨機讀寫密集型工作負載中,提升幅度達到 575% 到 887%。
- 延遲大幅降低,進一步優化了整體響應時間。
?? 推薦: 在構建 vSAN 環境時,強烈建議采用支持命名空間的 NVMe SSD,并根據具體需求調優硬件和存儲策略,以最大化存儲性能。
調優參數和設置總結
AMD EPYC CPU 調優參數:
圖片
內存設置:
圖片
KIOXIA CM6 SSD 設置:
圖片
VMware vSAN 設置:
圖片























