刚接触KVM,对各种KVM的管理工具不了解,感觉比较混乱,所以整理了如下内容,仅作为知识梳理。
KVM的常用管理工具主要有命令行工具virsh、virt-*和图形化工具virt-manager。两者的底层都是由libvirt实现的,libvirt是Linux上的虚拟化库,仅提供KVM的管理接口,与KVM本身无关。可以尝试启动KVM后使用systemctl stop libvirtd停掉libvirt服务,使用ps | grep kvm命令查看,KVM的进程依然存在,说明虚拟机仍在运行。停掉libvirt服务只是关闭了KVM的管理接口,无法使用virsh、virt-manager等管理工具。
一、virt-manager
KVM的图形化管理工具,使用起来最为方便直观,适合初学者。
二、virsh
virsh是libvirt对应的shell命令
virsh list 列出正在运行的虚拟机
virsh list --all 列出所有虚拟机
virsh start v_name 开启虚拟机
virsh shutdown v_name 关闭虚拟机
virsh undefine v_name libvirt取消虚拟机的定义,系统无法在辨识demo
virsh destroy v_name 从virsh list中删除虚拟机(销毁虚拟机,此步骤之后无法undefine虚拟机)
PS:彻底删除虚拟机还需删除虚拟机磁盘文件。
适用于shell脚本编写,批量操作虚拟机等。
三、virt-*
python-virtinst:一个python模块,利用libvirt创建和管理虚拟机的工具。包含的文件有:virt-install, virt-clone, virt-convert, virt-image。常用的为virt-install和virt-clone。
1、
virt-install:创建KVM虚拟机
大部分选项不是必须的。创建虚拟机的必须选项: --name --ram ,存储选项(--disk --nodisk)以及一个安装选项(--cdrom, )
例:
virt-install \
--name=test1 \ #虚拟机名称
--ram=1024 \ #虚拟机分配内存
--disk path=/var/lib/libvirt/images/test1.img,size=10,format=qcow2 \#将要创建的虚拟机磁盘的位置、名称、大小和格式
--cdrom ./iSoft-Server-OS-3.0-sp1-x86_64-rc2.iso #安装虚拟机所使用的ISO及所在位置
2、
virt-clone
例:
virt-clone \
--connect=qemu:///system \ #连接到虚拟机管理程序 libvirt 的URI
-o test1 -n test1_clone \ #原虚拟机名称、克隆新虚拟机名称
-f /var/lib/libvirt/images/test1_clone.img \#指定克隆的虚拟机磁盘位置
3、
virt-convert
命令行工具,将虚拟机从一种格式转化为另一种
4、
virt-image
利用XML描述文件从虚拟机镜像创建虚拟机。
四、其他相关工具
virt-viewer:显示虚拟机图形控制台的一个小工具,可通过虚拟机名称、ID或UUID连接到虚拟机
virt-viewer v_name/ID/UUID 打开虚拟机图形控制台