999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于VMware vSphere SDK的虛擬化客戶應用程序?qū)崿F(xiàn)

2010-01-01 00:00:00陳波,唐靈麗,周忠海,袁志平
電腦知識與技術 2010年2期

摘要:服務器虛擬化技術可以大大提高對服務器的整合和管理效率,便于快速部署各種應用。該文首先簡要介紹了VMware vSphere平臺的組成結(jié)構,然后詳細描述了如何利用VMware vSphere SDK開發(fā)靈活、簡潔并具有友好界面的VMware vSphere客戶應用程序的流程步驟和實現(xiàn)方法。

關鍵詞:VMware vSphere SDK;C#;虛擬化技術;客戶應用程序;Manager Of Reference(MOR)

中圖分類號:TP391文獻標識碼:A文章編號:1009-3044(2010)02-331-03

Completion of the Virtualization Client Applications Based on VMware vSphere SDK

CHEN Bo1,2, TANG Ling-li1, ZHOU Zhong-hai1, YUAN Zhi-ping1

(1.Jiangnan Computing Technology Institute, Wuxi 214083, China; 2.95846 PLA Troops, Fuzhou 350000, China)

Abstract: Server virtualization technology can improve the efficiency of server integration and management greatly, and it also can be convenient to deploy all kinds of application. At first, this paper introduces the architecture of VMware vSphere platform simply, and then describes how to use the VMware vShpere SDK to develop the flexible, compact VMware vShpere client application with friendly interface in detail.

Key words: VMware vSphere SDK; C#; virtualization technology; client applications; manager of reference(MOR)

近年來,隨著計算機技術、網(wǎng)絡技術的發(fā)展,許多企事業(yè)單位配備了越來越多的應用系統(tǒng),相應地,服務器的數(shù)量也越來越多。但是這些服務器通常只能承載單一的應用服務,過高的服務器硬件配置將使得服務器的優(yōu)越性能難以得到充分利用,從而造成資源浪費;而過低的硬件配置又怕不能滿足后續(xù)的用戶需求;此外,服務器數(shù)量的逐年增加也使得管理變得日益復雜。而虛擬化技術的引入能夠提高服務器的利用率、加快應用部署的速度,從而提供高可靠性、高可用的應用服務。

虛擬化技術是當前大型數(shù)字化中心進行硬件資源整合和提高能效的重要技術之一,主要有完全虛擬化、部分虛擬化和操作系統(tǒng)層虛擬化三種方式。虛擬化是一個抽象層,它打破了物理硬件與操作系統(tǒng)的物理連接。服務器虛擬化系統(tǒng)就是通過虛擬化技術從服務器中虛擬出多個客戶機進行統(tǒng)一的整合管理,而這些客戶機可以相互獨立運行安裝不同的操作系統(tǒng)和應用程序。作為一個面向用戶的系統(tǒng),如何能夠設計一個具有簡潔友好界面的虛擬化客戶應用程序,以便更好地滿足用戶靈活有效地管理服務器虛擬化系統(tǒng),是一個有待解決的問題。

1 VMware vSphere SDK工作原理

1.1 組成結(jié)構圖

VMware vSphere是VMware公司開發(fā)的構建云計算架構的最佳平臺,使用VMware vSphere來構建云計算基礎架構,可以減少運行的服務器數(shù)量,降低資金成本和運營成本。VMware vSphere虛擬化多個系統(tǒng)間的基礎物理硬件資源,同時為數(shù)據(jù)中心提供大量虛擬資源。作為云操作系統(tǒng),VMware vSphere可作為無縫和動態(tài)操作環(huán)境管理大型基礎架構(例如CPU、存儲器和網(wǎng)絡),同時還管理復雜的數(shù)據(jù)中心。VMware vSphere主要由以下基本組件構成:ESX主機(主服務器)、vCenter Server(虛擬中心服務器)、vSphere SDK、vSphere Web Access或vSphere Client等,組成結(jié)構圖如圖1所示。

VMware vSphere SDK是一種為VMware和第三方解決方案提供標準界面以訪問VMware vSphere功能的開發(fā)包。VMware vSphere Web Services SDK 4.0是VMware提供的最新軟件開發(fā)包,包含了VMware vSphere API實現(xiàn)的所有必需組件,其中包括WSDL文件、各種庫文件、幫助文檔和例程,是一個服務器虛擬化系統(tǒng)的二次開發(fā)平臺。我們可以利用這個平臺開發(fā)靈活方便的客戶應用程序來管理、監(jiān)控和維護VMware vSphere組件。

