張琦
[摘? ? 要] 隨著云計算與虛擬化技術(shù)的不斷發(fā)展,虛擬化層對資源的耗用越來越低,而云化資源池對各種軟硬件資源利用率的提升優(yōu)勢越來越明顯。在云計算環(huán)境下進(jìn)行高性能計算已成為可能。文章重點介紹如何在集群系統(tǒng)快速搭建高性能計算私有云環(huán)境。
[關(guān)鍵詞] 高性能計算;云計算;虛擬化;集群系統(tǒng);地震資料處理
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2019. 03. 058
[中圖分類號] TP311? ? [文獻(xiàn)標(biāo)識碼]? A? ? ? [文章編號]? 1673 - 0194(2019)03- 0144- 03
1? ? ? 引? ? 言
多年來,地震資料處理在高性能計算領(lǐng)域一直是典型應(yīng)用之一,生產(chǎn)應(yīng)用過程中的不同時期,對各種地震處理軟件的使用需求量不同,經(jīng)常需要在高性能計算集群系統(tǒng)的節(jié)點上對不同軟件進(jìn)行切換。然而由于幾大軟件寡頭壟斷廠商的豎井式全系列開發(fā)模式,導(dǎo)致不同地震處理高性能計算軟件對操作系統(tǒng)版本及軟件運行環(huán)境要求各異,難以在一臺高性能計算節(jié)點同時安裝多套不同廠商的地震處理軟件,這就需要通過以重新安裝操作系統(tǒng)和處理軟件的方式進(jìn)行軟件切換。由于高性能計算系統(tǒng)節(jié)點眾多,這個過程如果人工操作,必然耗時巨大。而云計算技術(shù)恰恰提供了將集群系統(tǒng)資源池化,并根據(jù)應(yīng)用需求進(jìn)行動態(tài)調(diào)整部署的方法。隨著近些年云計算與虛擬化技術(shù)的不斷發(fā)展,虛擬化層對資源的耗用越來越低,而云化資源池對各種軟硬件資源利用率的提升優(yōu)勢越來越明顯,在云計算環(huán)境下進(jìn)行高性能計算已成為可能。
2? ? ? 高性能計算集群云化部署的三層架構(gòu)
高性能計算集群云化部署的層次有三個,最下面的是虛擬化平臺層,可以部署CentOS、ESXi等。中間層是云服務(wù)層,可以使用Opennebula、OpenStack等。最上層是虛擬機層,可以部署KVM、Vmware等。
3? ? ? 高性能計算集群云化部署方式
整個高性能計算集群云化部署以DHCP+TFTP+PXE+Kickstart方式為主,中間配置使用開源易用的Ansible軟件,也可以使用更簡便的pdsh并發(fā)軟件。虛擬化平臺層使用CentOS(部署ESXi方法與CentOS相同)。中間層因為私有云環(huán)境虛擬機數(shù)量在2 000臺以下,所以選用輕量級的開源云服務(wù)軟件Opennebula。虛擬機層使用的是開源的KVM虛擬機,虛擬機操作系統(tǒng)使用的是RHEL,安裝的軟件是斯倫貝謝公司的Omega地震處理系統(tǒng)。
3.1? ?虛擬化平臺層部署
3.1.1? ?管理服務(wù)器配置
管理服務(wù)器選用CentOS或RHEL操作系統(tǒng)均可,管理服務(wù)器需要配置DHCP、TFTP、FTP服務(wù)(FTP服務(wù)可以使用NFS、HTTP服務(wù)替代)。具體配置方法十分簡單,可參照相關(guān)官方文檔,下面主要介紹注意事項。
3.1.2? ?虛擬化平臺層自動部署
通過使用pdsh并發(fā)軟件對集群節(jié)點發(fā)送IPMI重新啟動命令,重啟各個節(jié)點,節(jié)點就開始按照ks.cfg中的配置開始自動安裝操作系統(tǒng)及額外安裝的軟件了。
3.2? ?云服務(wù)層部署
云服務(wù)層管理服務(wù)器及客戶端節(jié)點選用CentOS或RHEL操作系統(tǒng)均可,安裝Opennebula軟件使用yum方式即可,具體安裝方法十分簡單,可參照相關(guān)官方文檔。常見錯誤是管理服務(wù)器和客戶端節(jié)點的ssh、scp需要口令或確認(rèn)信息??蛻舳伺渲每梢詫懗赡_本,放在虛擬化平臺層自動部署中的ks.cfg文件中,這樣當(dāng)節(jié)點操作系統(tǒng)安裝好后客戶端就自動配置完畢了。
管理服務(wù)器配置界面有中文Web界面,根據(jù)界面提示操作十分簡單。首先創(chuàng)建集群、主機,將自動部署好的虛擬化平臺層節(jié)點加入集群即可。然后創(chuàng)建網(wǎng)絡(luò),規(guī)劃虛擬機層的網(wǎng)址范圍,包括MAC地址和IP地址。之后就可以制作裸機鏡像,鏡像可以采用qcow2格式(一種較省空間的可壓縮格式)。鏡像注冊好后,就可以根據(jù)需求的配置制作虛擬機模板。
3.3? ?虛擬機層部署
虛擬機層采用KVM虛擬機,部署方式同虛擬化平臺層部署方式一樣,可以直接使用虛擬化平臺層部署使用的管理服務(wù)器,只需修改相應(yīng)配置即可。利用Opennebula管理界面將制作好的虛擬機模板,根據(jù)所需求的數(shù)量在集群中創(chuàng)建實例即可,虛擬機在啟動后就可以根據(jù)ks.cfg配置,自動安裝操作系統(tǒng)及額外安裝的軟件了。
4? ? ? 總? ? 結(jié)
高性能計算集群從裸機到提供虛擬化高性能計算應(yīng)用的整個三層云化部署過程,用時在一小時左右。通過云化資源池,對整個集群系統(tǒng)軟硬件資源利用率具有非常大的提升作用,尤其是對于CPU核數(shù)的虛擬化,可以節(jié)約某些軟件的許可耗用。在未來隨著技術(shù)發(fā)展,虛擬化層對資源的耗用必將進(jìn)一步降低,這就使得高性能計算集群云化部署方法有了更大的推廣應(yīng)用前景。
主要參考文獻(xiàn)
[1]孟相武,程勁,羅克露,等.基于Linux的高可用集群系統(tǒng)的設(shè)計及實現(xiàn)[J].電子科技大學(xué)學(xué)報,2005(4).
[2]李林昊.大規(guī)模Linux集群部署系統(tǒng)的研究及實現(xiàn)[D].焦作:河南理工大學(xué),2009.
[3]許兆新,周長林.Linux集群節(jié)點自動化部署方法與實現(xiàn)[J].應(yīng)用科技,2009(10).
[4]么羅野.大規(guī)??焖俨渴餖inux的實現(xiàn)方法[J].計算機與現(xiàn)代化,2011(5).
[5]顧夢非,徐煒民.一個基于Linux的集群部署方案[J].計算機應(yīng)用與軟件,2008(1).