gpt4 book ai didi

java - Libvirt Java 绑定(bind)定义域

转载 作者:太空宇宙 更新时间:2023-11-04 07:31:14 26 4
gpt4 key购买 nike

我想在 ESXi 主机上使用 Libvirt Java 绑定(bind)定义一个新的持久域。我为它创建了一个 xml 描述,其中我设置了(除其他外)VM 的设备及其源文件。但是,除非我在服务器上手动创 build 备的源文件,以便在以编程方式定义 VM 时该文件已经存在,否则这将失败。这是我使用的 xml 代码:

<disk type='file' device='disk'>
<source file='[datastore1] TestVM/TestVM.vmdk'/>
<target dev='sda' bus='scsi'/>
<address type='drive' controller='0' bus='0' unit='0'/>
</disk>

因此,在调用定义域之前,TestVM.vmdk 需要存在,但我需要以某种方式以编程方式创建它。有谁知道如何使用 Libvirt Java 绑定(bind)来做到这一点?

最佳答案

好的,所以我找到了一个解决方案,以防其他人正在寻找这个。Libvirt 提供 Java API 来基于 xml 描述在存储池中创建存储卷。您需要在描述中指定 vmdk 文件的路径,并在创建新虚拟机时使用该路径。通过 Connect 对象中的 storagePoolLookupByName 方法获取存储池,并通过 storageVolCreateXML 将卷添加到该池。

关于java - Libvirt Java 绑定(bind)定义域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17649530/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com