聊聊云平臺分布式存儲池建立實施經(jīng)驗
一、概述
目前云平臺已經(jīng)得到了廣泛應(yīng)用,存儲池作為云平臺的IAAS主要構(gòu)成部分,需要在云平臺上線實施的時候就進行良好的規(guī)劃,保持充分的穩(wěn)定性、靈活性,保證后續(xù)的便捷使用和運維,以更好的支撐業(yè)務(wù)發(fā)展。金融業(yè)的云平臺計算池中運行有裸機、虛擬機、容器多種運行態(tài)資源,為支撐數(shù)據(jù)庫、應(yīng)用服務(wù)器、容器以及文件存儲等場景,在建立企業(yè)級云平臺存儲池時,通常需要規(guī)劃采用多種不同特性的存儲設(shè)備組建存儲池,以便支撐不同場景的需求。
二、分析應(yīng)用場景,建立多個云平臺存儲池
對存儲進行規(guī)劃建設(shè)時,離不開存儲應(yīng)用場景的分析,需要考慮的云存儲是用來做應(yīng)用系統(tǒng)的存儲,還是歸檔、或者是備份云存儲端、或者其他的應(yīng)用,因為不同的應(yīng)用是需要不同的解決方案。當確定了云的應(yīng)用場景后,才可以繼續(xù)根據(jù)需求制定應(yīng)對方案。例如對于應(yīng)用系統(tǒng),如支撐業(yè)務(wù)交易的數(shù)據(jù)庫,對容量要求相對不大,但要求滿足較高的性能。例如對于多個系統(tǒng)間的文件交換,或者多個服務(wù)器節(jié)點需要共享維護同一個共享文件目錄,共享文件服務(wù)器則要求有效的訪問控制、同時具備較好的帶寬。而用于備份的存儲,則需要安全與可用性、歸檔則要求大容量而成本低廉的存儲。確定了應(yīng)用場景,也就確定了存儲池的建設(shè)方向。
金融業(yè)的核心、柜面等重要交易系統(tǒng),因為業(yè)務(wù)并發(fā)量大,切業(yè)務(wù)敏感性高,必須保證相應(yīng)系統(tǒng)的數(shù)據(jù)庫、應(yīng)用程序具備極高的穩(wěn)定性和性能,為保證數(shù)據(jù)庫以及此類響應(yīng)時間要求較高的應(yīng)用高效穩(wěn)定運行,獲得良好的iops和讀寫時延,則需要在企業(yè)云平臺存儲池中規(guī)劃專用的通過集中式全閃存存儲構(gòu)建的存儲資源池,此部分存儲池通常采用高端集中式存儲構(gòu)成,高端集中式存儲技術(shù)成熟,使用時間長,案例眾多,服務(wù)體系完備,通常采用高性能存儲機頭管理高速的NVME SSD,能提供極高的IOPS響應(yīng)速度。集中式存儲通常采用高效FC協(xié)議提供服務(wù),也有少量用戶采用ISCSI等IP SAN方式提供服務(wù)。集中式存儲因其產(chǎn)品設(shè)計理念,存在一定的弊端,例如在需要對存儲設(shè)備進行擴容、遷移等操作時,單臺存儲的擴展能力相對有限,擴容靈活性差。集中式存儲的使用經(jīng)驗已經(jīng)較為成熟,在規(guī)劃組網(wǎng)等時需要考慮的磁盤域規(guī)劃、raid以及熱備盤規(guī)劃、物理端口冗余、多路徑規(guī)劃等規(guī)劃重點均已經(jīng)應(yīng)用非常廣泛,本文不再花費過多篇幅進行闡述。
三、云平臺分布式存儲池規(guī)劃建立
除集中式存儲池之外,云平臺中目前多用于支撐一般虛擬機、容器以及保存海量文件的存儲,仍是采用分布式存儲。云存儲解決方案通常采用分布式設(shè)計理念,可從成本、容量、空間可擴展性、服務(wù)可用性、數(shù)據(jù)可靠性、接口通用性等多個維度提升存儲的質(zhì)量。由于這些明顯的優(yōu)勢,分布式云存儲成為有效的支持塊存儲、對象存儲、NAS存儲等多種存儲格式的存儲類型,對象存儲常用于保存視頻圖像信息庫等數(shù)據(jù)存儲與共享業(yè)務(wù),成為云平臺中便捷、統(tǒng)一管理和高效應(yīng)用的云平臺基礎(chǔ)組件。
云平臺中分布式存儲池的規(guī)劃建設(shè),需要考慮的因素通常包含容量、性能、安全性幾個方面,相關(guān)的規(guī)劃點則包括節(jié)點數(shù)量、磁盤配比、組網(wǎng)規(guī)劃、集群的用戶角色規(guī)劃等。下面以一套CEPH分布式存儲為例,闡述其規(guī)劃實施路徑。
3.1 分布式存儲集群及節(jié)點硬盤規(guī)劃實施
分布式存儲集群規(guī)劃第一步需要基于企業(yè)當前數(shù)據(jù)量,合理分析本企業(yè)近3-5年的容量增長情況,并區(qū)分集中式存儲和分布式存儲的數(shù)據(jù)量。節(jié)點池是集群中以節(jié)點為單位組成的存儲區(qū)域單元,不同節(jié)點池中包含若干臺集群內(nèi)主機,為用戶提供不同的存儲業(yè)務(wù)服務(wù)。可以同時支持塊存儲、文件存儲、對象存儲業(yè)務(wù),每種業(yè)務(wù)分別位于不同的節(jié)點池。每個節(jié)點池的擁有自己的監(jiān)控節(jié)點、存儲節(jié)點,節(jié)點池間獨立,使用某分節(jié)點池的存儲資源,數(shù)據(jù)只能在該節(jié)點池內(nèi)的主機上分布存儲,不同節(jié)點池之間數(shù)據(jù)完全隔離互不影響節(jié)點池。需要全面考慮塊存儲、對象存儲、文件存儲池的需求,三類存儲建議獨立不同的存儲池部署,單獨規(guī)劃不同配置的服務(wù)器作為數(shù)據(jù)節(jié)點。
硬盤池是集群節(jié)點池中以硬盤為單位組成的的存儲區(qū)域單元,不同硬盤池中包含節(jié)點池內(nèi)若干臺集群內(nèi)主機中的若干硬盤,為用戶提供不同的存儲業(yè)務(wù)服務(wù)。通過硬盤池也可以滿足不同存儲業(yè)務(wù)數(shù)據(jù)間的隔離,以及用戶使用不同性能的存儲需求。
每個數(shù)據(jù)節(jié)點的硬盤規(guī)劃,關(guān)鍵要考慮SSD和機械硬盤的配比。在預(yù)算充足切對存儲池性能要求較高時,也可以考慮全閃存配置的數(shù)據(jù)節(jié)點,構(gòu)建全閃存分布式存儲池。如果采用混閃進行配置,則通常是一個或者多個SSD磁盤作為緩存加速盤和元數(shù)據(jù)存儲盤,后端配置4-6塊HDD作為容量盤,SSD+HDD組成一個OSD。例如一套對象存儲,包含數(shù)據(jù)池和元數(shù)據(jù)池兩部分,可以采用HDD+SSD構(gòu)建數(shù)據(jù)池,為保證整個存儲池的性能,建議一個OSD中SSD容量不低于20%,但構(gòu)建元數(shù)據(jù)池時,則推薦采用SSD組池,且建議配置2塊以上SSD作為故障容錯。數(shù)據(jù)節(jié)點服務(wù)器通常需配置支持直通模式的RAID卡。
根據(jù)目前市面主流服務(wù)器,有2.5英寸硬盤盒3.5英寸硬盤兩種規(guī)格的服務(wù)器可供選擇,2.5英寸有7200/10000/15000轉(zhuǎn)速不同規(guī)格,轉(zhuǎn)速越高讀寫性能越好,但是2.5英寸硬盤因其尺寸規(guī)格限制,目前最大為2.4TB的規(guī)格,因此單臺2U服務(wù)器能支撐的裸容量相對有限。而3.5英寸硬盤可支持采用3.5英寸HDD磁盤的最多為24盤位,HDD硬盤最大可達16TB。如果追求性能,也跟建議采用大容量3.5寸硬盤搭配更多的SSD緩存加速層來配置數(shù)據(jù)存儲。
3.2 分布式存儲集群組網(wǎng)規(guī)劃實施
為了保證云存儲的性能以及安全性,通常規(guī)劃云平臺的分布式存儲集群在邏輯上分為三個網(wǎng)絡(luò)平面:存儲業(yè)務(wù)網(wǎng)絡(luò)(存儲外網(wǎng))、存儲前端網(wǎng)絡(luò)(存儲內(nèi)網(wǎng))、存儲后端網(wǎng)絡(luò)(存儲內(nèi)網(wǎng))。存儲的前端網(wǎng)絡(luò)和后端網(wǎng)絡(luò)為了保證性能,建議分開,但是在網(wǎng)口資源有限的情況下,也可以將前端和后端網(wǎng)絡(luò)合并,但業(yè)務(wù)網(wǎng)與存儲內(nèi)部交換網(wǎng)絡(luò)是需要分開的。
此外還有存儲節(jié)點的管理網(wǎng)絡(luò)。典型組網(wǎng)推薦采用三張雙口萬兆網(wǎng)卡。分布式存儲除了管理網(wǎng)絡(luò)可以采用GE網(wǎng)絡(luò)外,其他組網(wǎng)為保證性能均建議采用不低于10GE網(wǎng)絡(luò)。根據(jù)企業(yè)的IP地址分配,后端和前端網(wǎng)路的IP地址均不涉及存儲池外使用,故而可以采用不常用的私有網(wǎng)地址,但業(yè)務(wù)網(wǎng)的IP地址則考慮納入企業(yè)的ISCSI網(wǎng)絡(luò)。
表一:分布式存儲集群組網(wǎng)規(guī)劃表
3.3 分布式存儲集群角色規(guī)劃實施
一套分布式集群分為管理節(jié)點、監(jiān)控節(jié)點和存儲節(jié)點三個角色,這三個角色的服務(wù)均可以部署在同一臺物理機上。單臺服務(wù)部署同時部署3個角色,單臺物理服務(wù)器故障會同時引起該節(jié)點上的監(jiān)控節(jié)點、管理節(jié)點、存儲節(jié)點同時故障。站在風險分擔的角度,當物理服務(wù)器有富余時,建議將存儲節(jié)點、管理節(jié)點、監(jiān)控節(jié)點分離在不同的物理服務(wù)器上。當存儲集群中的節(jié)點數(shù)等于3時,受物理服務(wù)器的限制,管理節(jié)點、監(jiān)控節(jié)點、存儲節(jié)點可以合一部署。
管理節(jié)點主要用于針對存儲集群的管理程序的控制,做好規(guī)劃后,管理節(jié)點按照規(guī)劃的信息進行集群的安裝部署,并將監(jiān)控信息圖形化,給存儲節(jié)點服務(wù)發(fā)布命令等,集群需要配置兩個管理節(jié)點,一主一備。 監(jiān)控節(jié)點主要針對集群的運行健康狀態(tài)進行監(jiān)控,每個集群的監(jiān)控節(jié)點數(shù)量必須為奇數(shù)個,范圍3~7個。一套三節(jié)點集群的節(jié)點角色部署樣例推薦規(guī)劃如下:
表二:分布式存儲集群角色規(guī)劃表
3.4 分布式存儲集群配置規(guī)劃
為了保證集群的高容錯能力,對于集群的服務(wù)器上架的機架需要充分考慮機柜掉電,機柜網(wǎng)絡(luò)斷開等故障場景,因此在進行上架規(guī)劃時,機架創(chuàng)建與規(guī)劃建議依照實際物理擺放,盡量不要一個機架上只有一個節(jié)點。
數(shù)據(jù)池冗余策略規(guī)劃。存儲集群需要考慮單臺服務(wù)器故障、或者單塊硬盤故障等場景,需要規(guī)劃安全的數(shù)據(jù)冗余策略。常見的數(shù)據(jù)冗余策略包含以下兩種:
(1)多副本策略。多副本是分布式存儲中目前較為常見的方案。如果按照多副本方案規(guī)劃容錯能力,幾副本就需要有幾倍的存儲空間來提供冗余,副本個數(shù)越多,安全性越高,但缺點在于存儲數(shù)據(jù)所需要的空間也成倍增長,N副本最終得到可用容量為實際硬盤裸容量的1/N。目前常見的是采用兩副本和三副本兩種策略,對于數(shù)據(jù)安全性較高的行業(yè)和集群,建議采用三副本以上。
副本數(shù)與集群節(jié)點數(shù)對應(yīng)關(guān)系規(guī)劃:
支持2-6副本,一般用2副本和3副本,推薦使用3副本。
2副本,至少2節(jié)點,推薦4節(jié)點。
3副本,至少3~4節(jié)點,推薦5節(jié)點。
4副本,至少5節(jié)點,推薦6節(jié)點。
(2)糾刪碼。類似于存儲的raid5,采用糾刪碼規(guī)劃的存儲池最終得到可用容量能達到實際硬盤裸容量的約70%,糾刪碼是可用容量更高的一種數(shù)據(jù)保護策略,將數(shù)據(jù)分割成多個數(shù)據(jù)塊,對這些數(shù)據(jù)塊擴展、編碼生成冗余的校驗塊,并將其存儲在不同的位置。相應(yīng)采用糾刪碼冗余技術(shù)的集群,對于數(shù)據(jù)節(jié)點的CPU開銷會更多,因為需要消耗一定的計算資源用于進行存儲數(shù)據(jù)的糾刪碼校驗,故而對于存儲節(jié)點的CPU型號要求更高。
塊存儲和對象存儲數(shù)據(jù)池均可以使用三副本或者糾刪碼策略。為了能讓集群正常工作,且根據(jù)用戶需求,可以承受單個硬盤(或單個節(jié)點)的故障。集群必須預(yù)留一定的容量空間。具體需要預(yù)留多少容量空間,用附件的表格可計算得知。
存儲精簡特性。有豐富運維經(jīng)驗的系統(tǒng)管理員都會知道,對于一個分配出去的LUN,通常應(yīng)用系統(tǒng)是不會使用完該LUN的所有空間,若存儲采用精簡配置,則只有當使用的時候才會占用存儲空間,而非劃出一部分空間預(yù)留的方式。例如集群的可用容量10T,創(chuàng)建一個1T的2副本池中的存儲塊,集群的可用容量并不會減少,仍為10T。當向存儲塊中寫入0.5T數(shù)據(jù),占用集群容量0.5T*2 (2副本)=1T,集群剩余可用容量為9T。若存儲采用厚配置,則為劃出一部分空間預(yù)留的方式。
精簡卷的特性,在測試環(huán)境中,可以考慮應(yīng)用,通常一個精簡卷中運行的是不止一臺虛擬機,它能提高存儲資源的利用率,但是在生產(chǎn)環(huán)境中開啟精簡卷的功能,將要承擔較大的風險,如果該LUN一旦空間耗盡,將直接導(dǎo)致多臺虛擬機或者多個業(yè)務(wù)因空間不足而宕機的風險。況且分布式存儲具備良好的擴容靈活性,生產(chǎn)環(huán)境的規(guī)劃中,不建議開啟精簡特性。
尺有所短,寸有所長,建立一個企業(yè)的云平臺存儲池的關(guān)鍵還是對業(yè)務(wù)的分析,只要企業(yè)的存儲管理人員能立足業(yè)務(wù),能做到對自己企業(yè)的業(yè)務(wù)發(fā)展趨勢和需求心中有數(shù),從業(yè)務(wù)的具體需求和預(yù)測出發(fā),就能從容面對云平臺的存儲池規(guī)劃建設(shè)。在進行新的存儲管理規(guī)劃時,要求技術(shù)人員更有全局觀,更全面的了解各個業(yè)務(wù)系統(tǒng),要從單個系統(tǒng)的規(guī)劃思維轉(zhuǎn)為系統(tǒng)群的規(guī)劃思維,充分評估各系統(tǒng)的性能峰值和容量峰值體量,峰值出現(xiàn)時間等因素,充分考慮系統(tǒng)的核心需求,熟練掌握分布式與集中式的優(yōu)劣,并結(jié)合業(yè)務(wù)系統(tǒng)的需求進行具體分析,科學搭配,合理進行規(guī)劃和建設(shè)實施。