成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Ceph分布式存儲系統優化分析

存儲 存儲軟件 分布式
本文介紹了Ceph分布式存儲系統的發展歷史和特點,并從內部優化機制、面向硬件設備和應用場景這3個方面梳理了現有的性能優化方法。

 

[[409074]]

前篇文章“Ceph分布式存儲系統架構研究綜述”重點分析了Ceph分布式存儲系統架構,今天接著Ceph話題,繼續分享Ceph常見的系統和性能優化技術。

Ceph支持多種存儲訪問接口,現有的多種性能測試工具都可用于Ceph的性能測試,如測試塊接口性能的fio,iometer等;測試CephFS接口的filebench,fio等;測試對象接口的cosbench等。Ceph有專用的基準測試集CBT,其包含radosbench,librbdfio,kvmrbdfio和rbdfio。radosbench基準測試使用ceph common軟件包附帶的rados二進制文件,通過對象接口來訪問Ceph集群。剩下的3個工具都是測試塊存儲性能的。

  • librbdfio基準模塊通過用戶態librbd庫來測試RBD的塊存儲性能。
  • kvmrbdfio基準測試要求在使用CBT之前創建虛擬機實例,并掛載RBD塊設備。
  • rbdfio基準測試使用內核進行驅動并將其映射到塊設備的RBD塊設備上。Teuthology是一個Ceph自動化測試的框架,可以在指定節點運行測試用例,也可以用于性能的測試。

對Ceph系統進行持續的性能監控可以了解集群運行狀況,及早發現性能瓶頸。Ceph提供了命令行接口輸出性能相關的統計數據。OSD以PG為單位收集性能數據并定期發給Monitor節點。Monitor節點匯總性能數據并同步至其他Monitor節點。我們也提出了一種針對Ceph存儲系統層進行分層性能監測和采集的框架,以及一種通過Ceph電文來分析系統性能和瓶頸的方法。

Ceph存儲系統的特點和挑戰

本節總結了Ceph分布式存儲系統的特點和面臨的挑戰。

(1)Ceph存儲系統的優點

  • 1)高性能。針對并發量大的異步IO場景,隨著集群規模的擴大,Ceph可提供近線性的性能增長。
  • 2)高可擴展性。Ceph通過CRUSH算法來實現數據尋址。這種方法避免了元數據訪問的瓶頸,使集群的存儲容量可以輕易擴展至PB級,甚至EB級。
  • 3)統一存儲,適用范圍廣。Ceph支持塊、文件和對象存儲,可滿足多種不同的需求。底層的RADOS可擴展并支持不同類型的存儲服務。
  • 4)支持范圍廣。自2012年起,Linux內核開始支持Ceph,目前Ceph可以在幾乎所有主流的Linux發行版和其他類UNIX系統上運行。自2016年起,Ceph開始支持ARM架構,同時也可適用于移動、低功耗等領域,其應用場景覆蓋了當前主流的軟硬件平臺。

(2)Ceph面臨的挑戰

  • 1)Ceph底層采用定長的對象存儲,為了保證對象級別的原子性,底層存儲引擎的寫放大問題嚴重影響了性能。
  • 2)Ceph的數據分布算法CRUSH在實際環境中存在一些問題,包括擴容時數據遷移不可控、數據分布不均衡等。這些問題影響了Ceph性能的穩定性。
  • 3)Ceph對新型存儲介質的支持較差。在使用高速存儲介質時,軟件造成的時延比硬件導致的時延高出數十倍。社區也在開發面向新型存儲介質的存儲引擎。
  • 4)Ceph的架構復雜,抽象層次多,時延較大。雖然Ceph采用面向對象的設計思想,但其代碼內對象間的耦合嚴重,導致不同版本間的接口不兼容。針對不同版本的性能優化技術和方法也互相不兼容。
  • 5)Ceph是一個通用的分布式存儲系統,可應用于云計算、大數據和高性能計算等領域。針對不同的訪問負載特征,Ceph還有較大的性能提升和優化空間。

Ceph是一個通用的分布式文件系統,適用于不同的場景。內部機制的優化對所有的場景都會產生性能的提升,但是優化的難度和復雜度也最高。

存儲引擎的優化

