馬千里
摘 要:該文主要介紹了虛擬機(jī)技術(shù),闡述了準(zhǔn)虛擬化技術(shù)和泛虛擬化技術(shù)的工作原理,并針對這兩項技術(shù)進(jìn)行了對比。在此理論基礎(chǔ)上,著重描述了虛擬化技術(shù)在上海磁浮線上的應(yīng)用。與一般情況下使用虛擬機(jī)技術(shù)以達(dá)到節(jié)約成本的目的不同,上海磁浮線虛擬機(jī)技術(shù)應(yīng)用完全是為了解決實際中遇到的硬件和軟件兼容性問題。該文以上海磁浮線升級改造項目作為一個實際案例,為虛擬機(jī)技術(shù)的實際應(yīng)用拓寬思路,也為遇到類似問題的企業(yè)提供一個解決途徑。
關(guān)鍵詞:虛擬機(jī)技術(shù) 準(zhǔn)虛擬化技術(shù) 完全虛擬化技術(shù) 上海磁浮線
中圖分類號:U237 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2014)12(b)-0014-02
1 虛擬機(jī)技術(shù)簡介
傳統(tǒng)方式下運(yùn)行一臺計算機(jī)需要一個操作系統(tǒng),而無論選擇windows還是linux操作系統(tǒng),都無法實現(xiàn)直接在windows操作系統(tǒng)上直接運(yùn)行l(wèi)inux操作系統(tǒng),反之亦然。一般情況,安裝了雙系統(tǒng)的計算機(jī),只能通過重啟計算機(jī)硬件來切換操作系統(tǒng)。然而,隨著計算機(jī)應(yīng)用的普及,越來越多的企業(yè)服務(wù)器或者個人電腦都需要跨平臺(即多操作系統(tǒng))使用計算機(jī)。用戶的需求促進(jìn)了虛擬機(jī)技術(shù)的飛速發(fā)展。
虛擬機(jī)技術(shù)的主要原理是在現(xiàn)有的計算機(jī)硬件平臺上,通過安裝一個虛擬機(jī)監(jiān)控(Virtual Machine Monitor,VMM)軟件來實現(xiàn)虛擬一個新的操作系統(tǒng)。對于使用者來說,使用虛擬的操作系統(tǒng)就像在一臺獨(dú)立計算機(jī)硬件上運(yùn)行操作系統(tǒng)完全一樣,擁有獨(dú)立的CPU、內(nèi)存、硬盤等硬件。不過,這些硬件都是虛擬出來的,除了內(nèi)存必須劃出獨(dú)立的物理內(nèi)存供虛擬操作系統(tǒng)使用,其他硬件都是底層操作系統(tǒng)和虛擬操作系統(tǒng)共享的。
根據(jù)VMM軟件運(yùn)行方式的不同,可以將虛擬機(jī)技術(shù)分為兩大類。第一類稱之為準(zhǔn)虛擬化(Para-virtualization,PV),此類VMM軟件集成在主操作系統(tǒng)中,在運(yùn)行VMM軟件時,客戶操作系統(tǒng)就可以直接訪問計算機(jī)硬件,從而提高客戶操作系統(tǒng)的訪問和處理速度以及穩(wěn)定性;第二類稱之為完全虛擬化(Full-virtualization,F(xiàn)V),該類VMM軟件等同于主操作系統(tǒng)的一個應(yīng)用程序,在運(yùn)行VMM軟件時,客戶操作系統(tǒng)需要通過VMM軟件這個媒介間接訪問計算機(jī)硬件。相比之下,準(zhǔn)虛擬化由于VMM軟件直接訪問硬件設(shè)備,所以相對完全虛擬化具有更好的性能和穩(wěn)定性。兩種類型虛擬機(jī)結(jié)構(gòu)圖示意圖如圖1所示。
虛擬機(jī)技術(shù)的優(yōu)點也得到了廣泛的共識,并應(yīng)用于諸多領(lǐng)域。虛擬機(jī)技術(shù)最廣泛的被網(wǎng)站運(yùn)營商和游戲運(yùn)營商所使用,由于網(wǎng)絡(luò)運(yùn)營商是根據(jù)服務(wù)器機(jī)柜數(shù)量收取租賃費(fèi)用,所以為了節(jié)約成本,網(wǎng)站運(yùn)營商和游戲運(yùn)營商使用虛擬機(jī)技術(shù),利用有限的硬件服務(wù)器虛擬出幾十甚至上百臺服務(wù)器來,從而大大地節(jié)約了運(yùn)營成本。此外,一些軟件開發(fā)人員利用虛擬機(jī)對開發(fā)軟件進(jìn)行兼容性測試。在我國,由于高校招生規(guī)模擴(kuò)張,學(xué)校的硬件資源緊缺,虛擬機(jī)技術(shù)也被廣泛地應(yīng)用在學(xué)校的教學(xué)實驗室。
2 上海磁浮線的虛擬機(jī)技術(shù)應(yīng)用
上海磁浮線在2014年對列車牽引供電監(jiān)控和診斷系統(tǒng)進(jìn)行了改造升級,此次升級主要是將虛擬機(jī)技術(shù)應(yīng)用于牽引供電監(jiān)控系統(tǒng)的10臺服務(wù)器和17臺客戶端計算機(jī)。上海磁浮線采用了VMware公司的虛擬機(jī)軟件。
2.1 上海磁浮線牽引供電監(jiān)控和診斷系統(tǒng)簡介
上海磁浮線牽引監(jiān)控系統(tǒng)采用西門子SIMATIC WinCC軟件。其中,牽引WinCC系統(tǒng)主要負(fù)責(zé)磁浮線高功率變頻器(12臺)、中功率變頻器(2臺)和低功率變頻器(2臺)的運(yùn)行監(jiān)控工作;供電WinCC系統(tǒng)主要負(fù)責(zé)整個110kV供電網(wǎng)絡(luò)以及母排以上350kV市政供電開關(guān)的運(yùn)行監(jiān)控工作。
上海磁浮線列車牽引供電的監(jiān)控和診斷設(shè)備如表1。
2.2 改造背景
上海磁浮快速列車項目牽引供電監(jiān)控和診斷系統(tǒng)的所有計算機(jī)硬件需替換,原因在于線上使用的監(jiān)控和診斷計算機(jī)硬件正處于老化階段,故障率上升,而庫存?zhèn)浼饾u用盡,該類硬件在市面上面臨停產(chǎn)威脅。
改造面臨著一大難題。一方面,由于上海磁浮線建設(shè)于2000年,當(dāng)時的操作系統(tǒng)為windows2000,新采購的替換硬件如果安裝windows2000則會因為缺少驅(qū)動以及原有牽引供電監(jiān)控系統(tǒng)軟件的非兼容性而不可使用,所以需要采用新的操作系統(tǒng)。另一方面,原有軟件又不能運(yùn)行在新的操作系統(tǒng)例如windows7,特別是X64版本。且經(jīng)過第三方評估,這些軟件已明確不能在新版本的操作系統(tǒng)上得到許可使用。替換新硬件因為兼容性問題所以必須升級操作系統(tǒng),而升級了操作系統(tǒng)原有軟件又無法運(yùn)行,這個矛盾的問題十分棘手。
為此改造必須找到一個解決方案,解決上述問題。另外,從長遠(yuǎn)方面考慮,由于硬件和操作系統(tǒng)發(fā)展日新月異,未來還將面臨硬件更新以及操作系統(tǒng)版本陳舊的問題,還需要進(jìn)一步確保在將來更新升級硬件和操作系統(tǒng)的可行性。
為了解決上述一系列問題,最終形成了應(yīng)用虛擬機(jī)技術(shù)的改造方案。將牽引供電監(jiān)控系統(tǒng)升級成新軟件版本(診斷系統(tǒng)軟件仍采用舊版本),并在虛擬計算機(jī)環(huán)境中運(yùn)行而不依賴于將來硬件的變化,這樣,在未來系統(tǒng)可以很容易地升級硬件版本。并且,那些沒有升級新版本的系統(tǒng)軟件或在新操作系統(tǒng)下無許可的其它系統(tǒng)軟件,也可以在虛擬計算機(jī)環(huán)境中舊的操作系統(tǒng)下運(yùn)行使用。
2.3 虛擬化方案
上海磁浮線牽引供電監(jiān)控和診斷系統(tǒng)升級項目中,10臺牽引供電監(jiān)控服務(wù)器全部采用準(zhǔn)虛擬化(PV)結(jié)構(gòu),軟件選取VMware ESXI V5.0;其余17臺牽引供電監(jiān)控客戶端、牽引供電中央和分區(qū)診斷計算機(jī)、OTN診斷計算機(jī)和網(wǎng)絡(luò)計算機(jī)均采用完全虛擬化(FV)結(jié)構(gòu),軟件選取VMware Workstation V9.0,如表2。
2.3.1 牽引和供電監(jiān)控服務(wù)器虛擬化
在此次牽引和供電服務(wù)器升級改造項目中,WinCC服務(wù)器從WinCC5.1 SP1升級到WinCC7.0 SP3版本,相應(yīng)地,虛擬機(jī)的客戶操作系統(tǒng)為Microsoft Windows Server 2008 R2(64位版本)。endprint
利用VMware的程序管理ESXI5.0完成虛擬化,此方案具有高可靠性低功耗特點。虛擬機(jī)在ESXI上運(yùn)行,并通過Direct I/O技術(shù),直接連接到必要的Profibus CP5613 A2硬件上。串口和LAN口作為虛擬硬件設(shè)置在虛擬機(jī)內(nèi)。虛擬機(jī)的操作系統(tǒng)和軟件配置與未虛擬化的WinCC服務(wù)器相同。
可直接操作的WinCC服務(wù)器不配置顯示器,虛擬服務(wù)器通過VNC進(jìn)行遠(yuǎn)程管理。通過VMware vSphere 客戶端實現(xiàn)ESXI Hypervisor遠(yuǎn)程管理。在開啟關(guān)斷或者配置操作虛擬機(jī)時,如果須與客戶操作系統(tǒng)或者ESXI軟件交互操作,則使用VMware vSphere客戶端。此客戶程序安裝在網(wǎng)絡(luò)計算機(jī)(NET-CC-1, NET-CC-2)。如果需與服務(wù)器計算機(jī)發(fā)生任何直接交互操作,都通過網(wǎng)絡(luò)計算機(jī)完成。
2.3.2 牽引和供電監(jiān)控多客戶端虛擬化
在此次牽引和供電多客戶端升級改造項目中,WinCC客戶端同WinCC服務(wù)器相同,也是升級到WinCCV7.0SP3版本,WinCC多客戶端使用Windows7SP1(X64)作為客戶操作系統(tǒng)。
在兩臺監(jiān)控器上直接操作WinCC,采用VMware Workstation 9.0作為虛擬軟件完成虛擬化改造。主操作系統(tǒng)是windows 7 SP1 (X64)。windows7系統(tǒng)環(huán)境下,通過以太網(wǎng),利用NTP-client完成時間同步。
2.3.3牽引和供電中央/分區(qū)診斷計算機(jī)虛擬化
所有診斷計算機(jī)升級改造方式和監(jiān)控客戶端升級改造方式相同,采用完全虛擬化(FV)結(jié)構(gòu)。由于診斷軟件無需更新,所以所有新計算機(jī)將在原有的操作系統(tǒng),原診斷軟件及原有內(nèi)在配置下安裝虛擬機(jī)。主操作系統(tǒng)為windows 7 X64,安裝VMware Workstation 9.0運(yùn)行虛擬機(jī)。
2.3.4OTN診斷計算機(jī)虛擬化
為確保安裝在上海的OTN診斷軟件與OTN部件的兼容性,此次升級改造項目中,所有OTN軟件版本未作改變。為此,新的計算機(jī)將在原有操作系統(tǒng)下,且保留原有OTN診斷軟件及內(nèi)在配置,安裝虛擬機(jī)。主操作系統(tǒng)為windows 7 x64,安裝VMware Workstation 9.0運(yùn)行虛擬機(jī)。
2.3.5網(wǎng)絡(luò)計算機(jī)虛擬化
為確保網(wǎng)絡(luò)配置軟件與安裝在上海的網(wǎng)絡(luò)部件的兼容性,此次升級改造項目中,網(wǎng)絡(luò)計算機(jī)在原有操作系統(tǒng)下,且保留原有軟件及內(nèi)在配置,安裝虛擬機(jī)。主操作系統(tǒng)為windows 7 x64,安裝VMware Workstation 9.0運(yùn)行虛擬機(jī)。
為管理VMware ESXI服務(wù)器安裝在牽引供電監(jiān)控WinCC服務(wù)器上的虛擬機(jī),安裝VMware vSphere Client在網(wǎng)絡(luò)計算機(jī)上。這樣,WinCC服務(wù)器的應(yīng)用進(jìn)程可通過網(wǎng)絡(luò)在兩臺網(wǎng)絡(luò)計算機(jī)上查看,或者也可以在網(wǎng)絡(luò)內(nèi)其他計算機(jī)上使用Win VNC查看。
3 結(jié)語
與一般情況下使用虛擬機(jī)技術(shù)以達(dá)到節(jié)約成本的目的不同,上海磁浮線牽引供電監(jiān)控和診斷系統(tǒng)升級改造項目使用了虛擬機(jī)技術(shù),完全是從自身實際情況出發(fā),解決了目前軟硬件兼容以及未來再次升級的兼容性問題。該文以上海磁浮線升級改造項目作為一個實際案例,為虛擬機(jī)技術(shù)的實際應(yīng)用拓寬思路,也為有類似問題的企業(yè)提供一個解決途徑。
參考文獻(xiàn)
[1] 董耀祖,周正偉.基于X86架構(gòu)的系統(tǒng)虛擬機(jī)技術(shù)與應(yīng)用[J].計算機(jī)工程,2006,32(13):71-73.
[2] 劉愛軍,耿國華.基于x86的虛擬機(jī)技術(shù)現(xiàn)狀、應(yīng)用及展望[J].計算機(jī)技術(shù)與發(fā)展,2007,17(11):250-252.
[3] 王建紅,趙麗紅.淺論虛擬化及其應(yīng)用[J].科技廣場,2007(7):238-239.endprint