2014年5月10日 星期六

解析VMware Virtual SAN的運作與設定

解析VMware Virtual SAN的運作與設定

只需利用既有的ESX主機,搭配vCenter管理平臺,就能建構出具備高擴充性與高可用性的共享datastore,統一管理叢集儲存資源


要建置Virtual SAN(VSAN),必須滿足一定的軟硬體需求,用戶必須擁有vSphere、vCenter與VSAN的授權,vSphere主機的磁碟也須滿足必要的規格,例如:

VSAN的軟體授權需求

VSAN的設定與管理都是透過vSphere Web Client介面存取vCenter來進行,需要5.5 Update 1以上版本的vCenter,vCenter的Windows版或Appliance版都可以用來管理VSAN。

VSAN至少需要3臺vSphere主機來建立一個叢集環境,vSphere必須是5.5 Update 1以上版本。

VSAN本身的元件已內含於最新的vSphere 5.5 Update 1中,只要購買對應的授權即可啟用。

VSAN的授權包括幾種不同型式,如按vShpere主機處理器數的單獨購買型式、針對VDI的授權、從上一代VSA產品升級等,詳見後文的說明。

VSAN的叢集節點硬體需求

VSAN對叢集中各節點vSphere主機有3個較特別的硬體需求。

首先,VSAN要求直接控制底層的磁碟機,所以若vSphere主機安裝有RAID卡的話,必須關閉RAID卡的RAID功能,讓VSAN以直通方式(pass-thru)存取硬碟。

其次,VSAN叢集中每一臺vSphere主機,必須至少分配1臺硬碟納入VSAN的儲存池,並提供至少1臺SSD充當讀取與寫入快取,SSD可以是SAS/SATA型式,或PCIe型式。

第三,VSAN叢集中每一臺vSphere主機必須至少有1張網路卡,理論上可以使用GbE網路卡,不過VMware建議使用10GbE網路卡(因應高可用性等功能所帶來的背景I/O需求),為了避免單一網路埠或網路卡失效問題,最好是配備1組網路卡。

VMware官方網站上提供了已通過Virtual SAN相容認證過I/O控制器、磁碟機與SSD等周邊的產品清單,還有認證過的整機伺服器清單,這些認證過的整機伺服器產品被稱為Virtual SAN Ready Node。一般來說,多數x86伺服器主機與相關周邊硬體都可以運行VSAN,只有目前尚未標準化的PCIe SSD必須特別注意相容性,必須名列VMware相容清單中的PCIe SSD產品,才能在VSAN中使用。

VSAN的架構與運行方式

VSAN可在最少3臺、最多32臺vSphere主機間,建立1個具備高可用性保護能力的共享datastore,以用於VM物件的儲存。叢集中的每臺vSphere主機,最多可將35臺本機硬碟納入VSAN的datastore,所以每個VSAN叢集最多可支援1,120臺硬碟。而且管理者可隨時將額外的vSphere主機、或個別vSphere上的額外硬碟,添加進VSAN叢集,而不會影響VSAN的運作。

為了確保資料的可用性,VSAN採用了分散式RAID概念,來因應個別磁碟或個別節點的故障失效。管理者可透過VSAN的政策設定介面,設定失效容許數量(Number of Failures to Tolerate)屬性,來決定個別VM能容許多少臺vShpere主機或磁碟失效,而仍能維持資料完整。

依管理者設定的失效容許數量不同,VSAN會替VM物件產生不同數量的複本(Replica),並分散存放到不同節點上,當某一個節點、或節點上的硬碟失效,導致原先的VM物件無法被存取時,可透過每個datastore上的保存了每個物件metadata資訊的Witnesses資料,將存取需求導向完好的VM複本。

VSAN的SSD快取功能

VSAN的架構提供2種存取機制來提高I/O效能。

第1種是使用大容量的SSD來作為讀取與寫入快取。

