上周筆者收到了一篇新聞稿,標題為“Mellanox發布新一代基于RDMA的虛擬SAN軟件設備”,我們知道Mellanox是InfiniBand網絡交換行業(包括芯片、交換機和HCA適配卡等)的領導者,并占據該領域絕大多數的市場份額。相比之下,被Intel收購的QLogic InfiniBand業務顯得九牛一毛。
正如一位在Mellanox工作的朋友所說:“InfiniBand最初是為了存儲而生,而當時的存儲對I/O需求還沒有那么高,于是就先在HPC(高性能計算)網絡互連應用中嶄露頭角。”。隨著閃存在企業存儲應用中的普及,擁有高帶寬/低延時優勢的InfiniBand開始越來越多地出現在固態存儲系統的主機連接(如Fusion-ION軟件方案、EMC Project Thunder和被IBM收購的TMS Ramsan 720等)和內部節點間互連(IBM XIV Gen3和被EMC收購的XtremIO等)中。那么Mellanox現在進入存儲領域倒也不令人意外。
從這個包裝盒就可以看出,Mellanox虛擬SAN軟件設備新品的正式名稱是Storage Accelerator (VSA,存儲加速器) and Virtual SAN (vSAN) Appliance。一提起VSA這3個字母,我想大家早就應該不陌生了,惠普和VMware都推出過相同名稱(縮寫)的產品,那么Mellanox VSA與前者又有什么不同呢?
前有惠普、VMware:此“VSA”非彼“VSA”?
在筆者的印象中,惠普是最早使用“VSA”這個名字的——LeftHand P4000 VSA(Virtual SAN Appliance)。惠普在2008年收購了iSCSI存儲廠商LeftHand,該產品線以Scale-out(向外擴展)形式的網絡RAID功能為特色。而VSA就是LeftHand軟件運行在VMware和Hyper-V(后來增加)中的版本,將虛擬化服務器中的硬盤存儲空間以iSCSI設備的形式向外提供,并在功能和規格上有一些限制。
后來當VMware發布vSphere 5.0的同時,也推出了VSA(vSphere Storage Appliance)軟件——在英文縮寫上與惠普的LeftHand P4000 VSA相同。
VMware VSA初始發布時支持為2~3臺ESXi服務器集群添加存儲高可用功能。“每個ESXi服務器都有一個VSA作為虛擬機部 Tolerance(容錯)這些服務器高可用組件,以及vMotion虛擬機遷移功能提供復制的虛擬卷,可以不再需要共享的DAS/SAN存儲陣署”,通過NFS跨越ESXi主機進行卷同步鏡像(復制)。VSA使用服務器內部存儲空間,目的在于配合vSphere HA、vSphere Fault列。
包括3個節點的VMware VSA集群
VMware表示,VSA“針對非技術性的人群”(在vSphere Storage Appliance之前,實施虛擬化要求具備共享存儲硬件的專業知識)。VSA支持的NFS文件訪問協議直接使用現有的以太網互連,省去了傳統FC SAN需要的光纖通道交換機和HBA卡的成本,以及管理復雜性,但可能需要增加以太網的端口/帶寬。VMware VSA主要針對中小企業和低端用戶。
隨著上周在VMworld 2012大會上發布的vSphere 5.1,vSphere Storage Appliance版本也升級到了5.1。現在“用戶可以通過運行內置在vSphere Storage Appliance集群上的vCenter,將業務連續性功能外延到其分支機構和遠程站點,以降低基礎架構開支。此外,用戶還可以在線快速實現擴容,滿足業務對容量的需求。”
那么,與惠普和VMware的VSA相比,Mellanox VSA的區別還是蠻大的。后者是一款高速塊存儲目標端&網關軟件,每個存儲目標(端口)最高可達到一百萬IOPS和5,000MB/s的帶寬性能,并且只有0.07毫秒(70微秒)的訪問時間。它還能夠提供讀/寫緩存功能,支持RAID 0/1、多路徑和復制,以及帶有整合式集群管理的高可用和Scale-out設計。
Fusion ION閃存陣列+Xsigo存儲虛擬化?
典型的Mellanox VSA方案
如上圖,VSA軟件運行在存儲服務器/網關上面,它們與存儲客戶端(主機)之間通過萬兆以太網/40GbE或者40、56Gb/s InfiniBand(IPoIB,運行iSCSI協議)網絡實現存儲互連,并支持iSER(iSCSI RDMA)。而在后端的存儲介質上,既可以是VSA服務器本地的RAM內存/SSD或者SAS硬盤,也可以通過FC HBA卡連接外部存儲陣列。前面一種方式類似于常規的iSCSI軟件,而后面一種方式則像是存儲虛擬化設備(網關)軟件。
Mellanox VSA軟件架構
在VSA的軟件架構中,上方的UFM和VSA、Cluster Manager提供監視和集群管理的功能,包括Scale-out和故障切換;核心模塊部分,前端為超高速、并行的數據移動架構“Data mover engines”,以及加速和I/O虛擬化服務。后者包括存儲設備間的RAID 0/1,DR(數據復制)、Flash Cache閃存緩存、FC(光纖通道)虛擬化和多路徑功能。軟件本身可以支持各種后端存儲——SAN(FC/iSCSI)、DAS(SAS/SATA)和閃存(這里特別提到了Fusion-io)。
提到Fusion-io,筆者想起了在《Fusion-io軟件定義存儲:全閃存陣列DIY時代?》中討論過的ION(離子)軟件以及由它實現的外部存儲“全閃存陣列”。Fusion-io同樣能夠達到一百萬IOPS以及與Mellanox VSA相近的帶寬和延遲性能,并且它除了10Gb/s iSCSI之外還能提供比運行在TCP/IP堆棧上更理想的8Gb/s FC和QDR InfiniBand(SRP,SCSI RDMA協議)。不過ION不支持網關,也就是存儲虛擬化模式;Mellanox的優勢恰恰不是本地存儲的性能,而是網絡I/O加速。
筆者在Fusion ION一文的結尾處,也提到了Mellanox——ION方案提供的超低延時也是借助的InfiniBand。“Mellanox ConnectX-3的MPI(消息傳遞接口)ping延時只有1微秒...ION HA使用的40Gb/s以太網互連,也是由它來提供的。”
這個設備示意圖更為形象一些,VSA存儲加速軟件所在的服務器平臺上可以有本地SAS硬盤組成的RAID(LSI、HP SAS/SATA HBA或者RAID卡)、雙端口40Gb IB/10GbE網卡連接客戶端,Fusion-io PCIe閃存卡提供快速I/O或者緩存,針對網關模式可選FC HBA(需要帶有NPIV支持)。
看到上面這個機箱,讓我想起了一家網絡虛擬化公司——被Oracle收購的Xsigo。其產品可以將插在設備(也是一臺服務器)上的以太網、FC SAN等網卡虛擬化,并由高速的InfiniBand/以太網共享給前端主機。從這一點上來看,Mellanox VSA在形式上有點像Fusion ION與Xsigo的結合?不過VSA的后端只支持存儲而沒有以太網,畢竟Mellanox的目的是本地/網關上的加速而不是專門的I/O分享。
Mellanox VSA IOPS和訪問時間(延時)與傳統存儲系統對比
上面的圖表來自Mellanox官方資料。訪問時間對比中,使用HDD的企業級存儲達到了5000微秒(5毫秒),使用SSD的外部存儲系統由于FC/IP存儲網絡的平均延時也有1000微秒,VSA的優勢很明顯。傳統中端存儲陣列IOPS平均在10萬以下,高端存儲陣列能夠達到20~30萬之間,而VSA超過了40萬(配置2塊Fusion-io ioDrive Duo)。當然在這里我們不明確Mellanox使用了什么樣的測試方法。