1.2 接口函數(shù)

主要接口函數(shù)如下:

Login(ManagedObjectReference _this,string userName,string password,string locale);

//建立一個服務器連接,ManagedObjectReference(受管對象引用)類型是一個指向?qū)ο蟮闹羔槪渲衉this參數(shù)指定一個特定的SessionManager受管對象引用,userName參數(shù)指定連接的服務器的用戶名,password參數(shù)指定該用戶名所對應的密碼,locale參數(shù)指定所在區(qū)域,缺省為服務器的所在區(qū)域。

CreateVM_Task(ManagedObjectReference _this, VirtualMachineConfigSpec config, ManagedObjectReference pool, ManagedObjectReference host);

//在指定目錄下創(chuàng)建一個新的虛擬機,其中_this參數(shù)指定一個特定的Folder受管對象引用,config參數(shù)指定新建虛擬機的相關配置,pool參數(shù)指定該虛擬機所在的資源池,host參數(shù)指定該虛擬機所在的目標主機。

RetrieveProperties(ManagedObjectReference _this,PropertyFilterSpec[] { specSet });

//取回相關實體的屬性,包含與虛擬機相關的信息,實現(xiàn)對虛擬機的監(jiān)控,其中_this參數(shù)指定一個特定PropertyCollector受管對象引用,specSet參數(shù)指定需要獲得屬性的清單。

ReconfigVM_Task(ManagedObjectReference _this, VirtualMachineConfigSpec spec);

//對虛擬機進行重新配置,實現(xiàn)對虛擬機的管理,其中_this參數(shù)指定需要重新配置的虛擬機,spec參數(shù)指定需要重新配置的相關值。

2 客戶應用程序功能模塊

該客戶應用程序系統(tǒng)是創(chuàng)建、管理、操作虛擬機的主界面,并可以訪問虛擬機控制臺。包括:虛擬機創(chuàng)建模塊、虛擬機操作模塊、虛擬機管理配置模塊、虛擬機監(jiān)控模塊,功能模塊圖如圖2所示。

各功能模塊完成的功能如下:

虛擬機創(chuàng)建模塊:完成虛擬機的創(chuàng)建工作,包括虛擬機硬件資源的分配、操作系統(tǒng)的選擇等;

虛擬機操作模塊:完成對已建虛擬機的各項操作,包括對虛擬機的電源操作、快照操作、克隆遷移操作等;

虛擬機監(jiān)控模塊:監(jiān)控主機的CPU、內(nèi)存、存儲器、網(wǎng)絡等資源的使用情況;

虛擬機管理配置模塊:查看并動態(tài)分配主機服務器的CPU、內(nèi)存、電源、存儲器、網(wǎng)絡等資源給各個虛擬機。

3 客戶應用程序開發(fā)步驟和實現(xiàn)方法

3.1 開發(fā)環(huán)境

搭建vSphere系統(tǒng)環(huán)境。首先在各主服務器上安裝VMware ESX 4.0,然后在虛擬中心服務器中安裝Windows 2003操作系統(tǒng),并在上面安裝VMware vCenter Server。安裝完成之后進行網(wǎng)絡配置。

3.2 開發(fā)工具

VMware推薦使用Java或者C#作為開發(fā)語言。本實例中我們選擇C#作為開發(fā)語言,Microsoft Visual Studio 2005作為開發(fā)環(huán)境。另外,開發(fā)客戶應用程序所需要的工具包括Microsoft .NET Framework 2.0和vSphere Web Services SDK 4.0,所需的動態(tài)鏈接庫包括AppUtil.dll,Vim25Service2005.dll,VimService2005.dll,Vim25Service2005.XmlSerializers.dll, VimService2005.XmlSerializers.dll,VMware.Security.CredentialStore.dll等。這些動態(tài)鏈接庫可通過正確設置環(huán)境變量,并運行vSphere Web Services SDK 4.0工具包中的Build2005產(chǎn)生。

3.3 開發(fā)方法