在分布式存儲系統中,數據被分散在大量的存儲服務器上,大部分分布式存儲系統都直接使用本地文件系統來存儲數據,如HDFS、,Lustre等。高性能、高可靠的分布式存儲系統離不開高效、一致、穩定、可靠的本地文件系統。Ceph存儲引擎的優化,參考“Ceph分布式存儲系統架構研究綜述”。

網絡通信的優化

在分布式存儲系統中,節點間需要通過網絡通信來交換狀態和數據。Ceph有3種類型的通信模式,分別是Simple,Async和XIO。Simple線程模式對每個網絡連接都創建了兩個線程,分別用于接收和發送。Ceph集群中OSD、Monitor節點及客戶端之間都需要建立連接。隨著集群規模的增長,創建的連接數和線程數會呈指數級增長,需要消耗更多的CPU和內存資源。在內存有限的情況下,Simple模式將導致大量線程的頻繁切換以致內存耗盡。Async模式將連接和線程分開,通過線程池管理來維護線程的使用,用戶可設置線程池中線程的數量。這是目前被廣泛采用的方式,自2017年發布Kraken版本后,這已經成為默認的通信模式。XIO模式使用了開源的網絡通信庫accelio來實現,現今仍處于實驗階段。目前針對網絡通信優化的研究都是基于Async通信模式實現的。

Async模式使用線程池,可兼顧資源和性能的平衡,但早期其設計是基于循環的簡單調度方案,未考慮傳輸數據大小和線程負載。這種早期設計會導致工作線程負載不平衡,在高負荷情況下產生一些性能問題。Han等提出了一種用于Ceph文件系統的動態消息感知通信的調度程序,以解決工作線程調度不平衡的問題,從而提高性能。他提出的調度算法根據傳入消息的類型來平衡工作線程的工作量,同時避免了工作線程之間不必要的連接轉換。

一方面,該算法將低優先級消息(例如來自心跳連接的消息)分配給特定線程,以免干擾其他高優先級消息。另一方面,高優先級消息被平均分配給每個工作線程,以平衡線程之間的工作負載。同時其使用遺傳算法(GA)來使不必要的連接轉換最小化。測試結果表明,在相同的客戶端工作負載下,該方法比原始Asyncmessenger的性能高出12.5%,在客戶端的隨機工作負載下,其性能比原始Asyncmessenger高出24%。

優化Asyncmessenger還可以通過將多個工作線程分配給單個連接來處理來自該連接的流量。但是,由于多個線程爭用訪問連接中的共享資源,這種映射結構會引起與鎖定維護有關的另一種開銷。

Ceph的Luminous版本將Async網絡通信模型作為默認的通信方式。雖然Async實現了IO的多路復用,使用共享的線程池來實現異步發送和接收任務,但是如何平衡Async工作線程的負載也是一個值得關注的問題。下表總結了幾種常見的算法的優化方案。

RDMA是一種低延遲、高性能的網絡傳輸協議,已被廣泛應用于高性能計算環境中。為了在Ceph中利用RDMA以實現高速的數據傳輸,開發社區提出了兩種方案。

第一種方案是降低Ceph對網絡層狀態的要求,減少Messenger需要實現的邏輯。現在的XioMessenger規定的語義和策略過于復雜,使用新的網絡協議實現的難度大;減少Messenger的邏輯則需要增加上層的邏輯。

第二種方案是基于目前的AsyncMessenger的框架,擴展出支持RDMA的網絡后端而無需關心上層的會話邏輯。國內的XSKY公司和Mellanox公司合作提出了基于AsyncMessenger的網絡通信引擎。這種修改使用RDMA的雙邊通信機制,性能提升有限。并且在當前版本的代碼實現中,RDMA只可用于客戶端與服務器之間、服務器與服務器之間的通信,不能在兩個網絡中同時被應用,這也限制了該方案的應用。

數據放置方法的優化

經典Ceph存儲系統在副本模式下選擇存儲節點時,僅以節點存儲容量為唯一選擇條件,并沒有考慮到網絡和節點的負載狀況,這影響了系統在網絡性能差和節點高負載的情況下的讀寫性能。為解決這些問題,文獻設計了基于軟件定義網絡技術的Ceph存儲系統模型和存儲節點選擇策略,首先利用軟件定義網絡技術實時獲取網絡和負載狀況,以簡化網絡配置和減小測量開銷,然后通過建立并求解出綜合考慮了多種因素的多屬性決策數學模型來確定存儲節點的位置。

