这里有最新的使用文档和教程
KVM常用虚拟机操作virsh命令,virsh命令是什么,virsh是什么,virsh命令怎么用
virsh命令是一个用于管理虚拟机的命令行工具,它通过调用libvirt API来实现虚拟化的管理。virsh命令可以与virt-manager等工具类似,但它是通过命令行界面进行操作,适用于需要自动化脚本或命令行操作的场景,支持对虚拟机的创建、配置、启动、停止等操作。
1、列出虚拟机
列出正在运行的虚拟机:
virsh list
列出所有虚拟机(包括未启动的):
virsh list --all
2、启动和关闭虚拟机
启动虚拟机:
virsh start <vm_name or id>
停止虚拟机(通过发送ACPI关机信号):
virsh shutdown <vm_name or id>
强制关闭虚拟机(类似于拔掉电源):
virsh destory <vm_name or id>
重启虚拟机
virsh reboot <vm_name or id>
3、创建和删除虚拟机
创建虚拟机(从xml配置文件):
virsh create <config_file.xml>
定义虚拟机(从xml配置文件,定义虚拟机但不启动):
virsh define <config_file.xml>
删除虚拟机(仅删除虚拟机定义,不删除磁盘文件):
virsh undefine <vm_name or id>
删除虚拟机及其磁盘文件:
virsh undefine <vm_name or id> --remove-all-storage
4、修改虚拟机配置
编辑虚拟机配置(打开xml编译器):
virsh edit <vm_name or id>
查看虚拟机xml配置
virsh dumpxml <vm_name or id>
5、管理虚拟机快照
列出虚拟机的快照:
virsh snapshot-list <vm_name or id>
创建虚拟机快照
virsh snapshot-create-as <vm_name or id> <snapshot_name> --description "Snapshot description"
恢复虚拟机快照
virsh snapshot-revert <vm_name or id> <snapshot_name>
删除虚拟机快照
virsh snapshot-delete <vm_name or id> <snapshot_name>
6、虚拟机信息
查看虚拟机详细信息
virsh dominfo <vm_name or id>
查看虚拟机的CPu使用情况
virsh cpu-stats <vm_name or id>
7、网络和存储管理
列出虚拟网络
virsh net-list --all
启动/停止虚拟网络
virsh net-start <network_name>
virsh net-stop <network_name>
列出存储池
virsh pool-list --all
1
启动/停止存储池
virsh pool-start <pool_name>
virsh pool_stop <pool_name>
8、监控和调试
监控虚拟机的实时状态
virsh list --state-running
查看虚拟机的详细日志(可能需要访问虚拟机的日志文件):
virsh log <vm_name or id>
qemu/kvm的日志在/var/log/libvirt/qemu目录下,文件名以虚拟机名称命名
ssh到计算节点执行,以下命令中的vm-name表示虚拟机的名称;
以下pool-name表示存储池的名称
以下vm-name表示虚拟机的名称