客戶應用程序的開發(fā)既可采用瀏覽器/服務器(B/S)模式(如vSphere Web Access),也可采用客戶端/服務器(C/S)模式(如vSphere Client),本文選擇客戶端/服務器(C/S)模式實現(xiàn)開發(fā)。在Microsoft Visual Studio 2005中新建一個項目,并添加上述動態(tài)鏈接庫以及Web引用,之后就可以進行客戶應用程序的功能開發(fā)。下面簡要說明整個客戶應用程序的開發(fā)過程。

3.3.1 連接服務器的實現(xiàn)

用SDK創(chuàng)建客戶應用程序首先應該連接到服務器。

SimpleClient可以實現(xiàn)連接到服務器、與服務器的通信,并可獲得該服務器下相關實體的一些信息。步驟如下:

Step1 //創(chuàng)建一個特定于服務器MOR

_svcRef = new ManagedObjectReference();

_svcRef.type = \"ServiceInstance\";

其中MOR(managed object reference),即受管對象引用,受管對象具有特定于服務器的MOR。MOR是指向?qū)ο蟮闹羔槨?/p>

Step2 //VMA代理實例化

_service = new VimService();

Step3 //獲得ServiceContent對象

_sic = _service.RetrieveServiceContent(_svcRef);

Step4 //調(diào)用Login方法實現(xiàn)與服務器的連接

if (_sic.sessionManager != 1) {

_service.Login(_sic.sessionManager, username, password, 1);}

Step5 //獲取服務器相關信息

_sic.getAbout().getFullName();

_sic.getAbout().getApiType();

_sic.getAbout().getApiVersion()等。

3.3.2 創(chuàng)建虛擬機的實現(xiàn)

連接到服務器之后,可以在主服務器上創(chuàng)建新的虛擬機。主要步驟如下:

Step1 //VMA代理實例化

_service = cb.getConnection()._service;

Step2 //創(chuàng)建相關MOR數(shù)據(jù)對象

ManagedObjectReference dcmor