在實際環境中對設計的存儲節點選擇方法進行讀寫操作的測試,結果表明,與現有的CRUSH算法相比,提出的存儲節點選擇方法可以在保持與原有Ceph系統相同的寫操作性能的同時,針對4KB對象的100%讀操作的響應時間比原有的Ceph集群的縮短了10ms左右,針對4096KB對象的100%讀操作響應時間相對縮短了120ms左右。這種方法需要獲取網絡的實時性能以用于數據放置策略的調整,引入了網絡負載采集的開銷,在大規模集群場景下應用受限。并且由于該方法會頻繁更新CRUSH算法的參數,其讀取性能會有所下降。

配置參數性能調優

Ceph存儲系統的可配置參數有1500多個,參數的調整對系統性能有較大的影響。默認配置針對不同的硬件和應用通常不是最優配置。通過鎖優化和系統參數調優技術使系統的吞吐率提升了1.6倍,但其并未討論修改了哪些配置參數。雖有文獻詳細介紹了在全閃存環境下需要調整哪些參數(包括內核、文件系統、磁盤緩存、RADOS和RBD等),但是沒有給出調整前后的性能對比。

Intel開發并開源了一個性能優化工具CeTune,該工具可用于Ceph集群的部署、測試、分析和調優。該工具是一個交互性的調優工具,尚不能自動尋找最優配置。分布式存儲系統的性能調優仍是一個具有挑戰性的問題。參數組合導致問題解空間大,且參數之間會互相影響。在數據庫領域已有一些利用機器學習和決策樹的方法進行自動調優的成功案例,而在分布式存儲系統領域,相關研究仍處于起步階段。

面向特定硬件環境的優化

隨著3DXpoint和非易失內存等技術的發展與成熟,最快的存儲介質性能已接近內存性能。使用新型存儲器件的系統中軟件已成為瓶頸。如圖所示,HDD,SATASSD,NVMe NANDSSD,3 DXPointStorage,3DXPoint Memory系統中的軟件造成的延遲分別是0,10%,20%,40%和90%。通過重構軟件的體系結構來充分發揮高速存儲介質的性能是目前的一個研究熱點。

1、固態存儲

固態存儲設備相比磁盤設備,在性能、功耗和機架密度上具有顯著的優勢。SATA接口限制了固態存儲設備的最大吞吐率。Intel提出的利用PCIE總線來訪問固態存儲的NVMe接口方法提供了通用的高速存取方案。使用NVMe的固態存儲設備在吞吐量和延遲性能上比傳統的磁盤高出1-2個數量級,因此在總的IO處理時間中,軟件造成的延遲占據更大的比例。現有的存儲系統為低速硬件設計了合并寫、異步寫等機制,但是這些機制并不適用于高速存儲設備。隨著存儲設備性能的進一步提升,存儲系統軟件棧的性能和效率對存儲系統的影響越來越大。存儲系統因受制于低效冗余的軟件棧而不能充分發揮硬件性能。

SPDK是Intel提出的使用NVMeSSD作為后端存儲的應用軟件加速庫。該軟件庫的核心是實現用戶態、異步、無鎖、輪詢方式的NVMe驅動。雖然SPDK等新型驅動可以將NVMeSSD的性能最高提高6倍,但是在Ceph中直接使用SPDK卻沒有明顯的性能提升。其主要原因在于在BlueStore的處理中有很多線程協作,線程間的互斥和切換開銷較大。

在Ceph中,OSD使用異步IO等待IO完成,多線程可以充分利用NVMeSSD多通道的特點來提升性能。由于一個OSD無法充分利用NVMeSSD的帶寬,研究人員發現將NVMeSSD進行分區,然后在其上運行多個OSD可顯著提高性能。圖給出了一個NVMeSSD分別使用1個OSD、2個OSD和4個OSD時的性能,可以看到在1個SSD上運行4個OSD時的隨機讀,其IOPS增長很快但延遲增長緩慢。

