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