kasuganosoras/libvirt-manager

用于控制libvirt虚拟机的库。

dev-master 2019-06-03 21:20 UTC

This package is auto-updated.

Last update: 2024-09-04 09:10:25 UTC


README

中文 ReadMe | ZeroDream

这是一个简单的php libvirt管理器

它可以启动、关闭、销毁虚拟机,获取虚拟机列表或获取任何虚拟机的信息。

本项目旨在使开发者更容易管理虚拟机。

要使用此管理器,您需要安装php_ssh2模块。

也许这份文档有些语法错误,因为作者是中国人 :P

安装Libvirt-Manager

使用composer

composer require kasuganosoras/libvirt-manager

使用git

git clone https://github.com/kasuganosoras/Libvirt-Manager

连接服务器的示例代码

以下示例代码将使用SSH连接到您的服务器,请确保您的服务器sshd服务正在运行。

require_once __DIR__ . '/vendor/autoload.php';
use libvirt_manager\Libvirt;
$Libvirt = new Libvirt();
$Libvirt->setHost("192.168.3.181", 22, "/data/libvirt/");
$Libvirt->connect("root", "123456");

192.168.3.181 是您的服务器主机名,22 是您的服务器端口,/data/libvirt/ 是您的libvirt数据保存路径。

对于认证,使用用户名和密码,示例代码中的用户名和密码是 root123456

创建虚拟机的示例代码

以下示例代码将创建一个名为Test的虚拟机,并分配2个CPU核心和2GB的内存。

$Libvirt->createDisk("Test", "qcow2", "30G");
$Libvirt->createVMXML("Test", 2, 2048576, "/data/libvirt/images/Test/Test.qcow2", "/data/iso/CentOS-7-x86_64-Minimal-1804.iso", "cdrom", "network", "default", $Libvirt->randomMac(), "virbr0", 0, 0, 5902);
$Libvirt->define("/data/libvirt/Test.xml");
$Libvirt->setPermission("Test");
$Libvirt->start("Test");

创建虚拟硬盘

String createDisk ( Name, Format, Size )

创建虚拟机xml配置文件

createVMXML方法有13个参数。

void createVMXL ( Name, vCPU, Ram, Disk, ISO, Boot Device, Network type, Network name, MAC Address, Network bridge, Bandwidth in, Bandwidth out, VNC Port )

将xml配置文件注册到系统中

String define ( XML File Path )

设置执行权限

void setPermission ( Name )

启动虚拟机

String start ( Name )

停止虚拟机

String shutdown ( Name )

强制停止虚拟机

如果您的虚拟机遇到麻烦,无法使用关机命令关闭,您可以使用此方法强制停止它。

String destroy ( Name )

获取虚拟机列表

您可以使用此方法获取虚拟机列表,它将返回一个数组。

String getList ()

获取虚拟机信息

您可以使用此方法获取任何注册的虚拟机信息,它将返回一个数组。

String getInfo ( Name )

导出虚拟机xml配置文件

此方法可以获取任何已注册的虚拟机xml配置文件并返回。

String dumpxml ( Name )

克隆现有虚拟机

您可以使用此方法克隆现有虚拟机。

此方法可能需要较长时间,您需要在代码中添加一行 set_time_limit(120)

String cloneVM ( Name, New name, New disk path )

设置虚拟机网络

此方法可以控制虚拟机网络。

第三个参数是布尔类型,如果您提供true值,则网络将启用,否则网络将禁用。

String setNetwork ( Server, Network name, Status )

您可以在 libvirt/libvirt.php 中找到更多信息。