陸明典 莫滿堂
摘要:通過分析臺站信息系統(tǒng)應用的現(xiàn)狀,引入基于VMware Hypervisor的服務器虛擬化技術,簡化臺站基礎架構,優(yōu)化氣象信息系統(tǒng)建設。在虛擬化的基礎上,結合服務高可用、雙機容錯等技術,降低應用系統(tǒng)單點故障的風險,進一步提高氣象信息系統(tǒng)服務的可靠性和穩(wěn)定性。
關鍵詞:氣象;服務器;虛擬化;高可用
隨著氣象信息應用系統(tǒng)的增多,為了管理方便,減少不同系統(tǒng)對運行環(huán)境的復雜依賴,大多數(shù)的臺站都會考慮為每個應用系統(tǒng)配置獨立的硬件服務器。在這種情況下,絕大多數(shù)服務器工作方式單一,系統(tǒng)資源利用率不高[1-2],各個應用系統(tǒng)之間缺乏有效溝通,致使數(shù)據(jù)信息難以共享、數(shù)據(jù)備份困難,而且管理成本、機房供電、占地空間、制冷等也隨著服務器的增多在不斷攀升[3]。因此,如何提高系統(tǒng)資源的利用率、保證應用系統(tǒng)的數(shù)據(jù)安全、縮短應用系統(tǒng)的故障恢復時間、降低機房能耗,成了臺站信息化建設值得考慮的一大難題。服務器虛擬化的出現(xiàn),為解決以上問題提供了有力保障,一方面可以將多臺物理服務器進行整合、提高現(xiàn)有設備的資源利用率,減少機房服務器數(shù)量、簡化臺站的基礎架構,降低管理成本、縮短應用交付時間、實現(xiàn)快速自動化部署;而且通過虛擬化集群提供的負載均衡、服務高可用、雙機熱備份等方案提高業(yè)務連續(xù)性、縮短非計劃停機時間[4],進一步優(yōu)化臺站的氣象信息系統(tǒng)應用。
1 服務器虛擬化
1.1 技術概述
硬件虛擬化是一種將硬件資源轉(zhuǎn)變?yōu)檐浖募夹g。通過該技術,可以在一臺計算機上以虛擬機的形式運行多個操作系統(tǒng),且讓這些操作系統(tǒng)覺得自身好像是擁有獨立的硬件設備,而不是和別的操作系統(tǒng)分享相同的物理硬件設備。提供這個核心功能的組件Hypervisor,是各種硬件虛擬化技術的基石,它是運行在物理服務器和操作系統(tǒng)之間的中間軟件層,可允許多個操作系統(tǒng)和應用共享基礎硬件。運行在Hypervisor上的VMM(Virtual Machine Monitor),即虛擬機監(jiān)視器,是一種將單個硬件平臺劃分成一個或多個虛擬機的軟件抽象層,VMM給每一臺虛擬機分配CPU、內(nèi)存和I/O資源,負責運行傳統(tǒng)的操作系統(tǒng),每一個劃分后的虛擬機的硬件都與位于下層的物理機硬件非常相似,從而實現(xiàn)服務器的虛擬化[5-7]。
1.2 虛擬化的種類
由于Hypervisor是硬件虛擬化的底層技術實現(xiàn),因此,虛擬化的程度、功能和性能極大的取決Hypervisor的架構和實現(xiàn)方式。目前Hypervisor主要分為原生及寄居兩種架構。所謂原生架構,就是Hypervisor本身不需要依賴任何操作系統(tǒng),或者說Hypervisor本身就是一個操作系統(tǒng),只是這個操作系統(tǒng)專門為虛擬機服務;而寄居架構,是把Hypervisor看成一個應用軟件或者服務,運行在已安裝好的操作系統(tǒng)上,依賴宿主操作系統(tǒng)進行服務。
1.2.1 原生架構
原生架構也稱作裸機虛擬化,在該架構中,Hypervisor直接安裝為操作系統(tǒng),接管所有的硬件資源,負責和上層的VM操作系統(tǒng)溝通和資源調(diào)度。其優(yōu)點是穩(wěn)定,Hypervisor的代碼少則幾千行,多的也不超過百兆,因而性能也是比較高的;缺點是對硬件依賴性較強,
Hypervisor往往是針對某一類硬件平臺進行開發(fā),兼容性較差。原生架構的典型產(chǎn)品包括:VMware vSphere、Microsoft Hyper-V、Citrix XenServer、RedHat KVM,以及開源架構Xen和Qemm等。
1.2.2 寄居架構
相對原生架構,寄居架構是指將Hypervisor包裝為應用軟件,有選擇的安裝在某個操作系統(tǒng)之上。其優(yōu)點是硬件兼容性好,只要是所依賴的操作系統(tǒng)支持的硬件平臺都可以安裝并使用,也由于其寄居在其他操作系統(tǒng)之上,穩(wěn)定性和性能會有所下降,且宿主操作系統(tǒng)出現(xiàn)任何問題都會影響到Hypervisor,導致其上的虛擬機都無法使用。寄居架構的典型產(chǎn)品包括:VMware workstation、Microsoft Virtual PC、Oracle VirtualBox、Parallels Virtuozzo Containers等。兩種架構的結構如圖1所示:
1.3 部署適合臺站信息化的虛擬化產(chǎn)品
雖然寄居架構的Hypervisor選擇面比原生架構產(chǎn)品要多、商業(yè)軟件的授權費用更為低廉、亦可以選擇免費或開源的軟件產(chǎn)品、操作使用上也更為靈活,但在部署虛擬化時,我們更多的是關注運行在宿主機上面的虛擬機,而且完成動態(tài)資源分配、動態(tài)遷移、集群、服務高可用、負載均衡、熱備等企業(yè)級應用方面部署起來較為復雜。因此,在臺站氣象信息系統(tǒng)的虛擬化過程中不建議采用寄居架構的產(chǎn)品,而應選擇功能更強大、性能更優(yōu)越、服務更穩(wěn)定的原生架構虛擬化產(chǎn)品,以期提供更好的硬件資源利用率、完善的虛擬機管理平臺和與臺站異構環(huán)境集成等。
2 VMware虛擬化實現(xiàn)
2.1 主流虛擬化產(chǎn)品介紹
現(xiàn)階段主流x86原生架構的Hypervisor包括VMware vSphere、Microsoft Hyper-V、Citrix XenServer和RedHat KVM。VMware是最早將虛擬化技術從大型機引入x86架構的廠商,在業(yè)界占有較高的市場份額;Hyper-V是微軟提出的一種系統(tǒng)管理程序虛擬化技術,也是Windows Server2008 R2中的一個角色;Citrix XenServer其核心Xen是劍橋大學開發(fā)的一個開源Hypervisor,Xen對系統(tǒng)資源的占用是所有主流產(chǎn)品中最小的;RedHat KVM即基于內(nèi)核的虛擬機(Kernel-based Virtual Machine),由Linux內(nèi)核模塊實現(xiàn)[9-13]。
2.2 VMware vSphere虛擬化環(huán)境搭建
vSphere的各個組件均可在VMware網(wǎng)站上下載,搭建VMware vSphere虛擬化環(huán)境,本地至少需要準備一臺x86硬件服務器,vSphere高級功能如FT、TXT、VSA和IO直取等對硬件有更為苛刻的要求,部署時要根據(jù)兼容性列表檢查服務器硬件的配置。ESXi的入門級功能對用戶是免費的,在其網(wǎng)站上可申請到許可證,而高級版本和vCenter Server也提供了60天的試用期,足以評估虛擬化技術在氣象信息系統(tǒng)應用上的改善效果。
2.2.1 安裝并使用ESXi
安裝ESXi的步驟與常規(guī)安裝操作系統(tǒng)的步驟基本一致,只需將下載的ISO文件刻錄成光盤,然后從光驅(qū)引導啟動服務器,在安裝程序指引下,配置存儲、網(wǎng)絡地址和管理員密碼即可完成,一個基本的虛擬化環(huán)境也就此創(chuàng)建完畢。在一臺Windows終端上安裝vSphere Client,通過網(wǎng)絡訪問ESXi主機,即可將Micaps服務器、公共氣象服務信息發(fā)布管理系統(tǒng)、SWAN服務器、OA辦公自動化系統(tǒng)等進行虛擬化遷移和應用。
2.2.2 安裝vCenter
使用vSphere Client訪問ESXi主機,只能對虛擬機做簡單創(chuàng)建、啟動、修改、刪除等基本操作。vCenter將多臺計算服務器的資源統(tǒng)一為集群,使得這些資源能夠在數(shù)據(jù)中心環(huán)境中的虛擬機之間實現(xiàn)共享,還可管理虛擬機在計算服務器上的分配,以及資源到給定計算服務器內(nèi)虛擬機的分配,并提供更全面的數(shù)據(jù)中心管理功能。
在安裝好Windows Server2008 R2的服務器上,放入vCenter的安裝光盤,在安裝程序引導下,配置數(shù)據(jù)庫和管理口令,對大部分的縣市級應用系統(tǒng),選擇中小規(guī)模部署即可,完成安裝后,通過vSphere Client訪問vCenter,在主頁上即可看到主機、網(wǎng)絡、集群和分布式應用等豐富的數(shù)據(jù)中心管理功能。
3 虛擬化的高級應用
上述部署好ESXi主機和vCenter之后,一個虛擬化的氣象信息系統(tǒng)業(yè)已構建起來,但由于數(shù)據(jù)和計算資源都集中在一臺主機上,一旦主機發(fā)生硬件故障,業(yè)務仍然會出現(xiàn)較長時間的中斷,配置兩臺以上的計算服務器和獨立存儲系統(tǒng),可以大大加強系統(tǒng)的可靠性。
3.1 創(chuàng)建數(shù)據(jù)中心
在vCenter Server中先創(chuàng)建一個數(shù)據(jù)中心,然后創(chuàng)建集群,依次添加ESXi主機,創(chuàng)建或遷移來自物理服務器的虛擬機,即可完成一個虛擬化集群的應用。虛擬化氣象數(shù)據(jù)中心的應用如圖2所示:
3.2 服務高可用
創(chuàng)建集群的目的,是為了降低單點故障對業(yè)務系統(tǒng)的影響,服務高可用的定義是保護要求24小時在線的應用系統(tǒng),但可以允許有短暫的停機時間。vCenter在激活HA功能后,會在加入集群的主機中安裝HA代理,代理通過心跳網(wǎng)絡嗅探其他主機的運行狀態(tài),當心跳探測失敗時,主機根據(jù)算法釋放其管理的虛擬機,其他主機探測到共享存儲中的虛擬機文件已被解鎖,會將虛擬機重啟并納入其自身對外提供服務,從而實現(xiàn)服務高可用功能[16]。
根據(jù)主機的性能,在配置集群時勾選“打開vSphere HA”、調(diào)整集群中允許故障的主機數(shù)量、配置啟用HA的虛擬機,即可實現(xiàn)氣象信息系統(tǒng)的服務高可用。這里我們分別打開了氣象數(shù)據(jù)查詢系統(tǒng)、SWAN服務器、OA辦公自動化系統(tǒng)和氣象資料文件服務器的服務高可用。
3.3 容錯應用
現(xiàn)有的氣象信息系統(tǒng)中,最重要的應用包括Micaps服務器、公共氣象服務信息發(fā)布管理平臺以及對應的數(shù)據(jù)庫,由于服務高可用在探測到觸發(fā)執(zhí)行過程中,會出現(xiàn)短暫的服務中斷,為了確保上述應用不間斷,需要為其部署雙機熱備份。Fault Tolerance使用VMware vLockstep技術實現(xiàn)雙機熱備,虛擬機啟用FT后,會在集群的另一臺主機上創(chuàng)建一個相同的輔助虛擬機,vLockstep捕獲主虛擬機上發(fā)生的輸入和事件,并將這些輸入和事件發(fā)送給輔助虛擬機,兩臺虛擬機一起以虛擬鎖步方式運行并持續(xù)交換檢測信號,其中一臺故障時,主機都可以無中斷地接管任意IO和事件的執(zhí)行,從而提供容錯保護。
創(chuàng)建虛擬機后,單擊右鍵,選擇“Fault Tolerance”,“打開Fault Tolerance”即可打開容錯應用。
3.4 虛擬機備份與還原
vSphere將虛擬機封裝成虛擬機磁盤格式文件即VMDK,在虛擬機運行期間,VMDK是不斷在變化的,此時復制VMDK文件并不能完成虛擬機的備份,一旦VMDK出現(xiàn)錯誤或損壞,將導致虛擬機無法工作并出現(xiàn)生產(chǎn)數(shù)據(jù)丟失,因此,做好虛擬機的備份,也是確保應用系統(tǒng)數(shù)據(jù)安全的必要操作。VMware Data Recovery是實現(xiàn)虛擬機自動化備份的一種實現(xiàn)方式,VDR基于vCenter提供服務,執(zhí)行備份時,首先創(chuàng)建虛擬機文件快照,然后將快照文件克隆至目標存儲設備,實現(xiàn)磁盤數(shù)據(jù)級別的虛擬機備份和恢復。
在運行vSphere Client的客戶機上,放入VDR安裝光盤,根據(jù)安裝向?qū)瓿蒝DR插件的安裝,完成后使用vSphere Client重新連接vCenter,在“解決方案和應用程序”一欄可以看到VDR插件已經(jīng)安裝成功,再通過部署OVF模板的方式安裝導入VDR,根據(jù)向?qū)渲肰DR虛擬機,在vSphere Client上通過插件連接VDR,就可以創(chuàng)建虛擬機的備份或還原任務。
至此,一個完整的氣象信息系統(tǒng)虛擬化應用已構建完成,還可以嘗試將更多的物理系統(tǒng)遷移至虛擬化環(huán)境中,或者擴展為臺站氣象私有云應用。
4 結束語
服務器虛擬化技術能夠帶來諸多好處,利用該技術優(yōu)化氣象信息系統(tǒng)的建設是可行的。一方面能夠在一定程度上減少服務器的數(shù)量,提高服務器的資源利用率,降低臺站中心機房的維護成本;另一方面也提高了應用系統(tǒng)的服務質(zhì)量。臺站在實施過程中,可以充分利用現(xiàn)有的硬件設備,配合FreeNAS、Openfiler等軟件搭建多個iSCSI存儲系統(tǒng),用于構建低成本、高可用的虛擬化環(huán)境,因為購置高性能服務器、組建SAN環(huán)境的成本較高,且當可虛擬化的服務器達到一定數(shù)量后,虛擬化方案才有比較可觀的效益回報。
在部署服務器虛擬化時,還需檢查應用系統(tǒng)外接的設備可否被虛擬機所支持,綜合考慮各個系統(tǒng)的應用規(guī)模,避免將頻繁讀寫的應用放到同一臺宿主機或同一個存儲資源池、避免一臺宿主機上承載太多的虛擬機等,以免事倍功半。以佛山局為例,通過部署虛擬化,我們縮減了十多臺物理服務器,降低能耗、簡化了網(wǎng)絡和系統(tǒng)的維護管理,基于虛擬化環(huán)境中的高可用和定時備份,將信息系統(tǒng)的單點故障將至最低,使得各類業(yè)務應用的穩(wěn)定性和可靠性得到明顯的提升,依托這些穩(wěn)定的系統(tǒng),為各類氣象服務提供強有力的支持和保障。
參考文獻
[1]李來祥.服務器虛擬化在數(shù)據(jù)中心機房中的應用[J].計算機光盤軟件與應用,2010,6:108.
[2]袁志福,關曉軍,郭彩蓮.虛擬化技術在氣象信息系統(tǒng)中的應用[J].青海氣象,2009,04:45-47.
[3]耿新民,王少峰,許飛.基于VMware的高可用性集群在電力信息系統(tǒng)中的應用[J].上海電力學院學報,2010,26(2):193-196.
[4]VMware.虛擬化入門[OL]:http://www.vmware.com/cn/virtualization/.
[5]VMware.VMware vSphere4.1培訓教材[EB].
[6]胡嘉璽.虛擬智慧,VMware vSphere 運維實錄[M].北京:清華大學出版社.2011.
[7] 龔愛斐,張文靜.服務器主流虛擬化技術研究與比較[OL]: http://www.paper.edu.cn/index.php/default/releasepaper/content/200902-1191.
[8]wikipedia.Hypervisor介紹[OL]:http://en.wikipedia.org/wiki/Hypervisor.
[9]xjtumstc.服務器虛擬化[OL]:http://wiki.xjtumstc.com/服務器虛擬化.
[10]VMware.VMware vSphere基礎[OL]:http://www.vmware.com/cn/support/pubs.
[11] wikipedia.Hyper-V[OL]:http://en.wikipedia.org/wiki/Hyper-V.
[12]宋吉廣.Linux內(nèi)核虛擬化KVM詳解[J].軟件世界,2007,6(5):48.
[13]崔澤永,趙會群,基于KVM的虛擬化研究與應用[J].計算機技術與發(fā)展,2011,06:108-115.
[14]鄭海斌.虛擬化工程應用及效益分析[J].計算機光盤軟件與應用.2010,14:33-35.
作者簡介:陸明典(1984年生),男,助理工程師,學士,主要從事氣象信息網(wǎng)絡和軟件開發(fā)等方面的研究。