Libvirt-php 创建域

Libvirt-php 创建域

您能告诉我如何创建新域名吗?
摘自 PHP API 参考指南:http://libvirt.org/php/api-reference.html
我见过这些功能:

(i)   libvirt_image_create($conn, $name, $size, $format)
(ii)   libvirt_domain_new($conn, $name, $arch, $memMB, $maxmemMB, $vcpus, $iso_image, $disks, $networks, $flags)
(iii) libvirt_domain_create($res)
(iv)  libvirt_domain_create_xml($conn, $xml)

我面临的问题是我不知道创建新域的步骤。要么我必须先使用 libvirt_image_create 创建新映像... 要么使用其他方法。

答案1

你好,我会对此发表评论,因为我是的开发者和维护者libvirt-php

libvirt_image_create($conn, $name, $size, $format)

此 API仅有的用于创建虚拟机映像(虚拟机的虚拟磁盘)。它不执行任何域(虚拟机)创建。如果您使用 PXE/网络启动等,则不需要它。


libvirt_domain_new($conn, $name, $arch, $memMB, $maxmemMB, $vcpus,
    $iso_image, $disks, $networks, $flags)

这是用于安装新虚拟机的。首先,您需要使用 连接到 libvirt 守护进程实例libvirt_connect()。 的返回值libvirt_connect()是您需要作为此函数的第一个参数传递的指针/资源。然后,您必须提供虚拟机名称、体系结构(i686 或 x86_64)、初始和最大内存(以兆字节为单位)(首先请参阅您要安装的操作系统的系统规格)、VCPU 数量、要从中安装的 ISO 映像(对于 PXE 启动,您不需要此项,您可以在此处传递“false”)、磁盘信息阵列(也可以为 false)和网卡。

这些标志是可选的,您不必传递它们。请参阅libvirt-php安装的示例目录以获取真实示例 - 这比这里写的内容更好。安装本身是一项复杂的任务,因此它需要太多信息


libvirt_domain_create($res)

这将创建由资源标识的域。该资源基本上是libvirt_domain_lookup_*()API 函数找到的现有域。


libvirt_domain_create_xml($conn, $xml)

这将创建一个非持久的时间域。此域仅根据 libvirt XML 文件运行一次。

有关 libvirt XML 文件的格式,请参阅 libvirt 文档,而不是 libvirt-php。

相关内容