王珩
Qlogic FabricCache QLE10000實現緩存1.0到緩存2.0的過渡
王珩

使用基于PCIe的閃存來實現服務器的加速已經成為業內各種規模數據中心的慣常做法。最初,這種方式和直接附加存儲(DAS)并沒有什么區別,只是比使用硬盤驅動器(HDD)來進行加速要快很多。這種方法適用于將數據集放在閃存卡上。但是,在處理更大的數據集上,像是虛擬化環境,更大容量的閃存卡意味著不斷攀升的成本,那么使用PCIe閃存加速對企業而言就顯得得不償失。
之后,直寫緩存的算法成為了解決容量問題的一個方法。用閃存卡存儲熱點數據并且所有設備共享存儲也就成為了一種標準做法。我們稱其為基于服務器的緩存1.0版本。雖然這個方法在一臺物理服務器中行之有效,但是當虛擬工作負載遷移到另一臺物理服務器,那么這個工作負載就不能載使用原來服務器的緩存,而且熱點數據必須重新創建,熱點數據在第二臺物理機器的緩存被創建之前將會有一段時間性能下降。這種現象需要管理員介入,實現服務器集群負載平衡。1.0版緩存的另一個難題是需要支持集群應用。最后,管理員需要更改配置和腳本,以確保多個物理服務器上的數據不被意外損壞。
QLogic的FabricCache解決了這些問題,并創建基于服務器的高速緩存2.0。二十多年以來QLogic一直致力于fabric層面的革新解決方案,因此QLogic從新型的主機總線適配器(HBA)著手來解決緩存1.0的問題,則顯得順理成章。FabricCache?QLE10000緩存SAN適配器可以作為PCIe卡的閃存連接到光纖通道(FC)HBA。讀和直寫式緩存算法完全交由HBA上的系統級芯片(SOC)進行管理。SOC負責在本地閃存卡或架構內任何其他FabricCache卡上為讀操作尋找給定的數據塊。這就是基于服務器的高速緩存2.0。因為FC架構具有帶寬優勢,而SOC具有智能,存儲區域網絡(SAN)中的讀取操作僅在當數據塊不在任何所連接閃存內存上的時候才發生。這解決了物理機之間移動的虛擬化工作負載問題,因為無論虛擬機遷移至何處,工作負載都可以訪問到原來的緩存。
FabricCache QLE10000解決方案使用2個PCIe插槽。第一個插槽可以容納包括SOC在內的適配器,并且第一個插槽通過帶狀電纜和第二個PCIe板相連,實現像PCIe接口那樣的功能,并提供200GB或400GB企業級的單個單元(SLC)閃存內存。第二個插槽為閃存板提供電源。SLC的使用讓系統運行速度更快,并最大程度的利用閃存單元。由于閃存是集群內所有服務器的共享資源,對于所有FabricCache適配器而言,閃存的總容量就顯得非常充足且可擴展。且無需修改SAN或任何其他交換設備或電纜設施。在一個四核的SOC上,該適配器可提供一個8Gbps的雙端FC連接和一個緩存引擎。
QLogic標準的管理工具提供一個直觀的圖形用戶界面或者是命令行界面實現控制參數。高級用戶和OEM廠商可以通過開放的應用程序編程接口(API)來訪問系統,并使用特定的功能。不久將有可用于VMware、Hyper-V、Xen和其他管理工具的插件。有一點不會改變的是,FabricCache使用標準的QLogic適配器驅動堆棧。該堆棧支持眾多操作系統,包括Windows Server和Linux。
如果采用服務器端緩存1.0配置,則需要購買和安裝一個PCIe閃存卡和一個完全獨立的高速緩存軟件系統,該系統除了HBA驅動之外,還需要專用的驅動程序。FabricCache可針對HBA卡、閃存和緩存在單個SKU下進行定制。
QLogic使用TPC-E測量了FabricCache的性能。硬件配置使用的是32GB DDR內存和24核的Dell PowerEdge720服務器,操作系統是Windows Server 2008。SAN環境是使用HP EVA6300,配置有7個100GB的LUN和24個10K RPM硬盤驅動器。另外,HBA使用具有400GB閃存容量的FabricCache QLE10542。第一組測試中使用的一臺服務器運行250個用戶。在沒有緩存的情況下,系統性能為每秒74交易事務處理量(TPS)。隨著緩存啟用后,系統性能提升7倍,達到544 TPS。
第二組測試使用4臺服務器,負載250個用戶工作量。在沒有緩存的情況下,系統表現為87 TPS。隨著緩存啟用后,系統性能上升至1,925 TPS,增長達22倍。第三組測試評估共享緩存環境下的性能,使用2臺服務器,負載250個用戶的工作量,并且配置了一個本地緩存和SAN(可以跨服務器共享)。相比本地緩存544TPS的性能,SAN緩存只稍微慢一些,表現為500 TPS,最大約8%的差異。在這2種情況下,本地或SAN緩存命中的延時都是小于1ms。這表現還不錯,尤其是你要知道這個SAN高速緩存中還包括架構延遲和PCIe延遲。這表明,該架構具有足夠的帶寬用于物理服務器之間的共享SAN緩存。
大多數數據中心都部署了大量管理SAN的腳本。基于服務器的高速緩存1.0意味著需要修改許多有關數據位置和負載均衡的腳本。QLogic的FabricCache在添加到主機的過程中無需額外的軟件,因此對現有的配置管理來說是完全透明的。這意味著,可以在不中斷現有運營的情況下,大大提升工作負載的運行速度。只要將HBA卡安裝到集群中,然后啟動緩存即可。SAN上的負荷將大大降低,現有系統的使用壽命將得到大大延長,并且數據中心可以用成本更低、容量更高的硬盤來進行配置。
QLogic進軍服務器閃存緩存市場的這一獨特方式,很有可能導致許多OEM廠商和數據中心管理者重新審視他們的數據中心部署模式。在整個存儲網絡行業,QLogic是非常值得信賴的合作伙伴,他們所提供的解決方案有可能是現有服務器端緩存部署的最佳方式。相比其他方法,安裝簡單和支持FabricCache解決方案是他們最大的優勢,而采用其他方法則涉及從至少2個甚至3個廠商處采購產品才能實現部署,且功能還會有所欠缺。此外,QLogic FabricCache的性價比很高,可媲美其他供應商的HBA、閃存卡和緩存軟件的聯合定價。