運維乾貨—硬盤容量不均衡致使的緩存盤壽命急速衰減

分佈式存儲硬盤容量不均衡致使的緩存盤壽命急速衰減分析算法

 

Ceph分佈式存儲在擴展性、可靠性、性能上具有獨特的優點,能夠實現快速擴展多臺服務器,動態伸縮到PB級容量,多副本機制保障數據高可靠,數據均衡分佈,併發性能高等場景。目前普遍應用於互聯網、科研、教育、製造業、政府等諸多領域。ZStack雲平臺目前支持對接Ceph分佈式存儲,使用的是分佈式塊存儲,即便用librbd的塊設備接口提供給Qemu訪問,進行雲主機、雲盤的IO讀寫。緩存

雖然Ceph分佈式存儲具有上述的優點特色,但在實踐中,對硬件的選擇及配置均存在特別要求,尤爲是硬盤、網絡上,若是配置不當,存儲的可靠性和性能均會受到影響。服務器

最近在平常巡檢一套ZStack生產環境的Ceph分佈式存儲時,咱們發現客戶新購的五臺服務器的SSD壽命損耗存在異常。具體的現象是使用半年後,服務器帶外管理界面看到SSD的壽命損耗只剩下89%,但使用smartctl讀取介質損耗參數依然顯示爲100%網絡

此時會很疑惑,到底哪一個數據更可靠,若是SSD壽命只剩下89%,那麼如何去調整優化Ceph分佈式存儲?架構

 

問題回顧併發

針對這個問題,咱們回顧一下這套分佈式存儲的架構。當時採用了新購+利舊的方案來部署分佈式存儲。分佈式

相應的配置信息以下:工具

其中,新購的5臺機器採用了Intel Xeon E5-2660 v4CPU,內存爲256G,機器總體可插入83.5寸硬盤,採用了兩塊480G SSD硬盤配置RAID1安裝系統,採用一塊960G SSDCeph分佈式存儲的緩存盤,每一個緩存盤對應了5OSD數據盤,每一個緩存分區約160G的容量,每一個OSD容量4T。存儲採用萬兆網絡,作鏈路聚合 LACP Mode 4性能

利舊的4臺機器採用了Intel Xeon E5-2697 V3CPU,內存爲256G,機器總體能夠插入可插入82.5寸硬盤,採用了兩塊480G SSD硬盤配置RAID1安裝系統,採用兩塊480G SSDCeph分佈式存儲的緩存盤,每一個緩存盤對應了2OSD數據盤,每一個緩存分區約240G容量,每一個OSD容量600G。存儲採用萬兆網絡,作鏈路聚合 LACP Mode 4測試

前五臺機器,每臺機器配置54T硬盤容量,總存儲容量100T,後4臺,每臺機器4600G容量,總量9.6T

初期將全部容量規劃到同一個存儲池中,總裸容量約109T,配置三副本後,容量約36T

環境主要運行了MySQLRedisELKZabbixWeb服務,App服務等業務,合計業務類型主要偏向IOPS密集型業務。業務運行前兩個月,總體系統沒有任何問題。

 

SSD壽命參數分析診斷

針對SSD壽命損耗的不一致性,參考SSD的壽命參數,咱們進行了如下分析:

Endurance Rating (Lifetime Writes) 生命週期內總寫入容量,客戶環境使用的960G SSD生命週期內總寫入量爲1.86 PBW,即最多可寫入1.86PB的數據。

DWPDDevice Writes Per Day,硬盤天天寫入次數,全盤寫入,寫滿算一次,用於評估硬盤的耐久度。此款960G SSD的官網標稱耐久度爲1 DWPD,即天天可全盤寫入一次。

因此從SSD生命週期總寫入量的角度來看,服務器帶外管理界面看到的壽命損耗更爲合理一些。

結合此硬盤的生命週期總寫入量和天天可擦寫一次,可瞭解此硬盤在1.86PB/960G/天天=1860000B/960G=1937天,約5年多的使用時間,與廠商承諾的5年質保的時間一致。

在使用ZStack雲平臺的IO監控工具及smartctl工具去排查分析960G SSD硬盤的天天寫入量,發現天天硬盤的寫入量在2.5T以上,接近SSD硬盤容量960G的三倍。

同時分析後4臺服務器的SSD緩存盤的硬盤寫入量不多,相應的硬盤總壽命未受過多影響。

測試發現,前五臺服務器的SSDIOPS 95%都在3000以上,讀寫比在15:85,平均讀IO塊大小爲16K左右,寫IO塊大小爲18K左右。而針對前五臺服務器的OSD數據盤,IOPS 95%30左右,讀寫比爲86:14,平均讀IO塊大小爲30K左右,寫IO塊大小爲180K左右。

因此前五臺物理機的SSD緩存盤天天寫入量接近官網標稱值的三倍,按照生命週期總寫入量的損耗預估,前五臺服務器的SSD緩存盤壽命可能不到兩年。

但後面4臺服務器SSD的使用率爲什麼沒有提上去,對前五臺服務器的SSD進行均衡使用呢。

