我想使用 Python 将 DVD 驱动器添加到 xenserver 上的 VM。我使用 Python 创建了一个 VM,现在我想添加连接到主机的 DVD 驱动器,以便在 VM 中也可以访问。所以我还需要为 DVD 驱动器创建一个 VBD。但是我无法获得需要在 VBD.Record 中设置的属性,就像在附加磁盘中一样,我设置了 VDI 属性并附加了它。但是对于 DVD 驱动器,我无法确定需要设置哪个属性才能将该 CD 驱动器附加到 XenServer。请帮我解决这个问题......
5474 次
3 回答
3
我无法直接帮助您处理 Python 部分,但我会尝试为您提供正确的命令行语句。
假设 VM 已经有 DVD 驱动器,您可以发出这些命令
xe cd-list
xe vm-cd-insert uuid=... cd-name="xs-tools.iso"
xe vm-cd-eject uuid=...
. .
如果您对 vbd 的东西感兴趣,以下命令可以为您获取 DVD 驱动器的 vbd 的 uuid:
从单个 VM 开始。从 XenCenter 中弹出 DVD。现在通过命令行连接到 XenServer 主机,然后运行:
xe vbd-list vm-uuid=...
如果 VM 有一个空的 DVD 驱动器,它的 vdi-uuid 将被列为 <不在数据库中>。这将允许您查明您之后的 vbd 的 uuid!
有关更多信息,请查看此链接:
http://docs.vmd.citrix.com/XenServer/5.0.0/1.0/en_gb/guest.html
于 2011-08-26T17:53:57.073 回答
2
我在我的博客上写过这个:
sr=session.xenapi.SR.get_by_name_label("DVD drives") record_dvd=session.xenapi.SR.get_record(sr[0]) VDI_dvd=record_dvd["VDIs"] vbdconnectcd={'VDI':VDI_dvd[0], 'VM':VM_ref, 'userdevice':"1", 'mode':"RO", 'type':"cd", 'bootable':True, 'unpluggable':True, 'empty':False, 'other_config':{}, 'qos_algorithm_type':'', 'qos_algorithm_params':{}} vbdref1=session.xenapi.VBD.create(vbdconnectcd)
在这里,
VM_ref
指的是uuid
我们要添加 DVD 驱动器的新创建的虚拟机。每个物理 DVD 驱动器都有其 VDI,该 VDI 存储在其属性中,可以获取它并将其作为参数之一传递,以创建将 DVD 驱动器与 VM 链接的 VBD。
于 2011-09-27T18:26:48.437 回答
0
使用 Java 将 CD 驱动器添加到 XenServer VM
首先,您必须与 xenserver 连接并获取连接变量。
public VBD makeCDDrive(VM vm) throws Exception {
VBD.Record vbdrecord = new VBD.Record();
vbdrecord.VM = vm;
vbdrecord.VDI = null;
vbdrecord.userdevice = "3";
vbdrecord.mode = Types.VbdMode.RO;
vbdrecord.type = Types.VbdType.CD;
vbdrecord.empty = true;
return VBD.create(connection, vbdrecord);
}
于 2015-03-11T19:16:10.573 回答