VMware ESX 3.0 及更高版本支持為虛擬機磁盤 (VMDK) 存儲使用多種協(xié)議選項:
光纖通道協(xié)議 (FCP)
iSCSI
NFS
10 千兆位以太網(wǎng) (10GbE)
選擇協(xié)議時主要考慮以下事項 :最大吞吐量、每個協(xié)議上發(fā)生的 VMDK 行為以及重用現(xiàn)有的存儲基礎架構(gòu)相對于采購新存儲基礎架構(gòu)的成本。
存儲協(xié)議的吞吐量
基于存儲協(xié)議的每臺主機的虛擬機數(shù)顯示了以下主要存儲協(xié)議的最大吞吐量 :
表 2 :基于存儲協(xié)議的每臺主機的虛擬機數(shù)
最大實際吞吐量遠遠超出了最大 ESX 主機的需求 — ESX 4.1 主機支持 128 GB 的 RAM(每個 Windows 客戶機使 用 512 MB 的 RAM)。
幾乎所有生產(chǎn) View 部署都不會使用最大支持內(nèi)存量,即每臺 ESX 主機 128 GB RAM,這是因為受到成本上的 約束,例如為主機配備 8 GB SIMM 內(nèi)存而不是 2 GB 或 4 GB DIMM 的成本。ESX 主機很有可能在遭遇磁盤 I/O 瓶頸之前就用完 RAM 或 CPU 時間。但是,如果磁盤 I/O 真的成為瓶頸,則極有可能是由于磁盤布局和磁盤軸數(shù)(即沒有足夠的 IOPS)造成的。Windows 虛擬機的吞吐量需求通常不是存儲設計的決定因素。
注意 :為了呈現(xiàn)只使用一個物理路徑的一個數(shù)據(jù)會話的最壞情況,我們沒有考慮鏈路聚合。
各個協(xié)議上發(fā)生的VMDK行為
FCP 和 iSCSI 都是數(shù)據(jù)塊級協(xié)議。ESX 可以直接訪問磁盤數(shù)據(jù)塊,并可以控制將數(shù)據(jù)塊裝配到文件中。數(shù)據(jù) 塊級協(xié)議被 ESX 主機格式化為 VMware VMFS,并使用 ESX 文件鎖定機制,最多只允許 32 個 ESX 主機訪問同 一個 LUN。數(shù)據(jù)塊級協(xié)議還使用整機式(厚磁盤)VMDK 格式,即每個 VMDK 在創(chuàng)建時均為完全調(diào)配,因此, 無論 VMDK 內(nèi)容占用多大空間,一個 20 GB 的磁盤都可以使用 20 GB 的數(shù)據(jù)塊級存儲空間。
NFS 是一種文件級協(xié)議。NFS 設備控制文件鎖定以及將數(shù)據(jù)塊裝配到文件中。文件級協(xié)議使用精簡磁盤 VMDK格式,即 VMDK 只能與其內(nèi)容一樣大,因此,一個包含 10 GB 數(shù)據(jù)的 20 GB 磁盤將使用 NFS 存儲設備上的10 GB 空間。ESX 支持在單個主機上使用最多 32 個 NFS 數(shù)據(jù)存儲。
自 ESX 版本 2.0 開始,就一直使用格式化為 VMware VMFS 的已連接 FCP 的 LUN。數(shù)據(jù)塊級協(xié)議還允許對虛擬 機使用裸磁盤映射 (RDM)。但 RDM 一般不用于 Windows XP 或 Windows 7 虛擬機,因為終端用戶通常沒有必須要使用 RDM 的存儲要求。FCP 在基于 Windows 的數(shù)據(jù)中心內(nèi)用于生產(chǎn)的時間要遠遠長于 iSCSI 或 NFS。
VMware 在 ESX 3.0 中引入了對 iSCSI 和 NFS 的支持。
iSCSI 是一種數(shù)據(jù)塊級協(xié)議,與 FCP 的功能相同,但 iSCSI 采用的一般是比較便宜的介質(zhì)(1 Gb/秒的以太網(wǎng))。
iSCSI 解決方案可以使用內(nèi)置的 iSCSI 軟件啟動器,也可以使用硬件 iSCSI HBA。使用軟件啟動器將增加 ESX 主 機上的 CPU 負載。與光纖通道 HBA 一樣,iSCSI HBA 也會將這種處理負載卸載到專用卡上。要增加 TCP/IP 傳 輸?shù)耐掏铝浚鷳搶⒕扌蛶c iSCSI 結(jié)合使用。VMware 建議的幀大小為 9000 字節(jié)。
NFS 解決方案始終采用軟件驅(qū)動。因此,存儲流量會增加 ESX 主機上的 CPU 負載。 對于 iSCSI 和 NFS 而言,新型網(wǎng)卡的 TCP/IP 卸載功能可以減小這些協(xié)議的 CPU 負載。
如果您使用 iSCSI 或 NFS,則根據(jù)當前數(shù)據(jù)中心網(wǎng)絡的容量和體系結(jié)構(gòu),可能需要構(gòu)建一個獨立的物理以太網(wǎng) 結(jié)構(gòu),以將存儲流量與常規(guī)的生產(chǎn)網(wǎng)絡流量分開。FCP 始終需要獨立的光纖結(jié)構(gòu),這種結(jié)構(gòu)在特定的數(shù)據(jù)中 心內(nèi)可能已存在,也可能不存在。
使用現(xiàn)有的基礎架構(gòu)
要確定是使用現(xiàn)有的存儲基礎架構(gòu)還是購買新的基礎架構(gòu)(結(jié)構(gòu)或陣列),您應該對數(shù)據(jù)中心內(nèi)所有現(xiàn)有設備 的容量和功能進行評估,并考慮回答以下問題 :
您是否有位于 ESX 4.1 硬件兼容性列表中的存儲陣列?
現(xiàn)有的陣列是否有足夠的 IOPS 容量用于預期數(shù)量的虛擬機?
現(xiàn)有的陣列是否有足夠的存儲容量用于虛擬機?
您是否有可支持預期數(shù)量的 ESX 主機的結(jié)構(gòu)(以太網(wǎng)或光纖通道)?
您是否有用于虛擬化服務器的 VMware Infrastructure 環(huán)境?如果有,是否有足夠的存儲容量來支持新的VMware View 環(huán)境?
最終的協(xié)議選擇
在為支持 VMware View 實施的 VMware ESX 存儲選擇最終協(xié)議時,相對于技術(shù)而言,往往更注重財務和心理方面的因素。如果您需要購買新的結(jié)構(gòu)和陣列,則總體擁有成本和投資回報率將成為決定是否購買該存儲結(jié)構(gòu)和陣列的主導因素。如果您可以使用現(xiàn)有的結(jié)構(gòu)和陣列,則新的 VMware View 實施將沿用現(xiàn)有基礎架構(gòu)的技術(shù)功能。