董一?王景德?昝文彬?陳建寧
摘要:地震資料處理、解釋工作中經(jīng)常需要同時(shí)使用Linux和Windows操作系統(tǒng)上運(yùn)行的軟件。傳統(tǒng)的工作方式Linux操作系統(tǒng)生產(chǎn)工作站使用Windows操作系統(tǒng)辦公電腦的軟件只能通過(guò)兩臺(tái)獨(dú)立的主機(jī)來(lái)完成。使用Xmanager軟件完成辦公電腦遠(yuǎn)程控制生產(chǎn)工作站的方式,加載數(shù)據(jù)量過(guò)大就會(huì)導(dǎo)致軟件崩潰等情況發(fā)生。通過(guò)對(duì)跨平臺(tái)協(xié)作軟件的研究,最終使用虛擬機(jī)軟件實(shí)現(xiàn)了在生產(chǎn)工作站上使用辦公電腦的軟件。使用VNC軟件實(shí)現(xiàn)了穩(wěn)定、高效的辦公電腦對(duì)生產(chǎn)工作站的遠(yuǎn)程控制,極大地提高了工作效率。
關(guān)鍵詞:跨平臺(tái)協(xié)作;虛擬機(jī)技術(shù);VNC軟件
一、前言
地震資料處理、解釋工作中使用的專(zhuān)業(yè)軟件(如Geoeast、Omega等軟件)需要在Linux操作系統(tǒng)生產(chǎn)工作站上運(yùn)行使用。同時(shí),還有部分解釋軟件以及辦公類(lèi)軟件需要在Windows操作系統(tǒng)辦公電腦上運(yùn)行。在日常工作中,處理解釋工作人員常常需要同時(shí)使用兩種操作系統(tǒng)環(huán)境下的軟件,如果通過(guò)U盤(pán)、網(wǎng)絡(luò)傳輸?shù)确绞绞褂没ハ嗒?dú)立的工作站和辦公電腦來(lái)完成相關(guān)工作,效率低且使用起來(lái)極不方便。因此,針對(duì)跨Linux、Windows操作系統(tǒng)平臺(tái)的相關(guān)協(xié)作軟件的研究非常必要。
二、跨平臺(tái)協(xié)作軟件研究
(一)跨平臺(tái)協(xié)作軟件類(lèi)型
跨平臺(tái)的協(xié)作軟件根據(jù)工作方式不同可以分為兩類(lèi):一類(lèi)是虛擬機(jī),虛擬機(jī)是虛擬化技術(shù)的一種,通過(guò)軟件模擬具有完整硬件系統(tǒng)功能的、運(yùn)行在一個(gè)完全隔離環(huán)境中的完整計(jì)算機(jī)系統(tǒng)[1]。在實(shí)體計(jì)算機(jī)中能夠完成的大部分工作在虛擬機(jī)中都能夠?qū)崿F(xiàn),通過(guò)在Windows/Linux工作站上安裝另一種操作系統(tǒng),可以實(shí)現(xiàn)兩種操作系統(tǒng)同時(shí)使用,滿(mǎn)足相應(yīng)的工作需求。另一類(lèi)是遠(yuǎn)程控制軟件即一種基于網(wǎng)絡(luò)的、由一臺(tái)電腦(主控端 /客戶(hù)端)遠(yuǎn)程控制另一臺(tái)或者多臺(tái)電腦(被控端/服務(wù)器端)的應(yīng)用軟件[2]。通過(guò)使用跨平臺(tái)協(xié)作軟件可以實(shí)現(xiàn)Linux、Windows平臺(tái)系統(tǒng)資源的共享。
(二)跨平臺(tái)協(xié)作軟件選擇
根據(jù)實(shí)際工作需求對(duì)兩類(lèi)跨平臺(tái)協(xié)作軟件進(jìn)行選擇。地震資料處理用戶(hù)在工作中使用的軟件均安裝在Linux集群上,需要對(duì)大量的數(shù)據(jù)進(jìn)行運(yùn)算,為了能夠高效、穩(wěn)定、安全地運(yùn)行這些軟件,日常使用的生產(chǎn)工作站均為L(zhǎng)inux系統(tǒng),但在工作中經(jīng)常需要使用Office等辦公軟件來(lái)完成匯報(bào)等工作。以往用戶(hù)需要將生產(chǎn)工作站上的截圖、相關(guān)文件通過(guò)U盤(pán)拷貝的方式導(dǎo)入另外一臺(tái)安裝Windows操作系統(tǒng)的辦公電腦、筆記本上來(lái)完成相應(yīng)工作。在生產(chǎn)工作站上查看Word、PPT等文件時(shí),安裝在Linux系統(tǒng)下的辦公類(lèi)軟件、中文輸入法很難滿(mǎn)足用戶(hù)的需求,只能在旁邊再放置一臺(tái)筆記本來(lái)完成相應(yīng)的工作。由于Windows是一種單用戶(hù)的操作系統(tǒng),若用戶(hù)通過(guò)遠(yuǎn)程控制軟件實(shí)現(xiàn)生產(chǎn)工作站與辦公電腦的資源共享則等同于同時(shí)占用了兩臺(tái)機(jī)器的資源,而用戶(hù)的主要需求在辦公上,對(duì)服務(wù)器硬件資源要求并不高。通過(guò)對(duì)數(shù)據(jù)中心現(xiàn)有主要生產(chǎn)工作站硬件的研究,能夠在不影響生產(chǎn)工作的同時(shí),在虛擬機(jī)中安裝Windows系統(tǒng)從而實(shí)現(xiàn)用戶(hù)在生產(chǎn)工作站下使用Windows軟件的需求。
需要在辦公電腦上使用生產(chǎn)工作站軟件資源的主要為地震資料解釋用戶(hù)。由于解釋用戶(hù)常常使用的卡奔、雙狐等軟件均必須在Windows系統(tǒng)下運(yùn)行,在能夠正常使用這些軟件的前提下,用戶(hù)還希望在Windows機(jī)器下使用Linux系統(tǒng)中的專(zhuān)業(yè)軟件(如Geoeast軟件)。這些軟件需要占用大量的運(yùn)算資源,同時(shí)還需要有軟件的許可證才能正常工作,因此,在辦公電腦上安裝Linux系統(tǒng)的虛擬機(jī)無(wú)法滿(mǎn)足使用需求。Linux是一種多用戶(hù)的操作系統(tǒng),能夠在同一臺(tái)生產(chǎn)工作站允許多個(gè)用戶(hù)使用資源。因此,使用遠(yuǎn)程控制軟件通過(guò)辦公電腦遠(yuǎn)程控制生產(chǎn)工作站,實(shí)現(xiàn)跨平臺(tái)資源共享是可行的。以往用戶(hù)使用Xmanager、Mobaxterm等軟件實(shí)現(xiàn)這一功能,這些軟件具有易于操作的優(yōu)點(diǎn),在辦公電腦上安裝軟件即可遠(yuǎn)程控制同一網(wǎng)絡(luò)下的生產(chǎn)工作站。但這些軟件也有缺點(diǎn):當(dāng)用戶(hù)加載數(shù)據(jù)量比較大的時(shí)候就會(huì)出現(xiàn)無(wú)法正常使用遠(yuǎn)程控制軟件或者軟件崩潰的情況。通過(guò)大量的測(cè)試,最終選擇使用VNC軟件來(lái)完成辦公電腦對(duì)生產(chǎn)工作站的遠(yuǎn)程控制。
三、跨平臺(tái)協(xié)作軟件技術(shù)研究
若想通過(guò)虛擬機(jī)遠(yuǎn)程控制軟件實(shí)現(xiàn)同時(shí)使用生產(chǎn)工作站、辦公電腦的資源,需要對(duì)相應(yīng)的軟件進(jìn)行安裝與配置。進(jìn)行虛擬機(jī)選擇時(shí),經(jīng)過(guò)開(kāi)源性、功能性綜合測(cè)評(píng)最終選擇VirtualBox來(lái)實(shí)現(xiàn)生產(chǎn)工作站與辦公電腦的資源共享。進(jìn)行遠(yuǎn)程控制軟件選擇時(shí),通過(guò)大量的測(cè)試,從跨平臺(tái)協(xié)作軟件與操作系統(tǒng)的匹配性、開(kāi)源性、實(shí)用性等方面綜合考慮,最終在辦公電腦上安裝Tightvnc,在生產(chǎn)工作站上安裝Tigervnc實(shí)現(xiàn)Windows到Linux系統(tǒng)下軟件的跨平臺(tái)共享。
(一)在Linux操作系統(tǒng)生產(chǎn)工作站使用虛擬機(jī)軟件安裝Windows操作系統(tǒng)
地震資料處理用戶(hù)使用的生產(chǎn)工作站上并未運(yùn)行生產(chǎn)軟件,用戶(hù)主要通過(guò)生產(chǎn)工作站登錄安裝軟件的集群進(jìn)行工作。因此,生產(chǎn)工作站上的資源占用率并不是很高。目前根據(jù)Windows 10對(duì)硬件的最低配置要求(見(jiàn)表1),生產(chǎn)工作站能夠在不影響工作的前提下,滿(mǎn)足安裝Windows虛擬機(jī)的硬件要求。
確定生產(chǎn)工作站硬件滿(mǎn)足要求后,對(duì)虛擬機(jī)軟件進(jìn)行選擇。從實(shí)用性、功能性、穩(wěn)定性以及與生產(chǎn)工作站操作系統(tǒng)匹配度等多方面綜合考慮,最終確定使用開(kāi)源免費(fèi)的虛擬機(jī)軟件VirtualBox來(lái)實(shí)現(xiàn)在生產(chǎn)工作站上使用Windows辦公的需求[3]。
根據(jù)虛擬機(jī)軟件在不同操作系統(tǒng)的安裝要求,對(duì)生產(chǎn)工作站的BIOS、軟件安裝環(huán)境進(jìn)行配置。在生產(chǎn)工作站的BIOS中默認(rèn)“Virtualization Technology”參數(shù)為關(guān)閉的,需要將其開(kāi)啟才能正常使用虛擬機(jī)。
根據(jù)生產(chǎn)工作站的硬件配置,分配虛擬機(jī)資源如圖1所示。
對(duì)虛擬機(jī)進(jìn)行系統(tǒng)配置,實(shí)現(xiàn)生產(chǎn)工作站與虛擬機(jī)之間的資源共享[4],如圖2所示。
通過(guò)對(duì)虛擬機(jī)Windows系統(tǒng)的安裝及配置,可以實(shí)現(xiàn)在一臺(tái)Linux生產(chǎn)工作站上啟動(dòng)虛擬機(jī),工作站及虛擬機(jī)之間的資源可以通過(guò)復(fù)制粘貼、共享盤(pán)完美的互通,實(shí)現(xiàn)了用戶(hù)急需的、在生產(chǎn)工作站上完成辦公操作的需求。
(二)Windows辦公電腦遠(yuǎn)程控制Linux生產(chǎn)工作站技術(shù)
通過(guò)大量的實(shí)踐測(cè)試,最終選擇使用VNC軟件來(lái)實(shí)現(xiàn)辦公電腦遠(yuǎn)程控制生產(chǎn)工作站,實(shí)現(xiàn)在同一臺(tái)機(jī)器上兩種操作系統(tǒng)資源的共享。VNC (Virtual Network Console)是虛擬網(wǎng)絡(luò)控制臺(tái)的縮寫(xiě),是一款強(qiáng)大的遠(yuǎn)程控制工具軟件,支持Linux、Solaris、Windows等多種操作系統(tǒng)[5]。通過(guò)VNC軟件能夠?qū)崿F(xiàn)在Windows服務(wù)器上穩(wěn)定、便捷地使用Linux平臺(tái)上的資源。
VNC由兩部分組成:一部分是服務(wù)器端的應(yīng)用程序(vncserver);另外一部分是客戶(hù)端的應(yīng)用程序(vncviewer)。
1.生產(chǎn)工作站VNC軟件的安裝與配置
目前使用的生產(chǎn)工作站主要裝了RH AS7.6版本的操作系統(tǒng)。這個(gè)版本的系統(tǒng)在安裝系統(tǒng)界面中無(wú)法自行選擇安裝全部的安裝包。為了滿(mǎn)足工作需求,在安裝時(shí)選擇了Server with GUI環(huán)境。此時(shí)若需要使用VNC軟件需要手動(dòng)安裝系統(tǒng)盤(pán)中的VNC軟件安裝包。
安裝后執(zhí)行以下命令
# rpm -qa|grep vnc
顯示VNC相關(guān)軟件的名稱(chēng)即可證明VNC軟件安裝成功。
2.生產(chǎn)工作站VNC服務(wù)的配置
軟件安裝成功后需要對(duì)VNC服務(wù)器端進(jìn)行配置。主要有兩種方式:手動(dòng)方式和自動(dòng)方式。
(1)手動(dòng)方式
首先查看當(dāng)前是否有開(kāi)啟的VNC服務(wù)進(jìn)程,是否有被占用的顯示窗口。其次根據(jù)當(dāng)前使用的辦公電腦屏幕大小來(lái)配置VNC的桌面大小[6]。執(zhí)行以下命令啟動(dòng)VNC服務(wù)器端進(jìn)程。
# vncserver -geometry 1920x1200 :2
若當(dāng)前用戶(hù)為第一次啟動(dòng)VNC服務(wù),則會(huì)要求用戶(hù)設(shè)置一個(gè)使用VNC的密碼,并在用戶(hù)的home目錄下生成一個(gè).vnc的文件夾,存放VNC的相關(guān)配置文件以及每次開(kāi)啟后生成的log日志[7]。一臺(tái)服務(wù)器可以開(kāi)啟多個(gè)VNC窗口,VNC窗口可以是同一個(gè)用戶(hù)開(kāi)啟也可以是不同用戶(hù)使用。
執(zhí)行以下命令查看是否啟動(dòng)VNC服務(wù)。
# ps -wef|grep vnc
若能查看到正確的VNC進(jìn)程,即證明VNC服務(wù)開(kāi)啟成功,可以使用VNC客戶(hù)端遠(yuǎn)程控制當(dāng)前生產(chǎn)工作站。
手動(dòng)方式開(kāi)啟VNC服務(wù)的優(yōu)點(diǎn)為可以靈活配置VNC服務(wù)。根據(jù)當(dāng)前生產(chǎn)工作站資源占用情況靈活分配VNC窗口,缺點(diǎn)是重新啟動(dòng)生產(chǎn)工作站后,VNC服務(wù)也需要重新配置。
(2)自動(dòng)方式
若想實(shí)現(xiàn)開(kāi)啟生產(chǎn)工作站自動(dòng)配置VNC服務(wù),則需要對(duì)系統(tǒng)的VNC配置文件進(jìn)行修改,并開(kāi)啟相應(yīng)的進(jìn)程。在RH AS7操作系統(tǒng)中使用systemd初始化進(jìn)程服務(wù)代替了過(guò)去Linux操作系統(tǒng)system V中init運(yùn)行級(jí)別的概念,因此,VNC服務(wù)的開(kāi)機(jī)自啟動(dòng)配置也與過(guò)去的Linux版本有所不同。
進(jìn)入/etc/systemd/system目錄,將vncserver@:.service文件拷貝并重新命名為 vncserver@:
為用戶(hù)配置了桌面號(hào)為2的VNC服務(wù)。若從未開(kāi)啟過(guò)vncserver,則通過(guò)手動(dòng)方式第一次啟動(dòng)vncserver,在用戶(hù)的home目錄下生成.vnc文件。通過(guò)配置.vnc文件夾中的config文件配置VNC桌面的大小。
執(zhí)行 systemctl enable vncserver@2.server實(shí)現(xiàn)開(kāi)機(jī)自啟動(dòng)服務(wù)。
自動(dòng)方式配置完成后,生產(chǎn)服務(wù)器每次重新啟動(dòng)時(shí)都會(huì)自動(dòng)根據(jù)配置文件啟動(dòng)vncserver。優(yōu)點(diǎn)是更加便捷,缺點(diǎn)為不能根據(jù)生產(chǎn)工作站當(dāng)前資源占用情況靈活配置VNC服務(wù)。
3.VNC客戶(hù)端的應(yīng)用
生產(chǎn)工作站上的VNC服務(wù)配置完成后,需要在Windows系統(tǒng)的辦公電腦上安裝VNC客戶(hù)端才能正常使用VNC軟件進(jìn)行Windows系統(tǒng)到Linux系統(tǒng)的遠(yuǎn)程控制。通過(guò)大量測(cè)試(包括使用的穩(wěn)定性、流暢性)最終選擇在辦公電腦上安裝Tightvnc??蛻?hù)端安裝完成后,運(yùn)行vncviewer軟件輸入VNC服務(wù)器端IP地址以及桌面號(hào),將密碼填入即可安全穩(wěn)定地使用VNC軟件。
四、跨平臺(tái)協(xié)作軟件的應(yīng)用及效果
通過(guò)兩種跨平臺(tái)協(xié)作軟件——虛擬機(jī)VirtualBox及VNC軟件的應(yīng)用,實(shí)現(xiàn)了穩(wěn)定、高效的Windows辦公電腦及Linux生產(chǎn)工作站的協(xié)作。
(一)VirtualBox虛擬機(jī)軟件的應(yīng)用
通過(guò)對(duì)虛擬機(jī)軟件的安裝及配置,實(shí)現(xiàn)了生產(chǎn)工作站上同時(shí)使用Windows辦公軟件的需求。目前已應(yīng)用于10余臺(tái)生產(chǎn)工作站,Windows操作系統(tǒng)的虛擬機(jī)安裝了Office等辦公軟件,用戶(hù)在使用Linux生產(chǎn)工作站的同時(shí)能夠方便、快捷地完成辦公需求,優(yōu)化了資源,節(jié)省了設(shè)備投資,提高了生產(chǎn)效率。
(二)VNC軟件的應(yīng)用
通過(guò)對(duì)VNC軟件服務(wù)器端及客戶(hù)端的配置,實(shí)現(xiàn)了Windows辦公電腦啟動(dòng)Linux生產(chǎn)工作站應(yīng)用軟件的功能,與傳統(tǒng)的方式相比,更加穩(wěn)定、易操作。以往使用Xmanager軟件加載過(guò)大的數(shù)據(jù)就會(huì)發(fā)生崩潰的現(xiàn)象,通過(guò)VNC軟件遠(yuǎn)程控制Linux生產(chǎn)工作站在使用辦公電腦資源的同時(shí),加載Xmanager無(wú)法承受的數(shù)據(jù)量也能穩(wěn)定運(yùn)行。
五、結(jié)語(yǔ)
通過(guò)創(chuàng)新的思維對(duì)跨平臺(tái)協(xié)作軟件進(jìn)行了深入研究,將其應(yīng)用于地震資料處理解釋生產(chǎn)中,安全、穩(wěn)定地實(shí)現(xiàn)了Windows辦公電腦與Linux生產(chǎn)工作站的資源共享,極大地提高了工作效率。這種技術(shù)方法可在同行業(yè)大規(guī)模數(shù)據(jù)中心中應(yīng)用,具有非常廣闊的推廣空間。
參考文獻(xiàn)
[1]吳志軍.嵌入式系統(tǒng)虛擬機(jī)技術(shù)研究[D].寧波:寧波大學(xué),2013.
[2]程夏衍.基于VNC協(xié)議的云視頻技術(shù)的研究與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2016.
[3]顧武雄.Ubuntu VirtualBox虛擬機(jī)管理實(shí)戰(zhàn)[J].網(wǎng)絡(luò)安全和信息化,2020(05):95-103.
[4]曲亮.虛擬機(jī)技術(shù)在計(jì)算機(jī)機(jī)房管理中的應(yīng)用探討[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2022(03):131-132.
[5]占水娥.Windows遠(yuǎn)程控制軟件的設(shè)計(jì)與應(yīng)用[D].南昌:江西財(cái)經(jīng)大學(xué),2018.
[6]劉毅,梁煒恒,邱志釗.基于VNC服務(wù)的變電站Linux系統(tǒng)遠(yuǎn)程維護(hù)的應(yīng)用[J].機(jī)電信息,2021(29):20-21.
[7]鄧榮,黃菊.CentOS下VNC遠(yuǎn)程訪(fǎng)問(wèn)系統(tǒng)的部署與實(shí)現(xiàn)[J].信息與電腦(理論版),2014(24):132.
作者單位:董一、王景德、陳建寧,東方地球物理勘探有限責(zé)任公司大慶物探研究院;昝文彬,常州工學(xué)院計(jì)算機(jī)信息工程學(xué)院
責(zé)任編輯:張津平