本發(fā)明涉及虛擬機(jī)技術(shù)領(lǐng)域,尤其涉及一種通過(guò)控制臺(tái)服務(wù)器對(duì)虛擬機(jī)進(jìn)行操作的系統(tǒng)及方法。
背景技術(shù):
虛擬機(jī)(Virtual Machine)指通過(guò)軟件模擬的具有完整硬件系統(tǒng)功能的、運(yùn)行在一個(gè)完全隔離環(huán)境中的完整計(jì)算機(jī)系統(tǒng)。通過(guò)虛擬機(jī)軟件,可以在一臺(tái)物理計(jì)算機(jī)上模擬出一臺(tái)或多臺(tái)虛擬機(jī),這些虛擬機(jī)像真正的計(jì)算機(jī)那樣進(jìn)行工作,例如安裝操作系統(tǒng)、運(yùn)行應(yīng)用程序、訪問(wèn)網(wǎng)絡(luò)資源等等。對(duì)于用戶而言,虛擬機(jī)只是運(yùn)行在物理計(jì)算機(jī)上的一個(gè)應(yīng)用程序,但是對(duì)于在虛擬機(jī)中運(yùn)行的應(yīng)用程序而言,虛擬機(jī)就是一臺(tái)真正的計(jì)算機(jī)。應(yīng)用虛擬機(jī)可大幅提高程序運(yùn)行效率,提高安全性,減少物理計(jì)算機(jī)的使用,降低用戶的使用成本。然而,在網(wǎng)絡(luò)異常的情況下,則無(wú)法有效地對(duì)虛擬機(jī)進(jìn)行操作。如何在網(wǎng)絡(luò)發(fā)生異常的情況下對(duì)虛擬機(jī)實(shí)現(xiàn)有效操作成為亟待解決的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
鑒于現(xiàn)有技術(shù)中存在的上述缺陷,本發(fā)明所要解決的技術(shù)問(wèn)題是,提供一種通過(guò)控制臺(tái)服務(wù)器對(duì)虛擬機(jī)進(jìn)行操作的系統(tǒng)及方法,可實(shí)現(xiàn)在網(wǎng)絡(luò)異常的情況下通過(guò)控制臺(tái)服務(wù)器登錄虛擬機(jī),并對(duì)虛擬機(jī)進(jìn)行操作。本發(fā)明是通過(guò)如下技術(shù)方案來(lái)實(shí)現(xiàn)的:
一種通過(guò)控制臺(tái)服務(wù)器對(duì)虛擬機(jī)進(jìn)行操作的系統(tǒng),包括至少一個(gè)控制臺(tái)服務(wù)器和至少一個(gè)虛擬主機(jī),每臺(tái)虛擬主機(jī)上安裝有至少一個(gè)虛擬機(jī);
各控制臺(tái)服務(wù)器通過(guò)串口與各虛擬主機(jī)進(jìn)行連接,并通過(guò)遠(yuǎn)程終端協(xié)議與每臺(tái)虛擬主機(jī)上的各虛擬機(jī)進(jìn)行通訊;
所述控制臺(tái)服務(wù)器與所述虛擬主機(jī)處于同一網(wǎng)絡(luò)。
進(jìn)一步地,所述控制臺(tái)服務(wù)器的配置為:
操作系統(tǒng):社區(qū)企業(yè)操作系統(tǒng)6.5;
系統(tǒng)內(nèi)核:3.0版以上;
操作系統(tǒng)位數(shù):64位;
CPU:4核;
內(nèi)存:8G;
磁盤(pán):250G;
網(wǎng)卡:兩個(gè)千兆網(wǎng)卡;
系統(tǒng)軟件:2.6版以上的python、python telnetlib庫(kù)。
優(yōu)選地,所述虛擬主機(jī)的系統(tǒng)版本為:esxi4.1版本以上。
優(yōu)選地,所述虛擬機(jī)在運(yùn)行狀態(tài)下從其所屬的虛擬主機(jī)轉(zhuǎn)移到另一臺(tái)虛擬主機(jī)。
通過(guò)如上所述的系統(tǒng)對(duì)虛擬機(jī)進(jìn)行操作的方法,包括如下步驟:
通過(guò)所述控制臺(tái)服務(wù)器的rest api接口讀取所述系統(tǒng)中待被操作的虛擬機(jī)的ip地址和端口;
根據(jù)所述ip地址和端口,通過(guò)所述控制臺(tái)服務(wù)器以telnet方式登錄到所述待被操作的虛擬機(jī);
通過(guò)所述控制臺(tái)服務(wù)器操作所述待被操作的虛擬機(jī)。
優(yōu)選地,在通過(guò)所述控制臺(tái)服務(wù)器的rest api接口讀取所述待被操作的虛擬機(jī)的ip地址和端口之前,所述方法還包括如下步驟:
創(chuàng)建虛擬機(jī),以及將其作為所述待被操作的虛擬機(jī);
打開(kāi)所述待被操作的虛擬機(jī)的串口。
優(yōu)選地,所述虛擬機(jī)通過(guò)vmware創(chuàng)建。
與現(xiàn)有技術(shù)相比,本發(fā)明采用多控制臺(tái)服務(wù)器的部署方式,將多臺(tái)控制臺(tái)服務(wù)器通過(guò)串口與各虛擬主機(jī)連接,在各虛擬主機(jī)中安裝多個(gè)虛擬機(jī),并為各虛擬機(jī)打開(kāi)串口,控制臺(tái)服務(wù)器通過(guò)串口以遠(yuǎn)程終端協(xié)議與虛擬機(jī)進(jìn)行通訊,實(shí)現(xiàn)對(duì)虛擬機(jī)的登錄及操作。利用本發(fā)明可在網(wǎng)絡(luò)異常的情況下通過(guò)console(控制臺(tái))服務(wù)接管vm(虛擬機(jī)),并進(jìn)行故障修復(fù)或者其他操作。
附圖說(shuō)明
圖1:本發(fā)明實(shí)施例提供的通過(guò)控制臺(tái)服務(wù)器對(duì)虛擬機(jī)進(jìn)行操作的系統(tǒng)的組成及工作原理示意圖;
圖2:通過(guò)上述系統(tǒng)控制虛擬機(jī)的方法流程示意圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。
本發(fā)明的目的在于,滿足用戶在網(wǎng)絡(luò)異常的情況下,通過(guò)console(控制臺(tái))服務(wù)接管虛擬機(jī)(Virtual Machine),并進(jìn)行故障修復(fù)或者其他操作。本發(fā)明的設(shè)計(jì)原則如下:
能夠滿足大量用戶通過(guò)控制臺(tái)同時(shí)登錄到自己的虛擬機(jī)上;
用戶通過(guò)標(biāo)準(zhǔn)遠(yuǎn)程終端協(xié)議能夠和虛擬機(jī)進(jìn)行交互;
支持在vmware下將正在運(yùn)行的虛擬機(jī)從一臺(tái)虛擬主機(jī)移動(dòng)至另一臺(tái)虛擬主機(jī),這樣,虛擬機(jī)可在運(yùn)行狀態(tài)下從其所屬的虛擬主機(jī)轉(zhuǎn)移到另一臺(tái)虛擬主機(jī),而不影響用戶使用;
對(duì)虛擬機(jī)能夠支持主流的操作系統(tǒng)類(lèi)型。
控制臺(tái)服務(wù)設(shè)計(jì)要求:
虛擬機(jī)必須由vmware創(chuàng)建;
虛擬機(jī)的操作系統(tǒng)必須打開(kāi)串口;
控制臺(tái)服務(wù)器必須和虛擬主機(jī)處于同一個(gè)網(wǎng)絡(luò)里。
如圖1所示,本發(fā)明提供的通過(guò)控制臺(tái)服務(wù)對(duì)虛擬機(jī)201進(jìn)行操作的系統(tǒng)包括至少一個(gè)控制臺(tái)服務(wù)器1和至少一個(gè)虛擬主機(jī)2,每臺(tái)虛擬主機(jī)2上安裝有至少一個(gè)虛擬機(jī)201;
各控制臺(tái)服務(wù)器1通過(guò)串口與各虛擬主機(jī)2進(jìn)行連接,并通過(guò)遠(yuǎn)程終端協(xié)議與每臺(tái)虛擬主機(jī)2上的各虛擬機(jī)201進(jìn)行通訊;
控制臺(tái)服務(wù)器1與虛擬主機(jī)2處于同一網(wǎng)絡(luò)。
控制臺(tái)服務(wù)器1的推薦配置為:
操作系統(tǒng):社區(qū)企業(yè)操作系統(tǒng)6.5;
系統(tǒng)內(nèi)核:3.0版以上;
操作系統(tǒng)位數(shù):64位;
CPU:4核;
內(nèi)存:8G;
磁盤(pán):250G;
網(wǎng)卡:兩個(gè)千兆網(wǎng)卡;
系統(tǒng)軟件:2.6版以上的python、python telnetlib庫(kù)。
虛擬主機(jī)2的系統(tǒng)版本為:esxi4.1版本以上。
該系統(tǒng)采用多控制臺(tái)服務(wù)器1部署,具體部署方法為:
按照配置要求申請(qǐng)多臺(tái)服務(wù)器;
在各服務(wù)器上安裝操作系統(tǒng);
配置網(wǎng)絡(luò)與虛擬主機(jī)2為二層網(wǎng)絡(luò)可達(dá);
安裝python和python telnetlib庫(kù);
啟動(dòng)控制臺(tái)服務(wù)器1,并將其設(shè)置為默認(rèn)啟動(dòng)方式。
如圖2所示,通過(guò)如上的系統(tǒng)對(duì)虛擬機(jī)201進(jìn)行操作的方法,包括如下步驟:
步驟S1:通過(guò)控制臺(tái)服務(wù)器1的rest api接口讀取待被操作的虛擬機(jī)201的ip地址和端口;rest全稱為REpresentational State Transfer,含義為表述性狀態(tài)轉(zhuǎn)移。
步驟S2:根據(jù)待被操作的虛擬機(jī)201的ip地址和端口,通過(guò)控制臺(tái)服務(wù)器1以telnet方式登錄到待被操作的虛擬機(jī)201。
步驟S3:通過(guò)控制臺(tái)服務(wù)器1操作待被操作的虛擬機(jī)201。
在網(wǎng)絡(luò)異常的情況下,用戶可使用用戶端3(用于用戶登錄控制臺(tái)服務(wù)器1)連接控制臺(tái)服務(wù)器1,并通過(guò)控制臺(tái)服務(wù)器1登錄待被操作的虛擬機(jī)201,并對(duì)其進(jìn)行操作。
具體地,在通過(guò)控制臺(tái)服務(wù)器1的rest api接口讀取待被操作的虛擬機(jī)201的ip地址和端口之前,方法還包括如下步驟:
創(chuàng)建虛擬機(jī)201,以及將其作為待被操作的虛擬機(jī)201;
打開(kāi)待被操作的虛擬機(jī)201的串口。
需要注意的是,虛擬機(jī)201需通過(guò)vmware創(chuàng)建。操作完待被操作的虛擬機(jī)201后,可退出對(duì)相應(yīng)虛擬機(jī)201的登錄。
本發(fā)明還可驗(yàn)證通過(guò)本發(fā)明的控制臺(tái)服務(wù)器對(duì)虛擬機(jī)的操作是否有效,具體方法為:
判斷控制臺(tái)服務(wù)器1能否通過(guò)rest api接口讀出用戶的虛擬機(jī)201(前提是在vmware云平臺(tái)下有屬于該用戶的虛擬機(jī)201);
遠(yuǎn)程系統(tǒng)和vmware云平臺(tái)下的虛擬機(jī)201通過(guò)網(wǎng)絡(luò)不可達(dá)時(shí),通過(guò)控制臺(tái)服務(wù)器1以telnet方式使用讀取的虛擬機(jī)201的ip地址和端口訪問(wèn)虛擬機(jī)201;
通過(guò)控制臺(tái)服務(wù)器1登錄虛擬機(jī)201并對(duì)該虛擬機(jī)201進(jìn)行操作,并在操作完成后退出該虛擬機(jī)201;
在網(wǎng)絡(luò)恢復(fù)后通過(guò)網(wǎng)絡(luò)模式登錄到該虛擬機(jī)201,查看通過(guò)控制臺(tái)服務(wù)器1對(duì)該虛擬機(jī)201進(jìn)行的操作是否有效。
最后應(yīng)說(shuō)明的是:上述各實(shí)施例僅用于說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或全部技術(shù)特征進(jìn)行等同替換;而這些修改或替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。