但是將SSD分區并同時支持多個OSD也有一些缺點,如降低了可靠性、小塊隨機寫延遲增大、需要更多內存和CPU資源等。另一項對于隨機寫的測試結果如圖所示,在1個SSD上運行2個OSD時的IOPS與運行4個OSD時的IOPS相近,且需要的CPU資源更少。使用多個OSD的提升效果與SSD的性能和CPU的性能相關,且需要占用較多的CPU和內存資源,對可用性也有影響,因此不適用于大規模生產環境。

除了NVMe以外,現在還有一些使用SATASSD來代替HDD的策略,但直接替換存儲介質的性能提升有限。Ceph針對HDD設計了很多異步和調整寫順序的機制,但這些機制反而降低了SSD的性能。當使用Ceph集群和全閃存SSD進行4K隨機寫入/讀取的性能測試時,隨機寫入性能也只能達到16KIOPS。當線程數增加到32個及以上時,IOPS幾乎保持不變,且延遲急劇增加。隨機讀取時,當線程數少于32時,IOPS較低,且延遲較高。

2、非易失內存

存儲是數據密集型系統中最慢的組件。盡管基于NVMe的固態驅動器提供了更快、更持久的存儲,IO性能已大大提高,但其仍然比系統中的其他組件慢。隨著NVDIMM產品的出現,可字節尋址的非易失性存儲器將提供與內存相近的IO性能。

Intel將Client端的NVM作為緩存,提出了3個優化方案,大大提升了塊存儲接口的訪問性能。

方案一提出由于Ceph快照中的父對象是只讀的,Client端將其緩存在本地SSD中以提高讀取性能。但該方案僅緩存特定的不變對象,不具有通用性。

方案二利用Client端的NVM實現了一個寫回緩存,寫入NVM的數據并將其不定期刷新至OSD中。該方案性能提升的效果明顯,能將99.99%的寫入延遲縮短到1/10以下。但是因為在客戶端發生故障時,保存在NVM中的數據沒有寫入Ceph后端的OSD,所以會造成數據不一致。

為了解決這個問題,方案三通過RDMA技術為Client節點和OSD節點的NVM空間建立鏡像,以避免因Client故障導致的數據丟失。復制寫日志機制將數據同時持久化至Client和OSD的NVM中,當Client不發生故障時,OSD僅提供鏡像空間,無需額外的CPU等資源。基于客戶端的緩存性能提升明顯,但為每個客戶端配置NVM和RDMA的成本較高,且該方案并未充分利用OSD端的NVM特性。

3、混合存儲

在Ceph集群中可以使用SSD作為保存日志或緩存來提高訪問性能。Ceph支持使用高速存儲設備作為緩存來加速IO性能。目前有兩種不同的緩存實現方式:1)在OSD內部使用緩存;2)將高性能節點組成緩存層。

根據第一種方案,在使用FileStore時,文件系統可以識別并使用異構來存儲介質,并將其中的SSD作為緩存,其架構如圖7(a)所示。這種方案可以依賴已有的緩存工具(如dm-cache,bcache,FalshCache)來實現該功能,也可以使用現有的多種緩存控制方法。其中,dm-cache作為linux內核的一部分,采用devicemapper機制以允許用戶建立混合卷;bcache是linux內核塊層緩存,使用SSD作為HDD硬盤的緩存,從而起到加速作用;FlashCache可智能緩存最近讀取過的用戶數據或元數據,從而加快數據訪問。

第二種方案的實現方式是將獨立的設備或節點組成緩存池,在慢速節點保存冷數據,在高性能節點保存熱數據。在這種方案中,高速節點被組織成為緩存層,該緩存層也是一個RADOS池,不僅具有持久化的能力,還具有獨立的CRUSH策略。該層以下是基于HDD的RADOS池,其可以采用三副本的ReplicatePG作為后端,也可以采用Erasurecoded作為后端。

未來展望

針對前面提到的不同的性能優化方法,本節從Ceph內部機制優化、基于新型硬件和面向不同負載優化這3個方面對性能優化問題的未來研究方向進行了展望。

1、Ceph內部機制的優化

Ceph發展至今,其規模和復雜性不斷增大。數據分發、元數據管理和對象一致性保證等方面的邏輯復雜,目前的多線程和加鎖機制效率較低。采用新的內存分配機制和高效KV數據來管理子系統可能對性能有所提升。目前內置的性能采集機制不完善,采集內容和方法、性能數據分析這兩方面都有改進的空間。

2、基于新型特定硬件的優化

