VMware vSphere Web Services SDK编程指南(十二 虚拟机配置)- 12.4 添加设备至虚拟机
来源:互联网 发布:w10怎么安装软件 编辑:程序博客网 时间:2024/06/05 03:54
12.4 添加设备至虚拟机
使用 VirtualMachineConfigSpec.deviceChange 属性(一个 VirtualDeviceSpec)创建虚拟机时,你可以添加设备至虚拟机,通过使用一个支持对象(backing object),你可以指定虚拟设备应该映射到的主机设备,一个 backing 对象表示与虚拟设备相关联的主机设备。
■ Backing option objects – 可以通过提取相关的 backing 选项对象来查找主机支持哪些设备。
■ Backing information object – backing 信息对象允许你为虚拟设备配置提供数据,访问一个 VirtualDeviceBackinInfo 对象如下所示:
VirtualMachineConfigSpec.deviceChange[].device.backing
要添加一个设备至虚拟机,必须首先查明在相应的 ESX/ESXi 主机上哪些设备是其所支持的,然后指定一个 VirtualDevice 对象,执行下面的这些任务添加设备至虚拟机:
1 通过调用 QueryConfigOption 方法查明你的 ESXi 系统支持哪些设备,通过 VirtualMachine.environmentBrowser 属性查明哪些设备你可以访问。该方法返回一个指明 ESXi/ESXi 支持什么设备的VirtualMachineConfigOption 数据对象。例如,VirtualMachineConfigOption.hardwareOptions 包括有关所支持的 CPU 和内存及一组 VirtualDeviceOption 数据对象的信息。
注意:不能使用 QueryConfigOption 方法来创建另外一个默认设备的实例,如果试着添加一个默认设备,如一个 IDE 控制器,服务器会忽略该操作。
2 为设备指定 backing 信息,不同对象的对象定义的实际过程不同。如,对于一个 CD-ROM 透传设备,使用 VirtualCdromPassthroughBackingInfo 设备,VirtualDevice.backing 属性是一个由该设备扩展的 VirtualDeviceBackingInfo 对象。
下面的代码片段添加了一个 CD-ROM 透传设备:
VirtualCdromPassthroughBackingInfo vcpbi = new VirtualCdromPassthroughBackingInfo();// Does the virtual device have exclusive access to the CD-ROM device?vcpbi.setExclusive(false);// Specifies the device name.vcpbi.setDeviceName('cdrom0');
3 为设备指定连接信息
VirtualDevice.connectable 属性是一个 VirtualDeviceConnectInfo 数据对象,当虚拟机在运行时,该对象提供有关限制删除设备的信息。如果设备不可移动,则该属性为 null。
VirtualDeviceConnectInfo vdci = new VirtualDeviceConnectInfo();// Allow the guest to control whether the virtual device is connected?vdci.setAllowGuestControl(false);// Is the device currently connected?vdci.setConnected(true);// Connect the device when the virtual machine starts?vdci.setStartConnected(true);
4 定义 controller key,虚拟设备 key,及单元号
使用整数属性定义这些项: controllerKey、key 和 unitNumber。可在 API 参考文档中查看 VirtualDevice 数据对象。
5 指定设备信息
deviceInfo 属性是一个 Description 数据对象,该对象有一个 name 属性和一个 summary 属性,可以为每个属性提供一个字符值以描述设备。
Description vddesc = new Description();vddesc.setLabel('CD-ROM Device cdrom0');vddesc.setSummary('The CD-ROM device for this virtual machine.');
6 将虚拟设备指定为 VirtualDeviceConfigSpec 的 device 属性。
7 将 VirtualDeviceConfigSpec 作为 deviceChange 属性指定到 VirtualMachineConfigSpec 对象,该对象是传入 Folder.CreateVM_Task 或 VirtualMachine.ReconfigVM_Task 方法的参数。
下面是一个 CD-ROM 透传设备的完整代码片段:
VirtualDevice vd = new VirtualDevice();vd.setBacking(vcpbi);vd.setConnectable(vdci);vd.setControllerKey(257);vd.setDeviceInfo(vddesc);vd.setKey(2);vd.setUnitNumber(25);
原文:
VMware vSphere 6.5 Documentation Center:Adding Devices to Virtual Machines
- VMware vSphere Web Services SDK编程指南(十二 虚拟机配置)- 12.4 添加设备至虚拟机
- VMware vSphere Web Services SDK编程指南(十二 虚拟机配置)- 12.3 配置虚拟机
- VMware vSphere Web Services SDK编程指南(十二 虚拟机配置)- 12.5 执行虚拟机电源操作
- VMware vSphere Web Services SDK编程指南(十二 虚拟机配置)- 12.2 创建虚拟机及虚拟机模板
- VMware vSphere Web Services SDK编程指南(十二 虚拟机配置)- 12.1 虚拟机托管对象及方法
- VMware vSphere Web Services SDK编程指南(三)- VMware vSphere 和 vSphere Management APIs
- VMware vSphere Web Services SDK编程指南(十)- 10.6 配置 iSCSI 存储
- VMware vSphere Web Services SDK编程指南(四)- vSphere API 编程模型(一)
- VMware vSphere Web Services SDK编程指南(四)- vSphere API 编程模型(二)
- VMware vSphere Web Services SDK编程指南(十一)- 11.1 vSphere Networks
- VMware vSphere Web Services SDK编程指南(十一)- 11.3 VMware 标准虚拟交换机
- VMware vSphere Web Services SDK编程指南(一)-SDK简介
- VMware vSphere Web Services SDK编程指南(五)- 5.4 客户端应用(Web 服务器会话令牌)
- VMware vSphere Web Services SDK编程指南(五)- 5.1 客户端应用(vCenter 服务器连接)
- VMware vSphere Web Services SDK编程指南(八)- 8.1 认证和授权(相关对象)
- VMware vSphere Web Services SDK编程指南(二)-Java 开发设置
- VMware vSphere Web Services SDK编程指南(六)- 6 Datacenter Inventory
- VMware vSphere Web Services SDK编程指南(七)- 7 属性收集器(Property Collector)
- poi 3.8 SXSSFWorkbook没有删除本地缓存文件方法
- win 10 PHP开发环境配置
- 全面提高你的搜索技巧
- MapReduce中的Shuffle和Sort分析
- app:Android Camera2教程之打开相机、开启预览、实现PreviewCallback、拍照
- VMware vSphere Web Services SDK编程指南(十二 虚拟机配置)- 12.4 添加设备至虚拟机
- Android开发之修改Chrome书签
- 37. 重定向 2>&1
- SQL查询int类型字段,前台每三位加逗号分隔输出
- 洛谷P1801 黑匣子_NOI导刊2010提高(06)
- cpp全局变量和局部变量的使用
- linux开发入门之环境的搭建
- Dagger2入门!精通!最美!死神的力量!
- Centos安装Mysql