每臺VSAN節點是以磁碟群組(disk group)作為磁碟組態基本單位,每個磁碟群組可容納最少1臺、最多7臺硬碟,並搭配1臺SSD來充當快取,而每臺VSAN節點最多可配置5個磁碟群組,每個磁碟群組都含有1臺快取用SSD,所以每個節點最多含有5臺作為快取的SSD。

利用大容量的SSD作為讀取快取,可大幅減少存取底層硬碟的機率,有效降低讀取的I/O延遲;寫入快取則是作為寫入I/O的緩衝區,寫入I/O會先進入SSD上的寫入緩衝區中,然後再由SSD緩衝區寫入底層磁碟,藉此加快寫入速度。系統預設以70%的快取用SSD容量作為讀取快取,30%容量作為寫入快取。

如同所有儲存系統的寫入快取機制,必須預防系統失效導致寫入資料遺失的問題,VSAN會依據管理者為VM設定的失效容許數量屬性,當每一筆VM資料寫入某臺VSAN節點的SSD寫入快取緩衝區時,也會同時平行寫入到其他VSAN節點的SSD寫入快取緩衝區,可確保任一節點失效時,其他節點仍保存有完整的寫入資料。

第2種機制是磁碟Stripe。

管理者可透過設定stripe數值,將每個儲存物件的複本以1MB為單位、分割到多臺硬碟上分散存放。Stripe的效果對於讀取與寫入各有不同,對於寫入I/O來說,由於會先進入VSAN的SSD寫入緩衝區中,stripe無法發揮太多幫助,不過對於讀取I/O來說,若SSD快取區未能命中、必須從底層硬碟讀取資料時,透過stripe方式可同時從多臺硬碟讀取資料,便能有效提高讀取速度。

視用戶環境中個別節點所含有的硬碟數量,以及管理者設定的Stripe數值,Stipe所分布的硬碟可在同一臺主機或多臺主機上(若設定的Stripe數值大於單一主機所含有的硬碟數量,則系統就會跨多臺主機、以將足夠數量的硬碟來作為stripe使用)。

VSAN與其他功能的相容性

VSAN可相容於VMware vSphere大多數的進階與附屬功能,包括HA、vMotion、DRS、vSphere Replication與VDP等,加入VSAN叢集的vSphere主機仍可正常的運行前述功能,就連Storage vMotion也可正常使用,可在VSAN的datastore與一般的NFS/VMFS datastore之間,以Storage vMotion遷移VM。

不過受先天架構的限制,Storage DRS、DPM(Distributed Power Management)、SIOC(Storage I/O Control)與SRM等幾項功能,均無法用於VSAN

其中對於Storage DRS來說,由於在VSAN叢集中只允許1個datastore,與Storage DRS必須建立含有多個datastore的datastore叢集相比,運作方式存在根本的不同。在VSAN叢集中也不允許使用會自動關閉vSphere主機電源的DPM功能,這將會影響到資料的可用性。

至於用於調節儲存設備I/O效能的SIOC功能,在VSAN上已有更進步的I/O機制可以替代,所以不使用SIOC。類似的,vSphere 5.5新增可使用Flash記憶體作為讀取快取的vFRC(vSphere Flash Read Cache)功能,由於VSAN已內含了自身的SSD快取功能,所以也沒有使用vFRC功能的必要。

另外必須搭配後端外接儲存設備遠端複製功能的SRM(Site Recovery Manager)異地備援機制,在VSAN環境中也不提供,不過可以Hypervisor端的vSphere Replication功能來替代。

「vSphere Only」的VSAN

VSAN所建立的儲存空間是僅供VMware VM物件存放使用的datastore,所以是一種「vSphere Only」的產品,只適用於VMware環境。

如果面對的是混合有多種Hypervisor或實體、虛擬主機並存的環境,就必須另外搭配其他儲存產品使用,或是改用可適用於異質環境的SAN、NAS等通用型儲存設備。

轉載自《iThome