如何克服服務器端閃存的弱點,實現性能加速
對于基于存儲器的存儲設備,大多數類型會充分利用閃存,這已經成為試圖解決存儲性能問題的企業首選。但由此需要擔心的一個問題就是,共享的固態設備經常會受限于存儲網絡和共享存儲系統本身的性能。此外,高性能網絡設計固有的復雜程度也是一件棘手的事。而且,遷移到共享的固態存儲系統,還會導致業務中斷,因為需要對原有的存儲系統和工具進行更換。
這些因素使得數據中心對服務器端閃存解決方案需求的增加。服務器端閃存方案消除了存儲網絡的性能和復雜性的問題,同時它們會增強而不是取代現有的存儲。在許多方面,在服務器端進行性能加速最為理想,因為距離需要高性能存儲的應用最近。
對性能永無止境的渴求,促使許多數據中心不再滿足于只使用SSD,他們將更多注意力投入到基于PCIe的固態硬盤。PCIe固態盤位于PCIe總線上,從而消除了存儲互連(SAS、SATA),甚至存儲協議堆棧本身造成的潛在延遲。
從服務器端固態盤首次推出以來,要考慮的問題就是如何讓正確的數據寫入閃存,并充分利用這些存儲容量。分層和緩存等技術是當前最受青睞的選擇,但實施起來很有難度。對于PCIe固態盤尤其如此,因為常見的數據可用性技術(如鏡像和RAID)使得實施更加復雜。
一般而言,服務器會自動對需要存儲的數據進行分析,以確定哪些應該存儲在PCIe固態盤,哪些應該存儲在硬盤中。在數據庫環境中,因為有俗稱的“熱文件”,相比在虛擬環境中這個是更容易完成的,在虛擬環境中它們的I/O模式更加隨機。PCIe也是理想的虛擬內存交換區,雖然作為DRAM速度緩慢,但經濟實惠。
為了增加高速服務器端閃存的吸引力,緩存解決方案應運而生。它可以自動執行大部分的數據識別和運行過程。基本上,IT部門可以添加使用高速緩存軟件的PCIe固態硬盤,然后“見證奇跡”即可。與此同時,PCIe固態硬盤解決方案已經進入市場,并且就像以往其他新興技術一樣,這種競爭會導致創新力度的加大和成本的顯著降低。
PCIe固態硬盤有了充分利用高性能功能的方式,客戶采用率隨之快速上升。但隨著采用的人越來越多,人們對于服務器端緩存解決方案的一些潛在弱點的認識也有所提高。
服務器端閃存的第一個明顯的弱點,就是它在已經很復雜的存儲堆棧中還要添加層。除了要判斷并充分了解共享存儲系統、存儲網絡和存儲主機總線適配器之外,管理員還需要知曉多個PCIe固態硬盤的解決方案。他們還必須熟悉多種緩存軟件應用。
除此之外,還存在操作環境中的驅動程序堆疊。除了已知的主機總線適配器驅動程序,現在還要為PCIe固態硬盤安裝驅動程序,因為就像前面說的這些設備大多避免了存儲協議堆疊。此外,緩存軟件要么是一個驅動程序,或在某些情況下是充分開發的應用。
首要關注的一點就是,這些組件都需要消耗服務器系統資源,如CPU周期和內存。某些PCIe固態盤使用一部分CPU來運行其閃存管理軟件,當然,大多數緩存軟件需要服務器的CPU和內存來進行實時數據分析。
除了兼容性和潛在的性能問題,價格也是一大考慮因素。為了加速性能,存儲管理員必須單獨購買PCIe固態硬盤的容量和在服務器中運行的緩存軟件。通常這種購買必須針對每個服務器,因為無法跨服務器來共享PCIe固態硬盤的緩存容量。從容量分配的角度來看,這種“服務器鎖定緩存”導致PCIe固態硬盤的效率與任何其他形式的直接連接存儲都一樣低下。
采用軟件緩存的PCIe固態硬盤的第二個弱點是它怎么應對常用的集群環境,如VMware和許多數據庫。在這些環境中,應用是移動的,以保證具有一致性的共享緩存,這一點是至關重要的。如今數量慢慢增加的緩存軟件解決方案,可以直接集成到這些平臺,在應用遷移到集群中的其他主機之前使緩存數據安全地被移除。
當然,服務器端閃存有其可取之處,主要是將加速升級直接連接到服務器,從而獲得效率提升。如果能夠解決上述服務器端閃存的問題,即可實現更廣泛、更安全和更經濟的部署。第一個步驟是通過對這些功能的一部分整合并減輕對CPU的依賴,來鞏固這種性能的加速堆疊。目前已經有了一些解決方案,可以在PCIe閃存的硬件中集成緩存功能。此外,這些解決方案可以應對閃存本身的處理,而不是借用服務器的CPU和內存資源。
在這種進程中,下一步驟是將PCIe閃存和緩存功能與存儲網絡適配器或主機總線適配器(HBA)本身進行邏輯組合,就如同QLogic利用其新的FabricCache?QLE10000適配器所做的。這種緩存SAN適配器將所有三項功能:加速、緩存和存儲連接,完全透明地集成到服務器。這種級別的整合降低了存儲管理員所面臨的復雜性,因為他們管理的是與他們之前所使用的相同的接口適配器。
主機總線適配器可以集成連接到基于服務器的閃存和最適配的智能高速緩存,就能夠充分利用與存儲網絡的連接,并創造出“高速緩存區域網絡”(CAN)。CAN是網絡上的共享資源,旨在為緩存數據而設計。CAN的主要目的是,它允許高速緩存信息在主機之間共享,這在虛擬環境中可以擁有更多的虛擬機移動性,并使緩存功能在集群應用環境中實現,在這個環境中相同的存儲必須由集群中每個物理主機進行訪問。
如果CAN使用與存儲系統相同的網絡基礎設施,就不會有額外的成本,卻可以提供更高的利用率。但如上所述,基于服務器間的連接,服務器端緩存的最后三項弱點在處理緩存容量效率、集群支持和應用遷移方面是可以克服的。
當應對集群化或虛擬化環境時(其中的應用遷移是常見的),CAN解決了另一個弱點。如上所述,當虛擬機遷移時,應盡可能少的移除緩存和進行重建。理想情況下,應該沒有緩存重溫這個步驟。幸運的是,CAN可以讓環境中其他的非緩存主機總線適配器共享緩存助力的主機總線適配器的資源,它也以同樣的方式取消了上述的這種要求。
當遷移虛擬機時,它會繼續從原來的主機總線適配器上的原始緩存獲取其緩存數據。雖然這確實帶來了輕微的延遲,但是遠低于100%硬盤驅動器存儲系統對于訪問性能的影響。如果虛擬機將被遷移回原來的主機,那么也可以計劃在非工作時間進行,這樣重建的影響就不太大了。但通常在SAN中,服務器到服務器之間的可用帶寬是如此之多,以至于并不會真正需要緩存的遷移。
基于PCIe的閃存與高速緩存軟件已成為企業應用和存儲性能加速的一大選擇。但在基于服務器的PCIe閃存、緩存軟件和存儲網絡適配器之間缺乏整合,使得加速堆疊非常復雜。某些解決方案,如QLogic的FabricCache LE10000利用真正透明的緩存簡化了這種堆疊,它使用標準的主機總線適配器驅動程序,并對這些層進行整合以實現本地緩存(即“SAN感知”),來增加更多的價值。這樣做可以減少成本和復雜性,提高緩存效率,并且可以支持集群化的應用及與應用遷移協作,而不會破壞或者不需要對現有的基礎設施作任何改變。
(消息來源:中橋國際調研咨詢有限公司)