Oi, vou comentar sobre isso, pois sou o desenvolvedor e mantenedor do libvirt-php
.
libvirt_image_create($conn, $name, $size, $format)
Esta API é apenas para a criação da imagem da máquina virtual (o disco virtual da máquina virtual). Não faz tipo de criação de domínio (máquina virtual). Você não precisa disso se usar o boot PXE / network e similares.
libvirt_domain_new($conn, $name, $arch, $memMB, $maxmemMB, $vcpus,
$iso_image, $disks, $networks, $flags)
Isto é para a instalação da nova máquina virtual. Primeiro de tudo, você precisa se conectar à instância do daemon libvirt usando libvirt_connect()
. O valor de retorno de libvirt_connect()
é o ponteiro / recurso que você precisa passar como o primeiro argumento dessa função. Em seguida, você deve fornecer um nome de máquina virtual, arquitetura (i686 ou x86_64), memória inicial e máxima em megabytes (consulte as especificações do sistema para o sistema operacional que deseja instalar primeiro), número de VCPUs, imagem ISO para instalá-lo. (para boot PXE você não precisa disso e você pode passar 'false' lá), matriz de informações de disco (pode ser falso também) e placas de rede.
As bandeiras são opcionais e você não precisa passá-las. Por favor, consulte o diretório de exemplos da instalação libvirt-php
para exemplo do mundo real - isso é melhor do que algo escrito aqui. A instalação em si é uma tarefa complexa e é por isso que ela exige muitas informações
libvirt_domain_create($res)
Isso cria o domínio identificado por um recurso. O recurso é basicamente o domínio já existente encontrado pelas funções da API libvirt_domain_lookup_*()
.
libvirt_domain_create_xml($conn, $xml)
Isso cria um domínio de tempo que não é persistente. Este domínio é executado apenas uma vez como baseado no arquivo XML libvirt.
Para o formato dos arquivos XML libvirt, consulte a documentação do libvirt, não libvirt-php.