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
这是一个简单的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数据保存路径。
对于认证,使用用户名和密码,示例代码中的用户名和密码是 root
和 123456
。
创建虚拟机的示例代码
以下示例代码将创建一个名为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
中找到更多信息。