文/喬文文 黃偉 郭捷 孫周軍
全國(guó)綜合氣象信息共享平臺(tái)CIMISS(China Integrated Meteorological Information Service System)是由中國(guó)氣象局主導(dǎo)研發(fā)的集數(shù)據(jù)收集與分發(fā)CTS(China Telecommunication System)、加工處理DPC(Data Processing Center)、存儲(chǔ)管理SOD(Service-Oriented Database)、共 享 服 務(wù)GDS(Global Data Sharing)和業(yè)務(wù)監(jiān)控MCP(Monitoring and Control Platform)于一體的綜合軟件,旨在解決全國(guó)的氣象統(tǒng)一數(shù)據(jù)環(huán)境,規(guī)范化、標(biāo)準(zhǔn)化氣象信息業(yè)務(wù)系統(tǒng)和流程。
其中數(shù)據(jù)收集與分發(fā)系統(tǒng)子系統(tǒng)CTS是廣東省最主要的氣象通信系統(tǒng),高時(shí)效、低延時(shí)、7*24小時(shí)運(yùn)行,承擔(dān)全省各類氣象資料的收集、業(yè)務(wù)處理、分發(fā)、補(bǔ)調(diào)和存檔,并為CIMISS數(shù)據(jù)環(huán)境和數(shù)據(jù)中心內(nèi)部業(yè)務(wù)系統(tǒng)提供數(shù)據(jù)和服務(wù)支撐。廣東省氣象通信系統(tǒng)CTS是各類氣象觀測(cè)、服務(wù)產(chǎn)品等數(shù)據(jù)的統(tǒng)一入口,它的穩(wěn)定運(yùn)行直接影響后續(xù)的氣象業(yè)務(wù)開展。
2016年廣東省氣象預(yù)警信息中心機(jī)房正式啟用,面臨整體業(yè)務(wù)搬遷問(wèn)題。數(shù)據(jù)中心遵守循序漸進(jìn)的機(jī)房搬遷原則,即先易后難,先外圍后核心,保證業(yè)務(wù)不中斷的情況下實(shí)現(xiàn)業(yè)務(wù)搬遷。通信系統(tǒng)搬遷過(guò)程中需要停機(jī)斷電,但為保證氣象數(shù)據(jù)及時(shí)準(zhǔn)確的傳輸并避免通信系統(tǒng)搬遷對(duì)其他氣象業(yè)務(wù)系統(tǒng)造成影響,通信系統(tǒng)必須重建,但通信系統(tǒng)集群建設(shè)經(jīng)費(fèi)高、技術(shù)復(fù)雜,短時(shí)間內(nèi)無(wú)法通過(guò)完全重建。因此對(duì)廣東省氣象通信業(yè)務(wù)進(jìn)行了深入分析,設(shè)計(jì)基于單機(jī)臨時(shí)接管的搬遷策略,實(shí)現(xiàn)通信系統(tǒng)的無(wú)中斷搬遷任務(wù),同時(shí)采用新一代國(guó)內(nèi)氣象通信系統(tǒng)作為降級(jí)備份,避免單機(jī)故障時(shí)業(yè)務(wù)中斷的情況。
廣東省部署的CTS集群系統(tǒng)是分布式多機(jī)部署的全網(wǎng)系統(tǒng),由4臺(tái)IBM X3850X5服務(wù)器、IBM Storwize V7000、SAN交換機(jī)等組成,部署運(yùn)行于Linux操作系統(tǒng)下,共享文件系統(tǒng)為賽門鐵克VERITAS CFS(Cluster File System),另外CTS運(yùn)行的服務(wù)器上部署了消息中間件客戶端、J2EE應(yīng)用中間件、FTP軟件和數(shù)據(jù)庫(kù)。省級(jí)CMACast小站接收服務(wù)器也接入了通信系統(tǒng)集群,共享磁盤陣列。
CTS負(fù)責(zé)收集全省與省際共享的觀測(cè)數(shù)據(jù)、服務(wù)產(chǎn)品、CMACast廣播數(shù)據(jù)以及部門共享數(shù)據(jù),除將本省氣象數(shù)據(jù)發(fā)送國(guó)家級(jí)CTS集群之外,會(huì)將所有收集到的數(shù)據(jù)一路添加業(yè)務(wù)規(guī)則后發(fā)送到CIMISSDPC系統(tǒng)進(jìn)行加工入庫(kù)和數(shù)據(jù)服務(wù),同時(shí)一路發(fā)送到省內(nèi)氣象數(shù)據(jù)分發(fā)系統(tǒng),即原新一代國(guó)內(nèi)氣象通信系統(tǒng)完成數(shù)據(jù)中心對(duì)內(nèi)和對(duì)外數(shù)據(jù)支撐服務(wù)。其中,省內(nèi)氣象數(shù)據(jù)分發(fā)系統(tǒng)承擔(dān)了收集CMACast廣播數(shù)據(jù)、CTS推送過(guò)來(lái)的本省資料、省際共享資料和部門共享數(shù)據(jù),并給中心其他業(yè)務(wù)系統(tǒng)提供數(shù)據(jù)分發(fā)工作。集群數(shù)據(jù)流程圖如圖1所示。
為保證數(shù)據(jù)傳輸?shù)倪B續(xù)性和完整性,在集群關(guān)機(jī)過(guò)程中,擬構(gòu)建一臺(tái)CTS單機(jī)來(lái)暫時(shí)承擔(dān)集群的工作。單機(jī)CTS上不安裝CMACast衛(wèi)星廣播相關(guān)軟件,由省內(nèi)氣象數(shù)據(jù)分發(fā)系統(tǒng),即新一代國(guó)內(nèi)氣象通信系統(tǒng)將收集到的CMACast數(shù)據(jù)推送到單機(jī)CTS上,以保證CIMISS系統(tǒng)的數(shù)據(jù)完整性。設(shè)計(jì)單機(jī)CTS業(yè)務(wù)數(shù)據(jù)流程,如圖2所示。
為了讓單機(jī)能夠承擔(dān)數(shù)據(jù)收發(fā)工作,單機(jī)版CTS要與原集群系統(tǒng)的軟件完全兼容,需安裝SUSE Linux操作系統(tǒng)、VSFTPD 、MySQL、ActiveMQ、Tomcat、JDK、CTS應(yīng)用程序等,主要的操作步驟和方法如下。
(1)安裝操作系統(tǒng)SUSE Linux Enterprise Server 11,保證/home目錄不小于20G,并創(chuàng)建/bcgz、/share等目錄。
(2)為保證單機(jī)能夠正常接收用戶上傳的氣象資料,需要具備與集群系統(tǒng)相同的FTP用戶以及權(quán)限屬性。根據(jù)集群CTS的用戶和組信息,編寫批量創(chuàng)建用戶的腳本,并在單機(jī)上執(zhí)行,保證單機(jī)上用戶和組與集群上保持一致。安裝VSFTPD軟件,并將集群上/etc下VSFTPD配置文件拷貝至單機(jī)相同目錄下。
(3)為保證CTS單機(jī)服務(wù)器的監(jiān)控網(wǎng)頁(yè)、收發(fā)策略配置網(wǎng)頁(yè)能夠正確讀取到相關(guān)配置文件,需安裝5.5.35版本的MySQL,版本和集群上保持一致,將集群上的MySQL數(shù)據(jù)庫(kù)進(jìn)行全備份,并全部導(dǎo)入到單機(jī)MySQL數(shù)據(jù)庫(kù)中。
(4)CTS業(yè)務(wù)運(yùn)行過(guò)程中的收集分發(fā)、采集日志、日志入庫(kù)、分發(fā)任務(wù)處理進(jìn)程之間的信息交換基于Active MQ消息中間件進(jìn)行,其中涉及到的消息隊(duì)列由相關(guān)進(jìn)程啟動(dòng)時(shí)自動(dòng)創(chuàng)建,所以在單機(jī)CTS服務(wù)器上直接用集群上原來(lái)的安裝包直接安裝Active MQ并能夠正常運(yùn)行即可。Tomcat、JDK也直接用集群上的安裝包進(jìn)行安裝。
(5)Rsync是一個(gè)強(qiáng)大的遠(yuǎn)程數(shù)據(jù)同步工具,配置并啟動(dòng)CTS單機(jī)和集群上任一服務(wù)器上的Rsync。CTS應(yīng)用程序因已更新多次,無(wú)法使用原始的安裝包安裝,使用Rysnc同步集群服務(wù)上/home/cts、/bcgz/cts和/usr/local/src/apache-tomcat-6.0.29/webapps等目錄下的所有文件,/bcgz/workdir下的目錄結(jié)構(gòu)到單機(jī),同步時(shí)保持文件的權(quán)限、時(shí)間、軟硬鏈接、所有者、組等信息。此次數(shù)據(jù)同步也完成了本省自研資料打包程序的部署。
(6)驗(yàn) 證。運(yùn) 行ActiveMQ、JAVA_WEB、收發(fā)進(jìn)程等,并模擬臺(tái)站傳輸資料,查看資料的傳輸情況。
圖1:CTS集群數(shù)據(jù)傳輸流程
圖2:CTS單機(jī)數(shù)據(jù)傳輸流程
在單機(jī)CTS實(shí)際運(yùn)行過(guò)程中,若發(fā)現(xiàn)負(fù)載過(guò)重,則暫停新一代國(guó)內(nèi)氣象通信系統(tǒng)給單機(jī)推送CMACast資料,待搬遷完畢后從數(shù)據(jù)下載服務(wù)平臺(tái)補(bǔ)調(diào)數(shù)據(jù)。
如果單機(jī)CTS出現(xiàn)故障,則由新一代國(guó)內(nèi)氣象通信系統(tǒng)負(fù)責(zé)收集本省觀測(cè)資料、省際和部門共享數(shù)據(jù),并將本省資料發(fā)送北京和分發(fā)中心內(nèi)部業(yè)務(wù)系統(tǒng)。但新一代國(guó)內(nèi)氣象通信系統(tǒng)為上一代氣象通信系統(tǒng),無(wú)法給CIMISSDPC發(fā)送添加業(yè)務(wù)規(guī)則的數(shù)據(jù),所以會(huì)導(dǎo)致CIMISS系統(tǒng)的缺少數(shù)據(jù)。這需要在搬遷完成后從數(shù)據(jù)下載服務(wù)平臺(tái)補(bǔ)調(diào)數(shù)據(jù)到CTS集群。為保證新一代氣象通信系統(tǒng)能夠正常接收、上行和分發(fā)數(shù)據(jù),需要提前配置與CTS集群系統(tǒng)相同的FTP用戶、資料收集目錄和分發(fā)主機(jī)別名策略。
為了保障省級(jí)氣象通信系統(tǒng)CTS的搬遷能順利進(jìn)行,搬遷后設(shè)備能正常運(yùn)行,具體搬遷的實(shí)施步驟如下:
(1)利用CIMISS的負(fù)載均衡設(shè)備將CTS單機(jī)的FTP到添加到CTS服務(wù)組中,然后逐個(gè)關(guān)閉集群CTS服務(wù)節(jié)點(diǎn),以便于FTP服務(wù)的平滑切換。啟動(dòng)單機(jī)CTS系統(tǒng)所有服務(wù),包 括MySQL、VSFTPD 、ActiveMQ、Tomcat、cts_app_parallel及cts_app_ha。
(2)啟用新一代國(guó)內(nèi)氣象通信系統(tǒng)將CMACast資料到CTS單機(jī)的推送配置,完成CMACast資料的接入。
(3)在VCS中下線CTS集群的各個(gè)節(jié)點(diǎn),檢查單機(jī)的運(yùn)行情況。集群CTS服務(wù)共對(duì)外提供以下服務(wù):CTS_MYSQL_VIP、CTS_TOMCAT_MON_VIP和CTSMQ。為避免CIMISS其他子系統(tǒng)與單機(jī)CTS對(duì)接修改IP地址的麻煩,將以上3個(gè)服務(wù)的IP地址綁定到單機(jī)CTS服務(wù)器,利用單機(jī)CTS提供對(duì)應(yīng)的服務(wù)。利用單網(wǎng)卡綁定多IP地址解決CIMISS MCP與CTS之間的Web監(jiān)視切換問(wèn)題。
(4)硬件拆遷包括盤陣關(guān)機(jī)、主機(jī)關(guān)機(jī)、拆卸拖車、運(yùn)輸、硬件預(yù)警中心機(jī)房上架、硬件加電,這些操作由專業(yè)搬遷公司完成,完成后檢查集群每臺(tái)服務(wù)器的網(wǎng)絡(luò)、系統(tǒng)及軟件運(yùn)行情況。
(5)集群CTS的機(jī)器啟動(dòng)后會(huì)自動(dòng)加入集群,這時(shí)應(yīng)在VCS中立馬下線集群上所有應(yīng)用。然后停止單機(jī)的cts_app_parallel和cts_app_ha應(yīng)用,解除單機(jī)CTS上的多IP綁定,再在CIMISS負(fù)載均衡中啟用CTS集群的各節(jié)點(diǎn)。
(6)在CIMISS負(fù)載均衡中禁用CTS單機(jī)節(jié)點(diǎn),停止新一代國(guó)內(nèi)氣象通信系統(tǒng)給CTS單機(jī)的CMACast資料推送,在VCS上啟動(dòng)集群系統(tǒng)中的所有應(yīng)用。
(7)啟動(dòng)CTS單機(jī)的cts_app_parallel、cts_app_ha應(yīng)用,讓積壓的文件繼續(xù)處理完畢。
(8)檢查集群上ActiveMQ消息隊(duì)列,查看MCP各類資料收發(fā)情況,查看MySQL數(shù)據(jù)庫(kù)是否正常,查看服務(wù)器磁盤空間、Eimon日志等,即完成了搬遷工作。
省級(jí)氣象通信系統(tǒng)CTS是CIMISS的數(shù)據(jù)源頭,并為眾多氣象業(yè)務(wù)系統(tǒng)提供數(shù)據(jù)服務(wù)。為保證其他氣象業(yè)務(wù)系統(tǒng)的正常運(yùn)行,省級(jí)氣象通信系統(tǒng)的搬遷工作,要細(xì)化每一個(gè)環(huán)節(jié),做好詳細(xì)的應(yīng)急準(zhǔn)備,以保證方案的成功實(shí)施。針對(duì)廣東省氣象通信系統(tǒng)的數(shù)據(jù)傳輸流程,為保證氣象資料的正常收發(fā),制作了CTS單機(jī),利用了新一代國(guó)內(nèi)氣象通信系統(tǒng)作為降級(jí)備份,設(shè)計(jì)了合理的實(shí)施步驟,從技術(shù)層面有效地保證了搬遷在2017年2月27日的順利完成。此次搬遷工作還為以后主機(jī)實(shí)時(shí)備份和故障恢復(fù)提供了應(yīng)急保障,是一次值得借鑒的經(jīng)驗(yàn)。