肖 健, 李長華, 樊東衛(wèi), 于 策, 崔辰州
(1. 天津大學(xué) 軟件學(xué)院, 天津 300350; 2. 中國科學(xué)院國家天文臺, 北京 100012;3. 天津大學(xué) 計算機科學(xué)與技術(shù)學(xué)院, 天津 300350)
基于云環(huán)境的天文大數(shù)據(jù)開放實驗平臺
肖 健1, 李長華2, 樊東衛(wèi)2, 于 策3, 崔辰州2
(1. 天津大學(xué) 軟件學(xué)院, 天津 300350; 2. 中國科學(xué)院國家天文臺, 北京 100012;3. 天津大學(xué) 計算機科學(xué)與技術(shù)學(xué)院, 天津 300350)
依托中國虛擬天文臺強大的基礎(chǔ)設(shè)施及其共享的海量觀測數(shù)據(jù)資源,利用虛擬化與云計算技術(shù),構(gòu)建了一個開放式的天文大數(shù)據(jù)實驗平臺。該平臺分為物理層、虛擬層和用戶層,其云實驗環(huán)境集成了天文數(shù)據(jù)的獲取、傳輸和加載等3個基礎(chǔ)環(huán)節(jié),提供從數(shù)據(jù)檢索、存儲、計算、分析、可視化等功能的一站式實驗環(huán)境,輔助學(xué)生全面掌握大數(shù)據(jù)時代的天文學(xué)基礎(chǔ)研究方法。
天文學(xué); 開放式實驗平臺; 大數(shù)據(jù); 云環(huán)境
隨著新一代天文望遠(yuǎn)鏡技術(shù)的發(fā)展,天文數(shù)據(jù)海量增長,天文學(xué)已經(jīng)進(jìn)入了大數(shù)據(jù)時代。旨在連接天文學(xué)和計算機應(yīng)用技術(shù)的天文信息學(xué)也以前所未有的速度發(fā)展起來[1],天文研究正在從小樣本模式向“數(shù)據(jù)驅(qū)動”模式轉(zhuǎn)變。但是,在天文學(xué)的本科教育甚至是研究生培養(yǎng)階段,相關(guān)教材和實驗方法還未能及時跟進(jìn),而且由于實驗條件的限制,針對大數(shù)據(jù)的實驗環(huán)境更是難于搭建。目前,天文學(xué)相關(guān)軟件大都以開源軟件為主,對環(huán)境要求比較特殊、配置復(fù)雜,學(xué)生往往在安裝和配置實驗環(huán)境上會浪費很多時間。
針對上述問題,依托中國虛擬天文臺以及天文科技領(lǐng)域云的強大基礎(chǔ)設(shè)施及其共享的海量觀測數(shù)據(jù)資源[2],構(gòu)建了一個開放式的天文大數(shù)據(jù)實驗平臺(cloud.china-vo.org)。該平臺利用虛擬化與云計算技術(shù),將國內(nèi)主要天文臺站的分散的計算資源集中起來,提供海量數(shù)據(jù)存儲、獲取、計算、分析、可視化等一站式的綜合實驗環(huán)境。該平臺借助中國科技網(wǎng)通行證,采用開放式注冊和訪問模式,使得實驗活動可以不受時間和地點限制。整個實驗平臺全部基于開源技術(shù)構(gòu)建,既節(jié)約成本,又便于推廣[3-4]。
天文學(xué)是基于觀測和發(fā)現(xiàn)的科學(xué),即使是幾年以前發(fā)布的數(shù)據(jù),采用不同的處理方式和分析角度,也可能產(chǎn)生新的發(fā)現(xiàn)。因此,大部分天文教學(xué)實驗案例均采用真實的觀測數(shù)據(jù)。而在天文大數(shù)據(jù)時代,同一個目標(biāo)天體,對應(yīng)著來自不同觀測設(shè)備和不同波段的信息[1],傳統(tǒng)的實驗環(huán)境很難提供一個統(tǒng)一的多波段巡天數(shù)據(jù)庫,以及能夠處理分析這些海量數(shù)據(jù)的平臺。
本文利用云計算技術(shù),提出了一種能夠適應(yīng)天文大數(shù)據(jù)的實驗?zāi)J?如圖1所示。
圖1 云環(huán)境下天文大數(shù)據(jù)的實驗?zāi)J胶凸ぷ髁?/p>
該模式下的實驗流程包括:
(1) 數(shù)據(jù)準(zhǔn)備:利用中國虛擬天文臺提供的數(shù)據(jù)檢索服務(wù),從天文數(shù)據(jù)中心獲取實驗數(shù)據(jù);
(2) 數(shù)據(jù)傳輸:通過快速的異步拷貝機制,將實驗數(shù)據(jù)保存到用戶個人的云存儲空間;
(3) 數(shù)據(jù)處理:用戶在云環(huán)境中創(chuàng)建所需的虛擬機資源,登錄遠(yuǎn)程桌面,處理實驗數(shù)據(jù)。
為避免實驗過程對原始數(shù)據(jù)造成破壞,用戶并不能直接訪問天文數(shù)據(jù)中心,而是通過內(nèi)部網(wǎng)絡(luò)快速拷貝一個實驗用數(shù)據(jù)副本到用戶的云存儲空間。為保證數(shù)據(jù)快速傳輸,云實驗環(huán)境與中國虛擬天文臺處于同一個內(nèi)網(wǎng)中。該訪問模式允許學(xué)生獲取天文數(shù)據(jù)中心提供的任何數(shù)據(jù),且云環(huán)境提供的原位計算能力避免了通過廣域網(wǎng)傳輸大量數(shù)據(jù)[5],節(jié)約了時間和網(wǎng)絡(luò)資源。
2.1 實驗平臺的體系結(jié)構(gòu)
天文大數(shù)據(jù)開放實驗平臺的體系結(jié)構(gòu)如圖2所示。平臺整體結(jié)構(gòu)分為3層,自底向上依次為:作為硬件基礎(chǔ)的物理層、處于系統(tǒng)核心部位的虛擬層、面向應(yīng)用的用戶層。
圖2 實驗平臺的體系結(jié)構(gòu)
物理層是分布式硬件服務(wù)器集群,包括國內(nèi)主要的天文臺站。在實現(xiàn)上,國家天文臺作為主節(jié)點和管理節(jié)點,既提供計算和存儲資源,又提供管理服務(wù);而其他臺站則僅提供資源。在保障用戶體驗和系統(tǒng)可用性的同時,為了降低軟硬件成本,整個系統(tǒng)沒有配置專用的磁盤陣列,而是全部采用普通的商用服務(wù)器和開源軟件,服務(wù)器的CPU、內(nèi)存、硬盤都是滿配,每個服務(wù)器既作為計算節(jié)點,也充當(dāng)存儲節(jié)點。
虛擬層提供統(tǒng)一的云存儲服務(wù)以及虛擬機的運行環(huán)境。云存儲系統(tǒng)基于開源的集群文件系統(tǒng)GlusterFS構(gòu)建[6];云計算平臺基于功能全面且易于維護的CloudStack[7-8]構(gòu)建;虛擬機則選擇了在簡單性和易用性上都有良好表現(xiàn)的KVM[9]。此外,虛擬層還負(fù)責(zé)將虛擬機與個人云存儲空間連接起來,并提供平臺內(nèi)外的數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)以及平臺運行監(jiān)控服務(wù)等。
用戶層包括用于訪問、管理虛擬機和云存儲空間的Web應(yīng)用以及接入平臺的各類終端設(shè)備。目前系統(tǒng)對桌面終端的支持比較完整,而對平板電腦、智能手機等移動終端的支持在理論上是可以的,但還未能提供友好的移動端界面。
平臺在物理層上是分布式的,在虛擬層之上又是統(tǒng)一的。用戶在使用之前可以根據(jù)實際情況選擇要創(chuàng)建的虛擬機的物理位置;在使用時遵循統(tǒng)一的訪問和操作規(guī)則,不必關(guān)心虛擬機的實際位置,從而確保了用戶體驗的一致性。
2.2 天文數(shù)據(jù)與云實驗環(huán)境的集成
圖3是天文數(shù)據(jù)中心與云實驗環(huán)境集成的3個主要環(huán)節(jié),包括天文數(shù)據(jù)獲取、數(shù)據(jù)傳輸和數(shù)據(jù)加載。
圖3 天文大數(shù)據(jù)與虛擬機的連接方案
數(shù)據(jù)的獲取直接利用了虛擬天文臺的數(shù)據(jù)檢索服務(wù),如圖3的左部顯示了數(shù)據(jù)檢索結(jié)果頁面,數(shù)據(jù)檢索還提供將檢索結(jié)果保存到云存儲空間的功能。用戶第一次訪問實驗平臺時,系統(tǒng)自動為其分配一個默認(rèn)的云存儲空間,當(dāng)用戶空間不夠時,可以申請擴容。為方便存儲自動掛載,云存儲系統(tǒng)的賬號與用戶登錄賬號一致。
數(shù)據(jù)傳輸在網(wǎng)速通暢且穩(wěn)定的內(nèi)網(wǎng)進(jìn)行,利用Linux的遠(yuǎn)程同步軟件rsync,將檢索結(jié)果從天文數(shù)據(jù)中心傳輸?shù)皆拼鎯ο到y(tǒng)。rsync的增量拷貝功能再加上平臺內(nèi)網(wǎng)充足的帶寬,極大地提高了數(shù)據(jù)傳輸?shù)男阅?。?shù)據(jù)傳輸是異步的,傳輸完成后,系統(tǒng)會通過郵件通知用戶。
數(shù)據(jù)加載,即將用戶的云存儲空間掛載(mount)到用戶的虛擬機上。通過定制虛擬機模版的初始化程序,虛擬機在啟動時將自動執(zhí)行掛載網(wǎng)絡(luò)存儲空間的腳本。虛擬機加載和訪問云存儲空間,通過CIFS(common internet file system)協(xié)議實現(xiàn)[10]。圖3的右上部顯示了用戶登錄到虛擬機遠(yuǎn)程桌面并使用DS9軟件直接處理云存儲數(shù)據(jù)的界面。
如上所述,云存儲系統(tǒng)通過支持CIFS的SMB(server message block)服務(wù)器為虛擬機提供訪問網(wǎng)絡(luò)存儲的功能。為了提高性能,平臺配置了多個Samba服務(wù)器,并實現(xiàn)了基于動態(tài)DNS的負(fù)載均衡策略。在權(quán)限管理上,Samba服務(wù)器采用Linux的系統(tǒng)賬戶權(quán)限,每個賬戶僅能訪問其對應(yīng)根目錄(home)下的內(nèi)容,從而保障私有數(shù)據(jù)的安全性。
2.3 虛擬機的訪問與管理
天文數(shù)據(jù)處理一般采用Linux操作系統(tǒng),且絕大多數(shù)天文數(shù)據(jù)處理軟件都需要圖形界面的支持。因此,虛擬機除了支持傳統(tǒng)的SSH方式登錄外,也集成了XRDP(X remote desktop protocol)服務(wù),支持Windows、Linux、Mac等多種客戶端下的遠(yuǎn)程桌面訪問。遠(yuǎn)程桌面應(yīng)用需要較高的網(wǎng)絡(luò)質(zhì)量,但在平臺建設(shè)初期,采用了IPv4網(wǎng)絡(luò),由于網(wǎng)絡(luò)帶寬有限,用戶體驗比較差。
鑒于目前中國教育網(wǎng)(CERNET)和科技網(wǎng)(CSTNET)已經(jīng)全面支持IPv6,為保證用戶體驗,在綜合考慮了整個實驗平臺以及用戶虛擬機安全的前提下,平臺采用了如圖4所示的主干IPv6方案,即在外部互聯(lián)網(wǎng)部分采用IPv6接入,云環(huán)境內(nèi)部使用IPv4網(wǎng)絡(luò)[11]。實驗表明,用戶通過IPv6網(wǎng)絡(luò)接入云實驗平臺,訪問遠(yuǎn)程桌面十分流暢,云環(huán)境下的用戶體驗得到了保證。
圖4 云實驗平臺的網(wǎng)絡(luò)接入方案
內(nèi)部網(wǎng)絡(luò)采用IPv4,主要是考慮到平臺內(nèi)部網(wǎng)絡(luò)帶寬充足,安全性也有保障,但需要解決外部地址與內(nèi)網(wǎng)地址的轉(zhuǎn)換問題。IPv4之間可通過Linux的軟件防火墻IPTables來實現(xiàn)轉(zhuǎn)發(fā),而IPv6與IPv4之間需要開發(fā)專門的轉(zhuǎn)發(fā)服務(wù)。為了應(yīng)對大量的并發(fā)訪問,平臺配置了多個轉(zhuǎn)發(fā)服務(wù)器,并使用DNSmasq構(gòu)建了內(nèi)部的DNS服務(wù),通過動態(tài)DNS實現(xiàn)轉(zhuǎn)發(fā)服務(wù)的負(fù)載均衡[12],從而保證了良好的轉(zhuǎn)發(fā)性能。
圖5描述了用戶與虛擬機之間的通信轉(zhuǎn)發(fā)機制。為方便用戶記憶和平臺管理,所有虛擬機對外共享一個訪問域名(cloudvm.china-vo.org),用不同端口來區(qū)分具體的虛擬機。虛擬機在創(chuàng)建時,平臺自動為該虛擬機分配所需的外部端口,同時生成新增的外部端口與虛擬機本地端口的映射關(guān)系。內(nèi)外端口的映射信息保存在數(shù)據(jù)庫中,供轉(zhuǎn)發(fā)服務(wù)器查找目標(biāo)虛擬機及其對應(yīng)端口,并一直保留到該虛擬機鏡像被刪除。
圖5 云環(huán)境內(nèi)部的端口轉(zhuǎn)發(fā)機制
用戶登錄云平臺后,可以通過WebVNC直接在瀏覽器中訪問虛擬機的遠(yuǎn)程桌面,或者使用SSH客戶端工具通過命令行操作虛擬機,還可以通過遠(yuǎn)程桌面客戶端來連接。為了節(jié)約能耗,虛擬機實例在閑置一段時間后會自動休眠。
為了便于管理云存儲空間和虛擬機,對CloudStack進(jìn)行了二次開發(fā),提供了功能更加豐富的Web界面。除了從天文數(shù)據(jù)中心自動同步數(shù)據(jù)到云存儲空間外,用戶還可以自行上傳實驗數(shù)據(jù)。實驗平臺支持HTTP和SFTP兩種數(shù)據(jù)上傳模式。
為簡化實驗環(huán)境準(zhǔn)備過程,實驗平臺還提供了常用的虛擬機模板,其中包括清華大學(xué)天體物理中心的AIRE-Linux,多波段數(shù)據(jù)專用模板,以及基礎(chǔ)的Linux、Windows模板等。用戶也可以創(chuàng)建并共享自己的虛擬機模板。模板的使用在保證實驗環(huán)境一致性的同時,也避免了學(xué)生從零開始準(zhǔn)備軟件環(huán)境的麻煩。
通過選擇合適的模板,用戶可以快速創(chuàng)建實驗所需的虛擬機實例。一般情況下,虛擬機從創(chuàng)建到完全可用的時間不超過5分鐘。虛擬機創(chuàng)建完成后,平臺通過郵件通知用戶訪問該虛擬機所需的信息,包括虛擬機的主機名、SSH、遠(yuǎn)程桌面的登錄端口以及賬號、密碼等。
為了與中國虛擬天文臺無縫集成,提供開放式訪問,云平臺基于中國科技網(wǎng)通行證,實現(xiàn)了支持OAuth2.0協(xié)議[13]的單點登錄功能。凡是注冊成為中國虛擬天文臺的用戶,就能使用云實驗平臺提供的所有功能。
3.1 天文學(xué)基礎(chǔ)實驗
天文大數(shù)據(jù)開放實驗平臺是一個較為通用的天文學(xué)基礎(chǔ)實驗教學(xué)環(huán)境,平臺提供了海量的天文數(shù)據(jù)資源以及完備的軟件環(huán)境,用戶在使用前只需根據(jù)課程規(guī)劃設(shè)計好具體的實驗內(nèi)容即可。目前,該平臺連續(xù)2年承接了中國科學(xué)院大學(xué)天文學(xué)基礎(chǔ)課程“多波段天文數(shù)據(jù)獲取與處理”“實測天體物理”等,使用該平臺的學(xué)生超過150名。該類課程涉及行星數(shù)據(jù)獲取與處理、太陽數(shù)據(jù)獲取與處理、光學(xué)紅外數(shù)據(jù)獲取與處理、高能數(shù)據(jù)獲取與處理、射電數(shù)據(jù)處理等多個專題。
教師授課和學(xué)生練習(xí)均需要HEASOFT、IRAF、DS9、JHelioview、Python、IDL等多種軟件環(huán)境以及配套的數(shù)據(jù)。該平臺為課程教學(xué)準(zhǔn)備了標(biāo)準(zhǔn)的軟件環(huán)境模板,學(xué)生利用標(biāo)準(zhǔn)模板在數(shù)分鐘之內(nèi)便可創(chuàng)建一個完備的課程軟件環(huán)境,而主干IPv6的接入模式(見圖4)也滿足了遠(yuǎn)程桌面訪問的實時性要求。
3.2 天文信息學(xué)綜合類實驗
除了類似傳統(tǒng)的單機版實驗外,云平臺可以在短時間內(nèi)準(zhǔn)備好大量配置相同的虛擬機,非常適合進(jìn)行分布式實驗。由國家天文臺和天津大學(xué)天文信息技術(shù)聯(lián)合研究中心開設(shè)的“并行計算”“虛擬化與云計算”“高性能計算與應(yīng)用”等課程也借助該云平臺完成實驗教學(xué)。此類課程面向天津大學(xué)計算機、軟件工程專業(yè)的高年級本科生和研究生,年均上課人數(shù)超過200人。實驗課題的設(shè)計均結(jié)合天文計算的前沿問題,除了鍛煉學(xué)生綜合運用所學(xué)知識解決實際問題的能力外,在學(xué)生思路各異的實現(xiàn)程序中還可能產(chǎn)生出新穎、高效的算法,從而促進(jìn)實際問題的有效解決。
自上述實驗課程開設(shè)以來,已經(jīng)在宇宙大尺度結(jié)構(gòu)的三點相關(guān)函數(shù)求解、海量星表數(shù)據(jù)的交叉證認(rèn)等方面取得了實用性成果。
依托中國虛擬天文臺構(gòu)建的云環(huán)境下的天文大數(shù)據(jù)實驗教學(xué)平臺,充分挖掘了CloudStack、GlusterFS、KVM等開源技術(shù)的潛力,集成了國內(nèi)主要天文臺站的資源,采用IPv6實現(xiàn)了廣域網(wǎng)內(nèi)遠(yuǎn)程桌面的實時交互,并利用中國科技網(wǎng)通行證提供了開放訪問的功能。該平臺極大地方便了天文學(xué)基礎(chǔ)實驗教學(xué),并為探索海量天文數(shù)據(jù)的高效處理方法提供了實驗環(huán)境。目前,該平臺還在持續(xù)完善和改進(jìn)之中,新的數(shù)據(jù)和計算資源將不斷被集成進(jìn)來。平臺建設(shè)所使用的技術(shù)方案可供其他專業(yè)的開放性云實驗平臺的建設(shè)參考。
References)
[1] 崔辰州,于策,肖健,等.大數(shù)據(jù)時代的天文學(xué)研究[J].科學(xué)通報,2015(增刊1):445-449.
[2] 崔辰州,薛艷杰,李建,等.虛擬天文臺:天文學(xué)研究的科研信息化環(huán)境[J].中國科學(xué)院院刊,2013(4):511-518.
[3] 林利,石文昌.構(gòu)建云計算平臺的開源軟件綜述[J].計算機科學(xué),2012(11):1-7.
[4] 王峰,黃剛.基于云平臺的計算機實驗教學(xué)中心建設(shè)[J].實驗技術(shù)與管理,2014,31(12):121-123.
[5] 孟小峰,慈祥.大數(shù)據(jù)管理:概念、技術(shù)與挑戰(zhàn)[J].計算機研究與發(fā)展,2013(1):146-169.
[6] 張曉景,鄭曉文,李先毅.基于GlusterFS的OpenStack平臺設(shè)計[J].微型機與應(yīng)用,2014(1):74-76.
[7] Kumar R, Jain K, Maharwal H,et al. Apache cloudstack: Open source infrastructure as a service cloud computing platform[J].International Journal of advancement in Engineering technology,Management and Applied Science,2014(2):111-116.
[8] 張笑燕,王敏訥,杜曉峰.云計算虛擬機部署方案的研究[J].通信學(xué)報,2015(3):245-252.
[9] Kivity A, Kamay Y, Laor D, et al. KVM: the Linux virtual machine monitor[C]//Proceedings of the Linux symposium. Ottawa, 2007:225-230.
[10] 郝斐,王雷,荊繼武,等.基于CIFS協(xié)議的云存儲安全網(wǎng)關(guān)的設(shè)計與實現(xiàn)[J].計算機應(yīng)用與軟件,2013(4):11-14.
[11] 李長華,崔辰州,何勃亮,等.IPv6技術(shù)在天文學(xué)研究云計算環(huán)境中的應(yīng)用[J].計算機應(yīng)用,2016,36(增刊1):25-28.
[12] Powers S. The open-source classroom: a domain by any other name[J].Linux Journal,2012(221):7.
[13] 時子慶,劉金蘭,譚曉華.基于OAuth2.0的認(rèn)證授權(quán)技術(shù)[J].計算機系統(tǒng)應(yīng)用,2012(3):260-264.
An open experimental platform of astronomy big data based on cloud computing
Xiao Jian1, Li Changhua2, Fan Dongwei2, Yu Ce3, Cui Chenzhou2
(1. School of Computer Software, Tianjin University, Tianjin 300350, China; 2. National Astronomical Observatories, Chinese Academy of Science, Beijing 100012, China; 3. School of Computer Science and Technology, Tianjin University, Tianjin 300350, China)
Employing virtualization and cloud computing technologies, an open experimental platform of astronomical large data is built based on the powerful infrastructure and massive observation data resources of Chinese Virtual Observatory. The platform consists of physical, virtual and user three layers, and integrates data query, transfer and loading three basic functionalities. It provides an end-to-end experimental environment from data retrieval, storage, to computing, analysis, and visualization. It can also facilitate students to completely master the basic research methods of astronomy in big data era.
astronomy; open experimental platform; big data; cloud computing
10.16791/j.cnki.sjg.2016.12.039
2016-06-22
國家自然科學(xué)基金-天文聯(lián)合
(U1231108);中國科學(xué)院信息化專項項目(XXH12503-05-05)
肖健(1978—),男,河北玉田,博士,工程師,主要研究方向為天文信息技術(shù)、高性能計算.
E-mail:xiaojian@tju.edu.cn
TP391
: A
: 1002-4956(2016)12-0158-05