誰是服務器虛擬化環境的最佳選擇
到目前為止還沒有哪一種網絡存儲類型敢說自己一定是服務器虛擬化環境的最佳選擇。因為每個應用環境都是不同的,即使在一個地方表現良好,那也不能保證在其他地方同樣合適。
對于服務器虛擬化環境來說,光纖通道存儲是比較傳統的選擇。但現在iSCSI和NAS的普及程度也越來越高,畢竟它們的性價比更加突出。下面本文就來看看每一種網絡存儲技術的規格特性,并逐一分析它們的優勢和不足。
光纖通道存儲
單從性能和可靠性的角度看,光纖通道無疑是出色的存儲架構,其它產品很難與之PK。但凡事都有兩面性,使用光纖通道存儲的確獲得了高性能,可用戶卻不得不承擔更高的成本,以及面對更復雜的技術架構。不過,光纖通道技術在數據中心領域的應用歷史很長,基礎非常好,因此比較大的虛擬化環境通常都傾向于選擇光纖通道,這些用戶主要還是考慮速度和可靠性的因素(光纖通道當前的帶寬是8 Gbps,下一代是16 Gbps)。另外,光纖通道存儲網絡一直是相對獨立的,因此與基于以太網的存儲設備相比安全性更好。可問題是,光纖通道需要特殊的HBA主機適配器、特殊的交換機,而且這些配件比以太網絡使用的同類配件更加昂貴。
客觀的說,如果要從零開始構建一個光纖通道網絡代價是很高的。除此之外,光纖通道環境的部署和管理也更復雜,與傳統網絡架構相比,它配置起來難度很大,熟悉此項技術的人才也偏少。當前,很多公司都有技術熟練的網絡管理員,但其中卻很少有光纖通道存儲網絡方面的管理人才。設計并管理一個SAN架構通常需要經過特殊的培訓,這無形中又進一步增加了實施的費用。
光纖通道存儲的優勢:
FC是部署企業級存儲架構的首選,而且許多應用環境本身就已經在使用SAN了;
由于具有更高的可用帶寬,通常情況下性能表現最好;
獨立的光纖通道網絡更安全;還有LUN zoning和LUN masking等訪問控制機制;
支持boot from SAN(從存儲啟動系統),服務器本地不再需要硬盤;
基于block的塊存儲類型,可以使用VMware vSphere自帶的VMFS卷(一種文件系統)。
光纖通道存儲的不足:
從零開始構建的話,部署成本會很高;
需要特殊的、昂貴的配件,比如交換機、線纜和HBA卡;
實施和管理也許更復雜,通常需要專職的存儲管理員;
可用的安全控制功能較少,實現認證和加密比較復雜。
如果用戶的物理服務器上準備運行多個虛擬機,且應用類型對磁盤I/O有較高的要求,那么為了得到最佳的性能,用戶或許應該認真考慮使用光纖通道存儲系統。此外,FCoE也是一個選擇,它相當于在傳統的以太網設備上承載光纖通道協議。但目前FCoE必須部署在同樣昂貴的10 Gbps以太網環境,需要特殊的交換設備。
如果用戶的應用環境中已經有了FC SAN,那么在構建虛擬化平臺時使用光纖通道儲存是很合適的。擴展一個已有的SAN環境很容易,而且比部署一個全新的環境要便宜許多。如果用戶的預算充足,而且有管理復雜環境的技術能力,那么選擇光纖通道存儲一定沒錯。
#p#
iSCSI存儲
iSCSI也是一種流行的存儲技術,同時也是光纖通道存儲的有力競爭者。像光纖通道一樣,iSCSI也是一種基于block的塊存儲協議,它使用傳統的以太網組件作為載體,連接服務器和存儲設備。iSCSI的部署成本通常很低,理由很簡單,因為它可以借用已有的以太網設備。iSCSI的工作原理是在主機端利用一個叫做initiator的client,通過LAN網絡將SCSI命令發送給目標端的SCSI存儲設備(目標端也叫做target)。
iSCSI的initiator可以基于軟件,也可以是硬件。基于軟件的initiator通過調用hypervisor虛擬化引擎內嵌的設備驅動,利用以太網適配器和以太網協議,將I/O信息發送給遠端的iSCSI target設備。硬件initiator則基于專用的iSCSI HBA卡,iSCSI HBA卡整合了網絡適配器,TOE引擎(TCP/IP offload engine)和SCSI適配器的功能,利用卡上的芯片處理I/O請求,對于提高服務器端的性能很有幫助。大多數情況下,基于軟件的initiator都可以很好的工作,但如果追求更高的I/O性能并且希望減少主機的資源開銷,那么基于硬件的initiator是更好的選擇。此外,與光纖通道的Boot from SAN類似,我們可以通過硬件initiator實現從存儲設備直接啟動操作系統;而且,最近還出現一種叫做iSCSI Boot Firmware Table(iBFT)的技術,支持通過軟件initiator實現SAN Boot。需要注意的是iBFT依賴于hypervisor環境的支持。
在1 Gbps網絡環境下,iSCSI的性能就已經非常不錯了,而一旦切換到10 Gbps,性能還會有巨大的提升,完全可以媲美甚至超過FC光纖通道。大多數hypervisor虛擬化引擎都支持10 Gbps iSCSI,但目前部署10 Gbps iSCSI的成本還很高,價格幾乎跟光纖通道一樣。使用iSCSI最大的風險在于如果是基于軟件的initiator,那么它會增加服務器端的CPU開銷 (使用硬件initiaor,CPU負載會小很多),同時它所依賴的以太網環境相對比較脆弱(容易受到干擾)且不穩定。解決網絡沖突問題的方法其實很簡單,我們只需要把iSCSI流量和其他網路流量做物理隔離就可以了。
iSCSI存儲的優勢:
iSCSI是光纖通道存儲的低成本替代方案,它使用標準的以太網組件,iSCSI磁盤陣列的價格通常也低于光纖陣列;
基于軟件的initiator簡單易用而且非常便宜,基于硬件的initiator則可以提供更好的性能;
像光纖通道一樣,iSCSI是基于block的塊存儲系統,在VMware vSphere環境下可以使用VMFS卷;
升級到10 Gbps以太網之后,速度和性能將有大幅度提升;
部署和管理iSCSI不需要特殊的培訓和特殊技能;
支持CHAP認證和加密等安全機制,也支持multipathing多路徑這樣的可以增加帶寬和可靠性的技術;
部署起來比光纖通道更快。
iSCSI存儲的不足:
因為多數情況下iSCSI使用的都是軟件initiator,因此它會增加服務器CPU的負擔;
性能通常不如FC SAN;
通常無法擴展到像光纖通道存儲系統那樣大的規模;
網絡延遲和非iSCSI網絡流量的干擾都會影響iSCSI的傳輸性能。
iSCSI產品的種類很豐富,選擇起來也更加靈活。iSCSI產品線的范圍很廣,小到2000美元以下的辦公室存儲設備,大到企業級產品都有覆蓋。但請記住一點,iSCSI產品的性能通常與價格成正比。如果用戶要運行大量的虛擬機并承擔繁重的負載,那么就應該把更多的錢用在存儲系統上。用戶如果追求低成本并關注簡單易用等特性,那么iSCSI是個不錯的選擇。盡管常常有人詬病iSCSI的性能不佳,但實際應用表明,一個獨享網絡通道且經過優化配置的 iSCSI系統完全能夠達到與光纖通道系統相近的性能,并且能夠滿足大多數應用的需求。
#p#
NAS存儲
NAS(尤其是NFS)與iSCSI之間最大的區別是協議類型不同。在將數據寫入存儲設備的過程中,它們使用了不同的協議。iSCSI使用block塊協議,數據以塊為單位從前端虛擬機寫入到后端的存儲設備。主機端負責維護磁盤上的文件系統,在主機看來,存儲設備與服務器本地磁盤并沒有區別。NAS則是另外一種情況,存儲設備端負責維護磁盤文件系統,使用的是文件共享協議,服務器與存儲設備之間只有簡單的通訊。
NAS本質上是把寫數據到磁盤的工作從主機端轉移到了存儲設備端,原本由主機負責的存儲功能轉而由NAS來處理。在虛擬化環境下,NAS系統使用集成在 hypervisor虛擬化引擎中的專用NFS client軟件,通過物理服務器的網絡適配器與NFS server端進行通信。
NFS是一個應用廣泛的協議,當下幾乎所有主流的服務器虛擬化平臺都支持NAS設備。考慮到NAS產品有多種不同的形式,因此在虛擬機環境中使用NAS也可以有多種不同的方式。比如,我們可以把一臺標準的物理服務器變成NAS服務器;還可以使用虛擬NAS軟件;或者使用一臺專用的NAS存儲裝置。每個產品類型在性能和價格方面的差異非常大,其中專用NAS硬件裝置的性能最好,但同時價格也最高。
現在,幾乎每一個存儲廠商都可以提供支持 NFS的NAS存儲設備。與block塊存儲不同的是,block塊存儲系統一旦將空間分配給服務器,這些空間就會立即被文件系統或應用程序占用。而 NAS系統則會根據寫入的實際數據量消費空間資源。如果預算不是問題,那么市場上有很多優秀的NAS產品可供選擇。
一般說來,NAS的性能還達不到光纖通道SAN的水平,但是一個在架構上設計合理的NAS系統完全能夠滿足大多數應用負載的需求。像iSCSI 一樣,NAS使用以太網端口與存儲設備通信,這意味著過去NAS系統的速度上限為1 Gbps,但新出現的10 Gbps以太網端口能夠大幅度的提升傳輸速度,只要用戶負擔得起,性能不再是問題。NAS的性能與iSCSI幾乎一樣。只要CPU的處理能力不是瓶頸,那么對iSCSI和NAS性能的制約因素只有最大可用網絡帶寬這一點。
NAS存儲的優勢:
許多NAS存儲設備默認使用自動精簡配置功能,它能幫助用戶節省大量寶貴的磁盤空間;
文件級鎖和排隊機制由NAS設備自己控制,而iSCSI和光纖通道儲存則由主機端控制鎖和排隊,相較而言NAS性能更好;
與block塊存儲不同,NAS不需要維護單一的磁盤I/O隊列,這對提高性能有很大幫助。NAS的性能取決于網絡連接的帶寬以及磁盤陣列的處理能力;
因為使用標準的以太網組件,因此NAS的部署成本低于光纖通道存儲,而且NAS陣列的價格也低于光纖通道陣列;
部署和管理NAS設備不需要特殊的培訓和專門的技術;
虛擬化環境的存儲池擴展非常簡單,只需要增加NFS服務器的磁盤容量,存儲池也會相應的隨之擴展;
支持文件系統級別的快照和克隆功能,與LUN級別的對應功能相比,具有更好的彈性并支持更多的粒度。
NAS存儲的不足:
不支持直接從NAS設備啟動操作系統;
Hypervisor虛擬化引擎只能使用基于軟件的客戶端與NAS服務器進行通信,會消耗一定的CPU資源;
由于存在網絡延遲,所以有些廠商不推薦用戶在某些比較敏感的應用上使用NAS存儲;
對虛擬化環境的新特性支持較慢,這一點不如block塊存儲設備;
NAS系統沒有主機端到NAS服務器之間的多路徑技術,只能建立一個單獨的TCP連接,性能受物理條件制約,不容易擴展。
雖然NAS存儲有不足的地方,但是我們也不應該對它失去信心,因為這些問題只在少數特殊環境下才能遇到,或者是因為NAS方案的架構存在缺陷導致的。一個完善的NAS解決方案完全可以處理服務器端虛擬機應用的I/O請求,所以說NAS跟block塊存儲一樣,也是一個不錯的選擇。過去,NAS在虛擬化環境的應用上有一些限制,不過現在完全沒有這個問題。