libvirt是一个用于管理虚拟化技术的开源API、守护进程和管理工具的集合,它支持多种虚拟化技术,包括KVM、Xen、QEMU等。libvirt提供了一套基本的命令行工具,其中最常用的是virsh。以下是一些libvirt的基本命令行操作,特别是与virsh工具相关的命令:
一、连接与断开Hypervisor
- 连接到Hypervisor:
virsh -c <URI>
例如,连接到本地的QEMU/KVM Hypervisor:
virsh -c qemu:///system
二、虚拟机管理
- 列出虚拟机:
virsh list
列出所有正在运行的虚拟机。
virsh list --all
列出所有虚拟机,包括正在运行和已关闭的。
- 启动虚拟机:
virsh start <domain>
例如,启动名为ubuntu的虚拟机:
virsh start ubuntu
- 优雅地关闭虚拟机:
virsh shutdown <domain>
- 强制关闭虚拟机:
virsh destroy <domain>
- 重启虚拟机:
virsh reboot <domain>
- 挂起虚拟机:
virsh suspend <domain>
- 恢复被挂起的虚拟机:
virsh resume <domain>
- 将虚拟机设置为自动启动:
virsh autostart <domain>
- 取消虚拟机的自动启动:
virsh autostart --disable <domain>
- 删除虚拟机的定义(不会删除磁盘):
virsh undefine <domain>
- 从XML文件定义并创建虚拟机:
virsh define <XML file>
- 编辑虚拟机配置:
virsh edit <domain>
三、虚拟机信息查询
- 显示虚拟机的基本信息:
virsh dominfo <domain>
- 显示虚拟机的状态:
virsh domstate <domain>
- 显示虚拟机的CPU信息:
virsh vcpuinfo <domain>
- 显示虚拟机的磁盘信息:
virsh domblklist <domain>
- 显示虚拟机的网络接口信息:
virsh domiflist <domain>
四、快照管理
- 创建虚拟机的快照:
virsh snapshot-create <domain> <snapshot name>
- 列出虚拟机的快照:
virsh snapshot-list <domain>
- 还原虚拟机至指定的快照状态:
virsh snapshot-revert <domain> <snapshot name>
五、网络与存储管理
- 列出所有虚拟网络:
virsh net-list
- 启动虚拟网络:
virsh net-start <network>
- 关闭虚拟网络:
virsh net-destroy <network>
- 编辑虚拟网络配置:
virsh net-edit <network>
- 列出所有存储池:
virsh pool-list
- 启动存储池:
virsh pool-start <pool>
- 关闭存储池:
virsh pool-destroy <pool>
- 从XML文件创建存储卷:
virsh vol-create <pool> <XML file>
- 列出存储卷:
virsh vol-list <pool>
六、其他常用命令
- 打印帮助信息:
virsh help
退出virsh shell:
quit
或
exit
这些命令只是libvirt中virsh工具的一部分,用于基本的虚拟机和资源管理操作。对于更详细的命令和选项,可以使用virsh help命令查看所有可用命令的完整列表,并使用命令后跟–help来获取有关每个命令使用的详细说明和选项。