隨著新型存儲介質的發展,NVM和3D XpointSSD等介質的訪問性能比傳統HDD提升了2-4個數量級。存儲系統優化需通過結合硬件特征來重構存儲系統的體系結構,刪除冗余抽象和功能,并重新分配軟硬件的功能。存儲軟件中針對傳統硬件的優化方法可能會降低性能,如異步寫、隨機寫合并等。SSD的文件轉換層的垃圾回收、空間映射與管理功能也可移至軟件實現。多種不同性能的介質也將長期共存于存儲系統中,根據數據冷熱和介質特性自適應實現高性價比的數據分布也是一個研究方向。Ceph雖然已支持RDMA協議,但是雙邊操作方式性能的提升有限,設計新的通信機制、采用單邊操作可進一步提高性能。

3、面向應用場景的自適應優化

Ceph應用場景眾多,不同應用的訪問特征和數據分布差異較大。在不同的負載情況下,基于人工制定的存儲優化方案不能滿足要求。根據不同應用負載的自適應優化技術也是一個挑戰,其研究內容包括利用訪問標簽來實現不同應用的性能服務質量保證以及性能隔離、利用機器學習技術自動尋找最優配置,以及動態的數據預取和遷移。

結束語

本文介紹了Ceph分布式存儲系統的發展歷史和特點,并從內部優化機制、面向硬件設備和應用場景這3個方面梳理了現有的性能優化方法。作為一個開源的統一存儲系統,Ceph提供了高性能、高可擴展性和高可用的塊、文件和對象存取功能。Ceph的特點使之被廣泛應用于云計算、高性能計算和大數據處理領域。目前,Ceph的性能優化研究工作雖然有一定的進展,但仍有很多問題尚未完全解決。

 

責任編輯:姜華 來源: 架構師技術聯盟
相關推薦

2021-08-07 05:00:20

存儲系統

2018-10-29 12:42:23

Ceph分布式存儲

2023-01-03 07:57:27

2017-04-14 09:48:25

分布式存儲系統

2018-09-29 14:08:04

存儲系統分布式

2017-06-06 14:25:54

CentOS 7Ceph分布式存儲系統

2014-05-19 16:41:29

紅帽

2017-10-16 10:24:47

LogDevice存儲系統

2017-07-18 09:51:36

文件存儲系統

2017-10-17 08:33:31

存儲系統分布式

2017-12-18 10:47:04

分布式存儲數據

2017-10-12 09:36:54

分布式存儲系統

2017-10-19 08:45:15

存儲系統HBase

2018-11-20 09:19:58

存儲系統雪崩效應

2014-02-19 11:37:57

分布式對象存儲Sheepdog

2013-12-27 10:56:42

分布式對象存儲Sheepdog性能測試

2010-07-02 10:08:12

BigtableGoogle

2018-03-13 08:45:08

存儲系統DHT算法

2025-01-26 11:54:39

分布式存儲系統

2019-10-15 10:59:43

分布式存儲系統
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产日韩欧美精品 | 久久99久久98精品免观看软件 | 日韩一区在线播放 | 91久久国产综合久久 | 99精品免费久久久久久久久日本 | 国产一区二区三区四区三区四 | 日韩1区2区 | 中文字幕视频免费 | 美女黄视频网站 | 国产精品99久久久久 | 成人av影院| 日韩中文字幕在线播放 | 国产精品成人69xxx免费视频 | 麻豆av网站 | 亚洲一区二区三区四区五区午夜 | 97人人爱 | 天堂综合 | 在线播放91| 日韩欧美在线不卡 | 亚洲国产一区二区三区在线观看 | 亚洲精品专区 | 国产精品中文字幕在线 | 成人一区二区三区在线观看 | 精品国产一区二区三区在线观看 | 亚洲一区二区国产 | 玖玖爱365 | 亚洲黄色av | 91亚洲国产成人久久精品网站 | 久久久不卡网国产精品一区 | 美女人人操 | 亚洲综合国产精品 | 欧洲亚洲一区二区三区 | 精品视频久久久 | av大全在线观看 | 水蜜桃久久夜色精品一区 | 欧美日韩一二三区 | 亚洲精品区 | 欧美一二三区 | 日日干天天操 | 亚洲一区视频在线 | 免费在线看a |