季永華,劉俊娜,唐懷甌,華連生
(安徽省氣象信息中心,安徽 合肥 230031)
隨著信息化的發(fā)展,社會(huì)各行業(yè)數(shù)據(jù)海量增長,數(shù)據(jù)存儲(chǔ)技術(shù)不斷深入,從傳統(tǒng)的關(guān)系型數(shù)據(jù)庫到NoSQL非關(guān)系型數(shù)據(jù)庫,從單文件系統(tǒng)到分布式文件系統(tǒng),存儲(chǔ)模式和處理速度在不斷升級(jí)[1-6]。近年來氣象行業(yè)依托全國綜合氣象信息共享平臺(tái)(CIMISS)建設(shè)了一個(gè)綜合氣象數(shù)據(jù)環(huán)境,形成1個(gè)國家級(jí)中心,31個(gè)省中心的氣象數(shù)據(jù)環(huán)境網(wǎng)。CIMISS是一個(gè)集氣象數(shù)據(jù)的收集、分發(fā)、處理、管理和共享于一體的綜合性氣象信息業(yè)務(wù)系統(tǒng),多年來,對(duì)于CIMISS系統(tǒng)管理服務(wù)以及性能的優(yōu)化等方面進(jìn)行了大量研究。例如,楊潤之等[7]研究了內(nèi)存轉(zhuǎn)發(fā)在CIMISS系統(tǒng)中的應(yīng)用;王旻燕等[8]研究了氣象衛(wèi)星數(shù)據(jù)的存儲(chǔ)和服務(wù)模型;李德泉等[9]研究了多維數(shù)據(jù)權(quán)限管理模型;季永華等[10]研究對(duì)系統(tǒng)進(jìn)行簡約化流程的改造,優(yōu)化系統(tǒng)處理效率;楊菲菲等[11]研究了ORACLE數(shù)據(jù)庫備份方案的建立。然而CIMISS系統(tǒng)硬件設(shè)備從2010年開始上電運(yùn)轉(zhuǎn),硬件設(shè)備運(yùn)行多年,隨著業(yè)務(wù)量的增加,數(shù)據(jù)不斷的接入,后臺(tái)支撐的CX480存儲(chǔ)存在設(shè)備老化,運(yùn)行能力不足等問題,嚴(yán)重影響整體的系統(tǒng)性能。
因此,文中從分析系統(tǒng)業(yè)務(wù)數(shù)據(jù)容量需求和對(duì)盤陣磁盤讀寫性能需求分析入手,探討如何更新和擴(kuò)容存儲(chǔ)設(shè)備,優(yōu)化硬件環(huán)境,從而提高系統(tǒng)的處理能力。
系統(tǒng)結(jié)構(gòu)方面,CIMISS系統(tǒng)包括數(shù)據(jù)收集與分發(fā)(CTS)、數(shù)據(jù)加工處理(DPC)、數(shù)據(jù)存儲(chǔ)管理(SOD)、數(shù)據(jù)共享服務(wù)(GDS)和業(yè)務(wù)監(jiān)控(MCP)五個(gè)業(yè)務(wù)應(yīng)用系統(tǒng)[12-13]。五個(gè)業(yè)務(wù)系統(tǒng)和后臺(tái)存儲(chǔ)之間的關(guān)系見圖1。CIMISS系統(tǒng)中主要的讀寫操作都在后臺(tái)存儲(chǔ)中進(jìn)行,因此存儲(chǔ)的性能對(duì)整個(gè)系統(tǒng)的運(yùn)行起著決定性作用。存儲(chǔ)系統(tǒng)在CIMISS里主要用于ORACLE數(shù)據(jù)庫和GPFS文件系統(tǒng),GPFS文件系統(tǒng)主要分為run文件系統(tǒng)和data文件系統(tǒng),其中run文件系統(tǒng)用于各個(gè)分系統(tǒng)之間的數(shù)據(jù)交互,中間環(huán)節(jié)處理,以及消息中間件傳遞等。data文件系統(tǒng)用于存儲(chǔ)非結(jié)構(gòu)化的氣
圖1 CIMISS業(yè)務(wù)系統(tǒng)與存儲(chǔ)交互關(guān)系
象數(shù)據(jù)。
由圖1可以看出,最“繁忙”的工作都在run文件系統(tǒng)中進(jìn)行,五大應(yīng)用系統(tǒng)之間大量的交互,數(shù)據(jù)解析工作,都在這里面完成。一份原始的氣象數(shù)據(jù)要解析成好幾份,甚至上百份中間數(shù)據(jù)產(chǎn)品。拿數(shù)值預(yù)報(bào)資料來說,數(shù)據(jù)加工處理系統(tǒng)(DPC)對(duì)于一份原始文件要解析成分層次(10,50,100,200,300,400,500,700,850,925,1 000 hPa),分要素(溫度、濕度、氣壓、降水量、風(fēng)向風(fēng)速等)的產(chǎn)品,再進(jìn)行文件存儲(chǔ)并在數(shù)據(jù)庫中存入文件信息,EC高分辨率原始文件564個(gè)每日,解碼產(chǎn)品78 064個(gè)每日,RJ高分辨3 211個(gè)每日,解碼產(chǎn)品20 722個(gè)每日,T639高分辨率110個(gè)每日,解碼產(chǎn)品39 050個(gè)每日,另外還有其他的數(shù)值預(yù)報(bào)數(shù)據(jù),每份數(shù)據(jù)都要解析成上百個(gè)產(chǎn)品。由此,就要對(duì)run文件系統(tǒng)進(jìn)行大量的IO操作,盤陣對(duì)這塊的文件系統(tǒng)性能有較高的要求。
數(shù)據(jù)接入量方面,CIMISS系統(tǒng)接入的氣象數(shù)據(jù)種類歸為14大類,除了表1的資料外,還包括氣象輻射資料、歷史氣候代用資料、氣象災(zāi)害資料、科學(xué)實(shí)驗(yàn)和考察資料等等[14]。多種觀測(cè)手段形成了氣象數(shù)據(jù)的格式多樣且復(fù)雜,包括TXT、XML、HDF、AWX、CSV、BUFR、GRIB-1 /2、LRIT/,HRIT、NetCDF、圖像格式等。
對(duì)于省級(jí)中心來說,日數(shù)據(jù)量達(dá)到百G以上。以安徽省為例,接收的資料包括2 500個(gè)全國地面國家級(jí)自動(dòng)站,2萬左右區(qū)域級(jí)自動(dòng)站(包括安徽、江蘇、上海、山東、浙江、河南、江西、湖北),日數(shù)據(jù)量2.5 G,高空氣象數(shù)據(jù)包括國內(nèi)120個(gè)和國外數(shù)百個(gè)高空站,GPS/NET水汽數(shù)據(jù),閃電定位資料等,日數(shù)據(jù)量250 M左右;接收40個(gè)雷達(dá)站數(shù)據(jù),日數(shù)據(jù)量大概12 G。此外還包括幾十G的衛(wèi)星和數(shù)值預(yù)報(bào)產(chǎn)品等。
表1 氣象資料種類不完全統(tǒng)計(jì)
一年基本業(yè)務(wù)資料在20 T左右,增加10%存儲(chǔ)冗余量,其中需要ORACLE數(shù)據(jù)庫存儲(chǔ)為3 TB,文件系統(tǒng)存儲(chǔ)為19 TB,預(yù)計(jì)五年需要120 TB左右空間。
Linux系統(tǒng)中的iostat是I/O statistics(輸入/輸出統(tǒng)計(jì))的縮寫,利用iostat命令工具分析當(dāng)前舊盤陣上每個(gè)LUN的讀寫情況,分析結(jié)果為新存儲(chǔ)設(shè)備的配置提供一定參考,iostat工具將對(duì)系統(tǒng)的磁盤操作活動(dòng)進(jìn)行監(jiān)視。
可以輸出磁盤IO的統(tǒng)計(jì)情況,也能輸出CPU當(dāng)前的使用情況。
iostat -d emcpowerga emcpowergb emcpowergc emcpowergd emcpowerge emcpowergf emcpowergg emcpowergh emcpowergi emcpowergj emcpowergk emcpowergl emcpowergm emcpowergn emcpowergo emcpowergp emcpoweroa emcpowerob emcpoweroc emcpowerod emcpoweroe emcpowerof emcpowerog emcpoweroh emcpoweroi emcpoweroj emcpowerok emcpowerol-kxt 1
通過上面的命令對(duì)磁盤的IO情況進(jìn)行收集,其中emcpower開頭的是存儲(chǔ)劃分的LUN在服務(wù)器上識(shí)別出來的磁盤名,參數(shù)-k表示以KB為單位輸出,-x輸出更詳細(xì)的IO讀寫情況,-t帶時(shí)間戳輸出,1每秒輸出一次。
輸出主要關(guān)注以下幾個(gè)信息:
r/s:每秒完成的讀IO設(shè)備次數(shù),即rio/s;
w/s:每秒完成的寫IO設(shè)備次數(shù),即wio/s;
rkB/s:每秒讀K字節(jié)數(shù);
wkB/s:每秒寫K字節(jié)數(shù)。
CIMISS內(nèi)部18臺(tái)服務(wù)器連接了后臺(tái)存儲(chǔ)設(shè)備,同時(shí),每臺(tái)機(jī)器都進(jìn)行了NTP時(shí)鐘同步,確保了時(shí)間的一致性,在每臺(tái)服務(wù)器上運(yùn)行上面的腳本,并將結(jié)果輸出到文本文件中,即可收集各自對(duì)存儲(chǔ)磁盤的IO讀寫情況。由于輸出結(jié)果帶時(shí)間戳,而每臺(tái)機(jī)器的時(shí)間同步,所以將輸出信息進(jìn)行格式處理后,即可得出同一時(shí)刻磁盤的總體IO情況。
采集了2017年10月11日8:30到次日0點(diǎn)之間的存儲(chǔ)磁盤IO信息,由于每秒采集一條數(shù)據(jù),數(shù)據(jù)量較多,拿run文件系統(tǒng)為例,選取每個(gè)整分鐘的數(shù)據(jù)作圖,并將圖形進(jìn)行一定的平滑處理,見圖2和圖3??梢钥闯鼋?jīng)過平滑后的曲線仍然有較大的隨機(jī)性。
經(jīng)過分析得出,run文件系統(tǒng)的LUN無論讀寫,其IOPS值都較高,平均讀次數(shù)1 500,寫次數(shù)1 000,每秒讀寫的數(shù)據(jù)量也較大,平均讀寫在5 M/s,峰值能達(dá)到幾十M/s,這和業(yè)務(wù)數(shù)據(jù)中的分析一致。
data文件系統(tǒng)LUN的IOPS在0~400之間,主要集中在寫數(shù)據(jù)上,讀操作的IOPS和數(shù)據(jù)量都較低,整體上寫入數(shù)據(jù)量不大,但是隨機(jī)性較強(qiáng)。
圖2 run文件系統(tǒng)單個(gè)LUN每秒讀寫次數(shù)
圖3 run文件系統(tǒng)單個(gè)LUN每秒讀寫數(shù)據(jù)量
ORACLE數(shù)據(jù)庫的LUN寫入比較均勻,平均500 KB/s,讀數(shù)據(jù)量每秒幾十KB左右,但隨機(jī)性較強(qiáng),讀數(shù)據(jù)量高峰值能達(dá)到100 M/s,這和對(duì)接的業(yè)務(wù)系統(tǒng)讀取數(shù)據(jù)關(guān)系較大。
CIMISS業(yè)務(wù)中的數(shù)據(jù)以海量小文件為主,系統(tǒng)的隨機(jī)IO量大,業(yè)務(wù)對(duì)隨機(jī)IO能力要求高。
GPFS的run文件系統(tǒng)是所有業(yè)務(wù)環(huán)節(jié)中對(duì)IO要求最高的一部分,且業(yè)務(wù)模式和容量相對(duì)固定,因此,此處首選SSD/Flash類型的固態(tài)盤,或使用轉(zhuǎn)速為15K的高性能傳統(tǒng)磁盤。
ORACLE數(shù)據(jù)庫的IO特征首要是隨機(jī)IO,即IOPS密集型的模式。因此,磁盤首選仍是SSD/Flash類型的固態(tài)盤。但由于ORACLE庫體容量較大,且隨著業(yè)務(wù)變化將持續(xù)增長,暫不好確定上限。因此,考慮到成本,也可采用轉(zhuǎn)速為15K的高性能傳統(tǒng)磁盤,或采用SSD/Flash類型的固態(tài)盤與15K磁盤相結(jié)合并在盤陣內(nèi)做動(dòng)態(tài)分級(jí)存儲(chǔ)的方式。
其他各GPFS文件系統(tǒng)比run文件系統(tǒng)負(fù)載低,但仍然屬于海量小文件的IOPS密集型模式。
由于CIMISS業(yè)務(wù)應(yīng)用的主體特征是IOPS密集型,因此對(duì)盤陣有較高的要求,選擇可靠性高、能力強(qiáng)、性能好的中高端盤陣。對(duì)存儲(chǔ)來說,控制器是IOPS能力的首要決定因素,它代表了盤陣總體的IO處理能力。
對(duì)于CIMISS業(yè)務(wù),技術(shù)選擇的核心是要確定和選擇能提供較高IO能力的且?guī)в休^為優(yōu)化和智能算法的控制器,這樣才能充分利用控制器資源和高速緩存,對(duì)IOPS密集型應(yīng)用提供最大程度的支持。
除了高速緩存的Cache-IOPS對(duì)盤陣整體IOPS能力有決定因素,另外,磁盤的IOPS也是盤陣性能的重要保障,因此在選擇磁盤種類的配置時(shí),根據(jù)前面的分析,既要兼顧數(shù)據(jù)環(huán)境存儲(chǔ)容量的需求,也要考慮整體性能的需求,因此考慮將大容量磁盤(4 TB)和SSD/Flash,SAS等高性能磁盤相結(jié)合使用。大容量磁盤組的總體IO能力相對(duì)較弱,但容量充足,SSD/Flash,SAS等高性能磁盤IO能力強(qiáng),但存儲(chǔ)容量有限,且價(jià)格昂貴,這樣要充分利用中高端盤陣的磁盤管理功能,考慮并規(guī)劃好業(yè)務(wù)數(shù)據(jù)在盤陣中不同類磁盤中的分布策略或動(dòng)態(tài)分級(jí)存儲(chǔ)的配置策略。
存儲(chǔ)系統(tǒng)需要可用容量規(guī)劃設(shè)計(jì)120 TB。根據(jù)容量和性能要求,本次存儲(chǔ)系統(tǒng)配置1臺(tái)新一代中端SAN盤陣EMC-VNX5400設(shè)備,系統(tǒng)配置總體順序讀寫性能可達(dá)到5 GB/s以上,滿足省級(jí)中心存儲(chǔ)以及支撐未來業(yè)務(wù)發(fā)展的容量和性能需求。配置2個(gè)SAN控制器;控制器為Active-Active工作模式,控制器配置32 GB高速緩存。控制器配置FC光纖通道為8個(gè)8 Gb/s的前端端口。磁盤配置12塊800 GB的SSD固態(tài)硬盤,19塊1.2 TB容量的SAS高速磁盤,35塊4 TB容量的SATA盤,另外盤陣最大能支持240塊磁盤配置,在存儲(chǔ)容量不足的情況下可以隨時(shí)進(jìn)行擴(kuò)充。對(duì)SSD固態(tài)硬盤采用RAID5(4D+1P)劃分方案,SAS磁盤和SATA磁盤采用RAID6(6D+2P)劃分方案。新一代SAN盤陣總體能力比現(xiàn)有CIMISS盤陣有3~5倍以上的提升,在與SSD盤、高性能SAS盤等存儲(chǔ)資源配合使用時(shí),可提供極高的IOPS能力,可為大幅度提升現(xiàn)有CIMISS主業(yè)務(wù)的數(shù)據(jù)讀寫IO性能提供強(qiáng)有力的支持。
對(duì)于CIMISS系統(tǒng),需重點(diǎn)關(guān)注的一個(gè)軟件功能是“盤陣內(nèi)動(dòng)態(tài)分級(jí)存儲(chǔ)管理”,此功能主要用于多種不同類型磁盤混插的配置。當(dāng)盤陣配置有SSD/Flash盤、高性能(15K)磁盤、大容量磁盤等多種類型磁盤時(shí),通過此功能可根據(jù)既定策略自動(dòng)地把數(shù)據(jù)訪問頻度較高的“熱數(shù)據(jù)”存儲(chǔ)在高性能盤上,對(duì)數(shù)據(jù)訪問頻度較低的“冷數(shù)據(jù)”自動(dòng)地遷移到性能較低的大容量盤上。
FAST VP功能可以主動(dòng)監(jiān)視每一個(gè)LUN的工作負(fù)載,能識(shí)別每種磁盤上的“繁忙”數(shù)據(jù),并移動(dòng)到SSD/EFD等高性能驅(qū)動(dòng)器來提高性能。FAST VP功能也會(huì)識(shí)別較“冷”和“休眠的”數(shù)據(jù),便將它們遷移到大容量和性能較低的驅(qū)動(dòng)器來降低存儲(chǔ)成本。
盤陣部署配置過程中,將FAST VP策略Auto-Tiering Status狀態(tài)設(shè)置為enabled,定制Data Relocation Schedule為周一到周日每天的10時(shí)開始,持續(xù)8個(gè)小時(shí),這樣配置的原因是雖然CIMISS業(yè)務(wù)每天24個(gè)小時(shí)不間斷處理各類資料,但在非汛期雷達(dá)數(shù)據(jù)等大量的小文件在10~15時(shí)會(huì)相對(duì)集中傳輸[15]。
新存儲(chǔ)設(shè)備上線運(yùn)行之后,通過EMC Unisphere存儲(chǔ)的管理軟件,收集每個(gè)LUN的IO信息。得出的結(jié)果如圖4和圖5所示。
圖4 新存儲(chǔ)單個(gè)LUN的數(shù)據(jù)吞吐量
從新盤陣的運(yùn)行結(jié)果可以看出和前面的分析是一致的,run文件系統(tǒng)中單個(gè)LUN的IOPS最高,負(fù)載最重,有一定的規(guī)律性,這跟業(yè)務(wù)流程相關(guān),平均的數(shù)據(jù)吞吐量也最大,達(dá)5 MB/s,峰值為14 MB/s;data文件系統(tǒng)和ORACLE的磁盤IOPS相對(duì)較低,但有一定的隨機(jī)性,ORACLE磁盤的隨機(jī)吞吐量也較大。
文件系統(tǒng)在不同種類磁盤中占比如表2所示。
經(jīng)過一段時(shí)間的運(yùn)行,利用盤存的FAST VP功能實(shí)現(xiàn)數(shù)據(jù)的自動(dòng)遷移,run文件系統(tǒng)數(shù)據(jù)最“熱”,在SSD和SAS上占比分別為50.63%和34.22%,而ORACLE數(shù)據(jù)庫和data文件系統(tǒng)都是大容量數(shù)據(jù)存儲(chǔ)的部分,這其中大部分?jǐn)?shù)據(jù)訪問率較低,因此,這些“冷數(shù)據(jù)”都會(huì)存儲(chǔ)到SATA盤上,分別占比為64.7%和74.31%。而每天10時(shí)開始FAST VP策略都會(huì)主動(dòng)對(duì)這些數(shù)據(jù)進(jìn)行調(diào)整,經(jīng)過一段時(shí)間的穩(wěn)定運(yùn)行,各塊占比變化不大。
表2 文件系統(tǒng)在不同種類磁盤中占比
通過對(duì)CIMISS業(yè)務(wù)和存儲(chǔ)磁盤的IO進(jìn)行分析,得出CIMISS業(yè)務(wù)中的數(shù)據(jù)以海量小文件為主,系統(tǒng)的隨機(jī)IO量大,業(yè)務(wù)對(duì)隨機(jī)IO能力要求高。run文件系統(tǒng)對(duì)性能要求最高,業(yè)務(wù)模式和容量相對(duì)固定;data文件系統(tǒng)和ORACLE數(shù)據(jù)庫部分對(duì)容量有較大需求,也屬于IOPS密集型的業(yè)務(wù)模式。依據(jù)分析,配置新的存儲(chǔ),采用雙控制器并配置32 GB的高速緩存,對(duì)IOPS密集型應(yīng)用提供最大程度的支持。同時(shí),采用大容量磁盤和SSD/Flash,SAS等高性能磁盤相結(jié)合的使用方式,既滿足容量的需求也滿足性能的要求。利用存儲(chǔ)FAST VP的軟件功能,實(shí)現(xiàn)數(shù)據(jù)動(dòng)態(tài)分層管理,盤陣上的“冷熱”數(shù)據(jù)自動(dòng)遷移,充分利用高速驅(qū)動(dòng)器的性能。
CIMISS系統(tǒng)的技術(shù)架構(gòu)需要與未來氣象云的架構(gòu)對(duì)接,本次CIMISS存儲(chǔ)系統(tǒng)的升級(jí)采用擴(kuò)展性良好的存儲(chǔ)技術(shù),方案采用了新一代SAN存儲(chǔ)技術(shù)。由于在存儲(chǔ)虛擬化等方面有了較大改進(jìn),它將成為氣象行業(yè)向未來氣象云技術(shù)體系架構(gòu)過渡的重要組成部分,同時(shí)也將是云存儲(chǔ)中支持關(guān)鍵業(yè)務(wù)和高性能IO應(yīng)用的核心元素,采用新一代SAN存儲(chǔ)方案并結(jié)合必要的存儲(chǔ)軟件將能夠保證CIMISS系統(tǒng)順利過渡到氣象云存儲(chǔ)框架。