咱們再來了解一下Ceph數據分佈的基本原理。CephCRUSH MAP算法,能夠實現數據可以均勻地分佈在不一樣容量硬盤的存儲節點,Ceph會根據OSD數據盤容量進行權重的計算,並基於存儲集羣的映射和數據分佈策略的placement rules進行哈希計算。同一存儲池中,OSD數據盤容量大的,IO請求多,OSD數據盤容量小的,IO請求少。IO請求經由數據的哈希到PG的映射過程,再由PG根據副本數映射到不一樣的OSD中。若是OSD硬盤不一樣,那麼容量大的硬盤能夠處理更多的PG。相應的IO處理就更多。根據相應的IO均衡策略,若是存儲池內總容量109T,使用30%的容量,則會在全部的數據盤均平均存儲30%的容量,相對於前五臺節點採用的4T的數據盤,每一個盤存儲約1.2T的數據,後四臺採用的600G的數據盤,每一個盤存儲約180G的數據。

因此基於這種硬盤容量的不均衡,致使相應的IO請求也會不均衡,在業務壓力大時,後4臺機器沒法均衡處理總體的IO請求,在分佈式規劃時,需配置各機器的硬盤配置、網絡配置一致。

 

分佈式存儲優化方案

針對以上狀況,考慮進行如下調整:

檢查當前業務使用狀況,調整業務的使用方式,將部分非重要業務關閉,下降IO的使用方式,調整後,再監控相應IO的使用狀況,發現960G SSD的天天寫入量已下降至1.8T,此時業務已沒法持續調整。

在業務沒法調整的狀況下,只能考慮擴容及硬盤調整,在考慮擴容的過程當中,還須要考慮後續業務量的增加。

由於當前的存儲容量,能夠提供當前業務的存儲量,但在緩存盤性能上,不足以支撐相應業務的需求,此款960G SSD的天天硬盤寫入次數DWPD1,只能全盤刷入一遍。考慮到硬盤的天天寫入量,建議新緩存盤採用新款的960GB SSD,官網的標稱值其在生命週期的總寫入量在爲5.26PBW,天天硬盤的寫入量爲3DWPD,即天天可擦寫三遍。

基於可靠與經濟的基本原則,咱們考慮如下硬件擴容方案進行擴容:

  1. 再新增3臺服務器,採用總寫入量更高的960GB SSD480G SSD系統盤,其餘配置與本來前五臺配置相同;
  2. 前五臺服務器,也採用總寫入量更高的960GB SSD替換本來的960GB SSD,將前五臺機器擴容成8臺相同配置的機器;
  3. 4臺服務器,將緩存盤替換成步驟二移除下來的960GB SSD此時每臺機器能夠插入5塊數據盤;
  4. 4臺服務器,將本來的2.5 600G SAS硬盤,變動爲2.4T企業版SAS硬盤,目前2.5寸企業級硬盤最大容量受限於2.4T
  5. 存儲規劃,8E5-2660的服務器提供5x4Tx8的存儲容量,約160T。後4臺服務器提供5X2.4Tx4的存儲容量,約48T
  6. 8臺單獨一個存儲池,後4臺單獨一個存儲池,均配置三副本。

 

具體的調整方案步驟,可參考如下步驟:

  1. 從存儲池,移除後4臺服務器的硬盤,並關閉這4臺機器;
  2. 在新購入的三臺服務器上,安裝部署Ceph存儲節點,加入到分佈式存儲集羣的存儲池中;
  3. 將本來的前五臺機器的一臺服務器,移除硬盤,移除服務器,等待Ceph存儲數據平衡恢復;
  4. Ceph平衡完畢後,關閉此服務器,將其上的960G SSD變動爲耐久度更高的960G SSD
  5. 重複步驟3-4,完成前五臺機器的變動;
  6. 變動後4臺服務器的硬件,將前五臺機器中本來的960G SSD各分配一塊到後4臺服務器,將每臺機器上的600G SAS硬盤更換成52.4TSATA硬盤,添加到Ceph存儲,針對這些2.4T硬盤,單獨規劃一個Ceph存儲池;
  7. 添加步驟6建立的新存儲池到ZStackCeph主存儲做爲數據雲盤池,建立數據雲盤時使用,在業務使用時,可將部分業務,部署在後4臺機器的存儲池中;
  8. 添加新購入的三臺服務器到ZStack的計算節點集羣中,同時用於提供計算資源。

 

使用上述方案變動,能夠解決當前業務場景下,針對本來前5臺服務器的天天硬盤寫入量3遍,致使SSD壽命加速衰減的狀況,又新增了三臺服務器進行了計算存儲的超融合擴容。針對Ceph容量存儲IO請求不均衡的場景,也使用單獨的存儲池,進行規劃,相同容量的硬盤規劃到同一存儲池,能夠實現IO請求的均衡,IO數據的均衡,各SSD的使用也相對均衡,即8臺服務器的使用損耗一致,後4臺服務器的使用損耗也一致。

 

結語

綜上所述,分佈式存儲在規劃部署時,須要考慮如下方面:

  1. 同一存儲池的硬盤型號容量應一致,不然不一樣容量的硬盤在同一存儲池,會致使IO請求的不均衡,致使存儲分佈不均衡,在使用SSD緩存盤的場景會致使使用大容量硬盤對應的SSD IO請求更多,損耗會更快;
  2. 業務規劃需提早作好評估,針對IOPS,帶寬寫入進行提早規劃,高IO的業務需進行評估,準備的硬件是否可知足業務需求,若是業務需求較高,需使用更高配置硬件或進行相應的硬件擴容;
  3. 分佈式存儲選擇SSD時,建議關注SSDPBW(生命週期總寫入量)DWPD(天天硬盤可寫入量)SSD壽命的損耗與其總寫入量須要規劃考慮業務類型,IO密集型業務應選擇更高DWPDSSD
相關文章
相關標籤/搜索