= cb.getServiceUtil().GetDecendentMoRef(1,\"Datacenter\",dcName);

ManagedObjectReference hfmor

= cb.getServiceUtil().GetMoRefProp(dcmor, \"hostFolder\");

Step3 //創(chuàng)建VirtualMachineConfigSpec數(shù)據(jù)對象

VirtualMachineConfigSpec vmConfigSpec

=vmUtils.createVmConfigSpec(vmname,datastorename,int.Parse(disksize),crmor, hostmor);

Step4 //調(diào)用CreateVM_Task方法實現(xiàn)虛擬機的創(chuàng)建

ManagedObjectReference taskmor

= _service.CreateVM_Task(vmFolderMor, vmConfigSpec, resourcePool, hostmor);

3.3.3 虛擬機監(jiān)控的實現(xiàn)

可以對已經(jīng)創(chuàng)建的虛擬機實現(xiàn)監(jiān)控。步驟如下:

Step1 //初始化

private static AppUtil.AppUtil cb = 1;

static VimService _service = cb.getConnection()._service;

static ServiceContent _sic = cb.getConnection()._sic;

Step2// 對PropertyFilterSpec進行實例化

PropertySpec pSpec = new PropertySpec();

ObjectSpec oSpec = new ObjectSpec();

PropertyFilterSpec pfSpec = new PropertyFilterSpec();

pfSpec.propSet = new PropertySpec[] { pSpec };

pfSpec.objectSet = new ObjectSpec[] { oSpec };

Step3 //調(diào)用RetrieveProperties方法獲得虛擬機的相關信息,以實現(xiàn)對虛擬機的監(jiān)控

ObjectContent[] ocs = new ObjectContent[20];

ocs=_service.RetrieveProperties(_sic.propertyCollector,new PropertyFilterSpec[] { pfSpec });

3.3.4 虛擬機管理配置的實現(xiàn)

對已經(jīng)創(chuàng)建的虛擬機進行管理配置,步驟如下:

Step1//初始化

private static AppUtil.AppUtil cb = 1;

private ManagedObjectReference _virtualMachine = 1;

Step2//實例化

_virtualMachine=cb.getServiceUtil().GetDecendentMoRef(1, \"VirtualMachine\", vmName);

VirtualMachineConfigSpec vmConfigSpec = new VirtualMachineConfigSpec();

Step3 //調(diào)用ReconfigVM_Task方法實現(xiàn)虛擬機的重新配置

ManagedObjectReference tmor

= cb.getConnection()._service.ReconfigVM_Task(_virtualMachine, vmConfigSpec);

4 程序演示

4.1 客戶應用登陸運行結(jié)果顯示

如圖3所示。

4.2 客戶應用程序主界面展示

如圖4所示。

5 結(jié)束語

目前企事業(yè)單位的服務器虛擬化整合是數(shù)字化應用部署的一個趨勢,不僅可以有效地利用有限的設備經(jīng)費,還能夠滿足企事業(yè)單位應用服務種類的不斷增加、數(shù)據(jù)庫資源數(shù)量不斷增長的需求。而自己開發(fā)的客戶應用程序可以為用戶提供一個方便簡潔靈活的操作界面,實現(xiàn)與主服務端和虛擬中心服務器之間的交互,以達到從客戶需求的角度有效管理和使用整個計算機系統(tǒng)的目標。

參考文獻:

[1] vSphere Web Services SDK Programming Guide(vSphere Web Services SDK 4.0)[EB/OL].http://www.vmware.com/support/pubs/sdk_pubs.html.

[2] Developer’s Setup Guide(VMware vSphere Web Services SDK 4.0)[EB/OL].http://www.vmware.com/support/pubs/sdk_pubs.html.

[3] VMware vSphere簡介[EB/OL].http://www.vmware.com/support/pubs.html.

[4] 王石.精通Visual C#2005-語言基礎、數(shù)據(jù)庫系統(tǒng)開發(fā)、Web開發(fā)[M].北京:人民郵電出版社,2007.

[5] 金海,廖小飛.面向計算系統(tǒng)的虛擬化技術[J].中國基礎科學,2008(6):12-18.

[6] 金海等.計算系統(tǒng)虛擬化——原理與應用[M].北京:清華大學出版社,2008.

主站蜘蛛池模板: 欧美有码在线| a欧美在线| 成人综合网址| 免费毛片a| 97视频精品全国免费观看| 国产欧美日韩免费| 国产精品人人做人人爽人人添| 精品自窥自偷在线看| 香蕉99国内自产自拍视频| 五月天久久综合国产一区二区| 日韩天堂视频| 国产成人精彩在线视频50| 无码国产偷倩在线播放老年人| 国产视频欧美| 欧美日韩亚洲国产| 啪啪啪亚洲无码| 国产成人无码AV在线播放动漫| 青青草综合网| 欧美视频在线观看第一页| 亚洲AV无码精品无码久久蜜桃| 日韩毛片免费视频| 亚洲一级毛片| 成人午夜免费观看| 亚洲一欧洲中文字幕在线| 成人无码区免费视频网站蜜臀| 欧美中文一区| 一本视频精品中文字幕| 永久免费AⅤ无码网站在线观看| 999精品视频在线| 99久久免费精品特色大片| 国产又爽又黄无遮挡免费观看| 精品91视频| 欧美日韩亚洲国产主播第一区| 精品无码一区二区三区电影| a级毛片毛片免费观看久潮| 国产亚洲精| 狠狠干欧美| 伊人网址在线| 国产成人一区| 国产91精品最新在线播放| 亚洲精品自拍区在线观看| 亚洲人成日本在线观看| 国产精品第| 国产小视频免费观看| 成人第一页| 国产在线第二页| 欧美一级一级做性视频| 99国产精品国产高清一区二区| 色综合久久久久8天国| 精品自窥自偷在线看| 日本高清视频在线www色| 青青青伊人色综合久久| 国产亚洲精久久久久久无码AV| 国产激情第一页| 国产色图在线观看| 国产美女精品人人做人人爽| 久久99精品久久久大学生| 中文字幕人妻av一区二区| 亚洲成人在线免费观看| 精品伊人久久久大香线蕉欧美| 视频一本大道香蕉久在线播放 | 国产在线观看91精品| 九九这里只有精品视频| 久久99热这里只有精品免费看| 久久久久久午夜精品| 国产美女无遮挡免费视频网站| 国产AV无码专区亚洲A∨毛片| 黄色网页在线播放| 亚洲第一区在线| 国产成人乱无码视频| 欧美日韩亚洲国产主播第一区| 2020亚洲精品无码| 午夜老司机永久免费看片| 亚洲天堂免费| 亚洲欧美人成电影在线观看| 91在线精品麻豆欧美在线| 日本高清有码人妻| 欧美日韩在线亚洲国产人| 中美日韩在线网免费毛片视频 | 麻豆国产精品一二三在线观看| 国产精品第一区在线观看| 中文无码精品a∨在线观看|