雙埠NVMe SSD及其在企業級儲存系統中的應用

memblaze_2011發表於2017-12-29

SAS介面硬碟能成為企業級儲存陣列的標配,與雙埠設計密不可分。而SATA則由於不支援埠聚合,一個埠只能對應一個介面聯結器,這就造成SATA只支援單路連線,如果鏈路出現故障,盤上資料自然讀不出來了。所以談到雙埠提高系統高可用性必須從埠開始談。

上文提到了埠(port)的概念。硬體裝置一側的埠又稱介面,其電氣訊號由介面規範定義,而數量則取決於控制晶片(Controller IC,也包括RoC)的設計。硬碟、HBA卡等介面在物理上就是我們所看到的引腳和插接件。當下主流硬碟埠有SATA、SAS和U.2三種。(如下圖)。


SATA、SAS與U.2三種介面
上圖展示了當下主流的三個硬碟介面。裝置接在背板上,背板通過線與HBA卡等另一端的裝置相連。這個原理與插頭插入插板、耳機插入耳機介面的機理是一樣的,至於怎麼連需要看具體的介面聯結器規範。
這張圖則更詳細的展示了三種介面針腳規範,可以看到SAS和SFF-8639(也是當下的U.2,下文中統一使用U.2)則均是雙埠設計,而且U.2還支援相容SAS和SATA介面。談到這裡,埠的基本概念和U.2的物理層面雙埠設計已經完成介紹。

基於雙埠NVMe SSD的企業級儲存系統解決方案

雙埠使得一個盤可以連線在兩個不同的儲存控制器上,當其中一個儲存控制器或者和盤之間的鏈路出現故障,另一個控制器仍能訪問硬碟,提升系統高可用性,保障業務連續性。

PCIe SSD在資料中心中的應用已有將近10年的歷史,但是包括Memblaze在內的PCIe SSD廠商所服務的多是技術實力較強的網際網路公司,系統以分散式儲存架構為主,這類系統多采用x86伺服器搭配高效能PCIe SSD做系統快取或者Tie0層主儲存,低速硬碟作為Tie1層儲存。系統可靠性和可用性主要通過上層系統軟體的多副本、糾刪碼等技術實現。隨著U.2介面的NVMe SSD走向成熟,NVMe SSD全快閃記憶體陣列也迎來了新的機遇。下圖就展示了一個基於NVMe SSD的雙控儲存陣列架構。

雙埠PBlaze5 PCIe NVMe SSD在雙控系統中的應用
可以看到與傳統磁碟陣列類似,上圖中系統也具有兩個控制器,不同的是儲存控制器藉助PCIe Switch直接與雙埠的PBlaze5相連。PBlaze5採用的U.2本質上是PCIe3.0 x4,在雙埠模式下,每個控制器可以分得PCIe3.0 x2的頻寬。
除了儲存陣列的方案,伺服器搭配NVMe交換背板的方案也非常常見,基本架構如下:
NVM SSD、伺服器節點與NVMe 交換背板搭配的高可用企業儲存架構
傳統儲存系統有類似的方案,使用SAS HBA通過SAS背板與前端硬碟相連。上圖中並沒有HBA這樣的元件,而是伺服器節點直接連Switch,這是因為PBlaze5 PCIe NVMe SSD頻寬已經接近PCIe 介面頻寬理論值,如果再使用HBA勢必會拉低系統效能。
需要指出的是,根據各家NVMe SSD設計不同,雙埠的實現方式也略有不同。PBlaze5可以被伺服器自動識別,如果伺服器支援雙埠U.2硬碟,那麼PBlaze5就自動設定為雙埠模式。

儲存峰會上PBlaze5的雙埠模式下效能演示
上圖是基於超微伺服器搭配一塊PBlaze5的演示方案,PBlaze5在雙埠模式下讀頻寬達到了1.65GB/s,效能已經接近PCIe3.0 x2的理論頻寬。打造一個高可用的企業級儲存系統,雙埠 NVMe SSD是必須的。同時,雙埠NVMe SSD需要陣列、伺服器、系統等諸多環節上的技術協同發展才能夠成為系統高可用性的有力保障。

相關文章