董柯芳,瞿 青,錢炎超
(浙江中控技術(shù)股份有限公司研發(fā)中心,浙江 杭州 310051)
在傳統(tǒng)的分布式控制系統(tǒng)(distributed control system,DCS)的實(shí)際應(yīng)用中,存在計(jì)算機(jī)硬件和操作系統(tǒng)的更新速度與上位機(jī)系統(tǒng)軟件的更新速度脫節(jié)的情況。物理機(jī)一旦部署,更新?lián)Q代較為困難,會(huì)造成資源、成本的浪費(fèi)[1]。目前,很多DCS供應(yīng)商已經(jīng)大規(guī)模采用工作站虛擬化部署方案代替計(jì)算機(jī)的方式,以緩解計(jì)算機(jī)、操作系統(tǒng)的更新?lián)Q代壓力,降低用戶的硬件、安裝和維護(hù)成本,提升系統(tǒng)維護(hù)的效率。
中控提出的ECS-700控制系統(tǒng)虛擬化解決方案,將控制系統(tǒng)工作安排與虛擬化技術(shù)有機(jī)整合,通過(guò)采用瘦客戶機(jī)(即小型行業(yè)專用商用計(jì)算機(jī))訪問(wèn)虛擬機(jī),實(shí)現(xiàn)了對(duì)傳統(tǒng)物理機(jī)作為控制系統(tǒng)工作站方式的替代。該方案在幫助工業(yè)企業(yè)降低成本的同時(shí),提高了自動(dòng)化水平和設(shè)備可靠性。
不同于基本的軟件測(cè)試,虛擬化方案的測(cè)試需要考慮更多方面。本文設(shè)計(jì)的測(cè)試方法以方案架構(gòu)及實(shí)施為基礎(chǔ),從不同角度出發(fā),包括:虛擬化平臺(tái)自身的實(shí)用性和穩(wěn)定性;控制系統(tǒng)軟件部署在虛擬化平臺(tái)上的運(yùn)行情況;瘦客戶機(jī)連接及其他外部設(shè)備等多個(gè)層面的測(cè)試內(nèi)容。
ECS-700控制系統(tǒng)的虛擬化涉及將控制系統(tǒng)的操作員站、工程師站等節(jié)點(diǎn)分配給虛擬機(jī)而不是物理機(jī)。因此,必須根據(jù)控制系統(tǒng)及相關(guān)工作站的部署方式,設(shè)計(jì)合理的虛擬化架構(gòu),繼而搭建測(cè)試環(huán)境[2]。
通過(guò)虛擬化部署的控制系統(tǒng)的關(guān)鍵點(diǎn)是添加虛擬化架構(gòu)。虛擬化架構(gòu)由管理系統(tǒng)所需的軟硬件組成,包括ESXi 主機(jī)、vSphere Client及 VCenter Server等。其中:vSphere是VMware的一套解決方案,其兩個(gè)核心組件是ESXi(Hypervisor)和VCenter Server;vSphere Client是虛擬機(jī)操作平臺(tái)軟件[3]。ECS-700控制系統(tǒng)工作站虛擬化架構(gòu)如圖1所示。
圖1 ECS-700控制系統(tǒng)工作站虛擬化架構(gòu)圖
控制系統(tǒng)工作站虛擬化方案只是對(duì)控制系統(tǒng)工作站進(jìn)行虛擬化,并未改變下位機(jī)控制站的環(huán)境,實(shí)現(xiàn)簡(jiǎn)便,提升了可行性。整體架構(gòu)從下至上可分為三層,分別是控制節(jié)點(diǎn)層、虛擬化服務(wù)器集群層和終端層。
①控制節(jié)點(diǎn)層。該層布署控制節(jié)點(diǎn)及其相關(guān)控制網(wǎng)絡(luò),部署方式與傳統(tǒng)控制系統(tǒng)下位機(jī)一致。
②虛擬化服務(wù)器集群層。該層包括生產(chǎn)服務(wù)器群和備份服務(wù)器,采用的是VMware vSphere虛擬化平臺(tái)。其中,生產(chǎn)服務(wù)器群的作用是為虛擬化平臺(tái)及運(yùn)行在該平臺(tái)上的虛擬機(jī)提供硬件。虛擬機(jī)可作為工程師站、操作員站等備份服務(wù)器,對(duì)生產(chǎn)服務(wù)器的運(yùn)行數(shù)據(jù)進(jìn)行相應(yīng)的存儲(chǔ)備份,從而保障數(shù)據(jù)的安全運(yùn)行。在網(wǎng)絡(luò)連接部分,生產(chǎn)服務(wù)器除了配置虛擬化平臺(tái)管理相關(guān)的網(wǎng)絡(luò),還需要預(yù)留兩個(gè)網(wǎng)口,用于連接控制網(wǎng)。
③終端層。終端連接設(shè)備用于連接服務(wù)器上創(chuàng)建的虛擬機(jī),在確保瘦客戶機(jī)與虛擬機(jī)網(wǎng)絡(luò)連通的前提下,通過(guò)遠(yuǎn)程桌面協(xié)議(remote desktop protocol,RDP)等通信協(xié)議連接虛擬機(jī),作為工程師站、操作員站等。
ECS-700控制系統(tǒng)虛擬化方案重點(diǎn)關(guān)注虛擬化環(huán)境與ECS-700系統(tǒng)上位機(jī)軟件和相關(guān)配套軟件的兼容性,以及軟件的典型組態(tài)在虛擬化環(huán)境長(zhǎng)期運(yùn)行的穩(wěn)定性及性能。除此之外,還需對(duì)虛擬化平臺(tái)基礎(chǔ)功能、虛擬化環(huán)境配套ECS-700系統(tǒng)上位機(jī)軟件時(shí)的網(wǎng)絡(luò)劃分及網(wǎng)絡(luò)延時(shí)、瘦客戶機(jī)訪問(wèn)、Avamar備份軟件基本功能等進(jìn)行測(cè)試。ECS-700控制系統(tǒng)虛擬化方案主要測(cè)試項(xiàng)如圖2所示。
圖2 ECS-700控制系統(tǒng)虛擬化方案主要測(cè)試項(xiàng)
本文對(duì)比物理機(jī)上ECS-700上位機(jī)軟件的測(cè)試場(chǎng)景和實(shí)際結(jié)果,測(cè)試ECS-700系統(tǒng)工作站虛擬化部署標(biāo)準(zhǔn)化方案的可行性。針對(duì)提煉出的測(cè)試重點(diǎn)拓展測(cè)試內(nèi)容,可有效保障測(cè)試設(shè)計(jì)的充分性和完整性[4]。
由于增加了虛擬化服務(wù)集群,網(wǎng)絡(luò)結(jié)構(gòu)與使用計(jì)算機(jī)時(shí)不同。對(duì)此,需要驗(yàn)證虛擬化網(wǎng)絡(luò)對(duì)控制系統(tǒng)軟件沒(méi)有影響,并比較與物理架構(gòu)網(wǎng)絡(luò)延遲的差異。
3.1.1 虛擬交換機(jī)測(cè)試
VMware虛擬化平臺(tái)提供了標(biāo)準(zhǔn)交換機(jī)和分布式交換機(jī)兩種虛擬交換機(jī)類型,用于提供主機(jī)和虛擬機(jī)的網(wǎng)絡(luò)連接,以及管理虛擬機(jī)的流量。其中:標(biāo)準(zhǔn)交換機(jī)可以檢測(cè)與其虛擬端口進(jìn)行邏輯相連的交換機(jī),只在本地有效,且只能被一臺(tái)主機(jī)識(shí)別并使用;分布式交換機(jī)用于連接虛擬機(jī)端口,可以跨主機(jī)進(jìn)行交換,在虛擬機(jī)之間進(jìn)行內(nèi)部流量轉(zhuǎn)發(fā)或通過(guò)連接到上行鏈路連通外部網(wǎng)絡(luò)。
①為單臺(tái)ESXi主機(jī)配置標(biāo)準(zhǔn)交換機(jī),分配上行鏈路并添加端口組,從而測(cè)試添加該網(wǎng)口的虛擬機(jī)之間的網(wǎng)絡(luò)能否連通。
②創(chuàng)建分布式交換機(jī),將所有主機(jī)都添加在該交換機(jī)下并分配上行鏈路,從而測(cè)試單臺(tái)主機(jī)和不同主機(jī)之間各網(wǎng)段能否正常通信。
3.1.2 端口組策略設(shè)置測(cè)試
端口組策略的設(shè)置內(nèi)容包括混雜模式、MAC地址更改、偽傳輸。本文使用控制變量的方式嘗試每種設(shè)置,在保證虛擬機(jī)各網(wǎng)段通信正常的同時(shí),還需測(cè)試控制系統(tǒng)軟件中不同虛擬機(jī)之間的數(shù)據(jù)傳輸情況,如ECS-700控制系統(tǒng)軟件的組態(tài)發(fā)布功能和監(jiān)控實(shí)時(shí)值。
3.1.3 網(wǎng)絡(luò)延遲測(cè)試
網(wǎng)絡(luò)框架搭建完成后,本文采用ping命令查看各網(wǎng)段,測(cè)試網(wǎng)絡(luò)延遲。虛擬化網(wǎng)絡(luò)架構(gòu)如圖3所示。
圖3 虛擬化網(wǎng)絡(luò)架構(gòu)圖
為保證虛擬機(jī)以及控制系統(tǒng)軟件在虛擬機(jī)上的運(yùn)行性能,在服務(wù)器上創(chuàng)建虛擬機(jī)時(shí)需要注意服務(wù)器的CPU、內(nèi)存、存儲(chǔ)等基本信息,并根據(jù)ECS-700控制系統(tǒng)上位機(jī)軟件的標(biāo)準(zhǔn)配置,計(jì)算在該配置下一臺(tái)ESXi主機(jī)可以創(chuàng)建并運(yùn)行多少臺(tái)虛擬機(jī)。在保證使用的CPU、內(nèi)存、存儲(chǔ)小于總數(shù)時(shí),還要測(cè)試各虛擬機(jī)在運(yùn)行狀態(tài)下是否擁有良好的性能[5]。
由于虛擬機(jī)沒(méi)有物理連接,監(jiān)視器、鼠標(biāo)和鍵盤不能直接連接,而是使用瘦客戶機(jī)通過(guò)網(wǎng)絡(luò)遠(yuǎn)程連接到虛擬機(jī)。因此,需要測(cè)試瘦客戶機(jī)連接虛擬機(jī)后,虛擬機(jī)在單屏、雙屏、四屏等多種情況下的響應(yīng)速度和流暢度是否與物理機(jī)相近,從而測(cè)試出一臺(tái)瘦客戶機(jī)同時(shí)連接虛擬機(jī)的最大數(shù)量。
3.3.1 響應(yīng)速度、操作流暢度測(cè)試
瘦客戶機(jī)作為終端連接各工程師站和操作員站,操作的流暢度和靈敏性是用戶的關(guān)注重點(diǎn)。采用對(duì)比測(cè)試的方式,比較通過(guò)瘦客戶機(jī)連接的方式和直接使用物理機(jī)的延遲是否接近,以及控制系統(tǒng)監(jiān)控軟件能否流暢運(yùn)行。
3.3.2 并發(fā)訪問(wèn)測(cè)試
并發(fā)訪問(wèn)測(cè)試[6]是在虛擬機(jī)和控制系統(tǒng)軟件能正常運(yùn)行的情況下,測(cè)試一臺(tái)瘦客戶機(jī)最多同時(shí)能連接幾臺(tái)虛擬機(jī)。
3.3.3 雙屏、四屏環(huán)境測(cè)試
不同的瘦客戶機(jī)型號(hào)支持連接的最大顯示器數(shù)量不一樣。對(duì)此,使用wyse3040連接單、雙屏使用,模擬現(xiàn)場(chǎng)單、雙屏連接場(chǎng)景;使用wyse5070連接四屏使用,模擬現(xiàn)場(chǎng)四屏連接場(chǎng)景。
為保證數(shù)據(jù)的安全性,需要對(duì)備份恢復(fù)功能進(jìn)行測(cè)試,保證備份數(shù)據(jù)的完整、正確。該方案選用的備份軟件為Avamar。當(dāng)生產(chǎn)服務(wù)器運(yùn)行異常時(shí),可以從備份服務(wù)器上獲取工程師站、操作員站等虛擬機(jī)數(shù)據(jù),在生產(chǎn)服務(wù)器上加載運(yùn)行。
3.4.1 備份功能測(cè)試
備份模式包括增量備份、完全備份、自動(dòng)備份(按照配置的備份策略進(jìn)行備份)、手動(dòng)備份。首先,測(cè)試備份任務(wù)能否正確執(zhí)行;備份完成后,查看備份數(shù)據(jù)的正確性和完整性。
3.4.2 備份恢復(fù)
備份內(nèi)容恢復(fù)的方式包括恢復(fù)到原始虛擬機(jī)、恢復(fù)到另一臺(tái)已有的虛擬機(jī)和恢復(fù)到新的虛擬機(jī)。備份恢復(fù)測(cè)試是通過(guò)比對(duì)恢復(fù)前后的內(nèi)容,驗(yàn)證備份恢復(fù)的正確性和完整性,
3.4.3 備份性能測(cè)試
當(dāng)備份內(nèi)容較多時(shí),記錄備份時(shí)間,觀察服務(wù)器端和用戶端的CPU使用率和網(wǎng)絡(luò)使用率。
瘦客戶機(jī)連接虛擬機(jī)的方式不同于傳統(tǒng)計(jì)算機(jī),還需對(duì)外部連接設(shè)備進(jìn)行測(cè)試,保證設(shè)備能在瘦客戶機(jī)上使用,包括存儲(chǔ)設(shè)備、狗授權(quán)設(shè)備(物理狗、網(wǎng)絡(luò)狗)、操作員鍵盤等。
確??刂葡到y(tǒng)軟件在該平臺(tái)虛擬機(jī)上能夠正常運(yùn)行并使用,是驗(yàn)證該方案可行性的基礎(chǔ)。將基本功能測(cè)試和性能測(cè)試的結(jié)果與物理機(jī)上的結(jié)果進(jìn)行對(duì)比,可保證功能使用正常且性能基本相似。此外,還要進(jìn)行長(zhǎng)期測(cè)試,驗(yàn)證軟件在虛擬機(jī)上能夠長(zhǎng)期、穩(wěn)定運(yùn)行。
3.6.1 基本功能測(cè)試
基本功能測(cè)試方法和內(nèi)容與在物理機(jī)上部署時(shí)一致。如果相關(guān)軟件的自動(dòng)化測(cè)試[7]腳本已經(jīng)比較成熟,可以利用自動(dòng)化測(cè)試代替手工進(jìn)行基本功能驗(yàn)證。
3.6.2 性能測(cè)試
性能測(cè)試是使用現(xiàn)場(chǎng)組態(tài),通過(guò)比對(duì)物理機(jī)的測(cè)試結(jié)果,檢驗(yàn)虛擬機(jī)的性能是否通過(guò)。
3.6.3 長(zhǎng)期測(cè)試
長(zhǎng)期測(cè)試是使用典型組態(tài)規(guī)模,利用自動(dòng)化腳本涵蓋監(jiān)控軟件的主要功能,持續(xù)運(yùn)行規(guī)定時(shí)間(一般為2周),查看軟件是否正常運(yùn)行、虛擬機(jī)性能狀態(tài)以及有無(wú)資源泄漏、內(nèi)存持續(xù)增長(zhǎng)等情況。使用vCenter配置一定閾值的監(jiān)控事件報(bào)警,以查看長(zhǎng)期測(cè)試過(guò)程中報(bào)警的觸發(fā)次數(shù)及觸發(fā)原因。
現(xiàn)場(chǎng)使用過(guò)程中,可能會(huì)出現(xiàn)異常斷電或服務(wù)器宕機(jī)等情況。因此,需要驗(yàn)證在出現(xiàn)該類異常情況時(shí),虛擬化平臺(tái)是否能夠正常恢復(fù),即進(jìn)行異常場(chǎng)景測(cè)試[8]。這可以通過(guò)斷電重啟的方式模擬異常場(chǎng)景。場(chǎng)景設(shè)計(jì)包括單臺(tái)生產(chǎn)服務(wù)器斷電、兩臺(tái)生產(chǎn)服務(wù)器斷電、備份服務(wù)器斷電。
目前,控制系統(tǒng)工作站虛擬化的方案已在現(xiàn)場(chǎng)實(shí)施部署,有效幫助用戶解決了傳統(tǒng)物理機(jī)作為控制系統(tǒng)工作站帶來(lái)的問(wèn)題。
現(xiàn)已有將近十個(gè)現(xiàn)場(chǎng)在使用該方案。典型現(xiàn)場(chǎng)試用案例有邯鋼老區(qū)退城整合項(xiàng)目。經(jīng)現(xiàn)場(chǎng)反饋,采用控制系統(tǒng)工作站虛擬化方案極大地簡(jiǎn)化了部署和配置,節(jié)省了時(shí)間和精力,降低了維護(hù)和管理成本。該測(cè)試設(shè)計(jì)涵蓋現(xiàn)場(chǎng)使用的各個(gè)階段,保證了虛擬化平臺(tái)以及控制系統(tǒng)軟件的正常運(yùn)行。
控制系統(tǒng)工作站虛擬化方案在現(xiàn)場(chǎng)使用情況正常、穩(wěn)定,與測(cè)試結(jié)果相符,虛擬化平臺(tái)及虛擬機(jī)自身的穩(wěn)定性和安全性較高,工程師站、操作員站可在虛擬機(jī)上正常運(yùn)行。在該方案的虛擬化平臺(tái)及配套硬件基礎(chǔ)上,DCS控制軟件能夠長(zhǎng)期高性能運(yùn)行;瘦客戶機(jī)采用RDP協(xié)議連接虛擬機(jī)使用,操作無(wú)卡頓,軟件運(yùn)行流暢。
控制系統(tǒng)工作站虛擬化方案在現(xiàn)場(chǎng)的成功應(yīng)用,證明了本文測(cè)試方法的完整性和可靠性[9],也充分體現(xiàn)了該方案的可行性和優(yōu)勢(shì)。
測(cè)試設(shè)計(jì)的完整性保證了虛擬化方案在現(xiàn)場(chǎng)的正常使用。通過(guò)測(cè)試可以發(fā)現(xiàn)少許控制系統(tǒng)在虛擬機(jī)上運(yùn)行的特有缺陷,且控制系統(tǒng)軟件對(duì)虛擬化平臺(tái)存在特殊設(shè)置要求(如分布式交換機(jī)的安全配置),因此有效提高了虛擬化方案的安全性和可靠性[10]。虛擬化技術(shù)與控制系統(tǒng)工作站的結(jié)合打破了操作系統(tǒng)和物理硬件之間的從屬關(guān)系。經(jīng)測(cè)試驗(yàn)證和現(xiàn)場(chǎng)使用反饋,在控制系統(tǒng)工作站中引入虛擬化技術(shù),不僅能完全替代傳統(tǒng)工作站的部署方式、緩解操作系統(tǒng)和計(jì)算機(jī)更新?lián)Q代的壓力,還能有效提升系統(tǒng)維護(hù)的效率以及計(jì)算機(jī)資源的利用率、延長(zhǎng)系統(tǒng)的壽命。該研究有利于企業(yè)減員增效。