Skip to content

1、KVM基本管理

shell
查看  启动   关闭  重启  重置  
查看虚拟机
virsh list   ## 只查看运行虚拟机
virsh list --all   ## 不管关闭开启都显示出来
查看KVM虚拟机配置文件
virsh dumpxml VM-ceshi1   ## 记住查看那台就写那台虚拟机名字     
将node4虚拟机配置文件保存到node6.xml
virsh dumpxml node4 > /etc/libvirt/qemu/node6.xml  ### node4是虚拟机名字
修改node6的配置文件
virsh edit node6

如果直接用vim编译器修改配置文件,需要重启libvirtd服务

shell
启动
virsh start VM-ceshi1
暂停虚拟机
virsh suspend VM-ceshi1
恢复虚拟机
virsh resume VM-ceshi1
关闭

方法1:virsh shutdown VM-ceshi1
    
重启
virsh reboot VM-ceshi1
重置
virsh reset VM-ceshi1
删除虚拟机
virsh undefine VM-ceshi1   ## 启动状态只能删除配置文件磁盘镜像文件没有删除
virsh destroy VM-ceshi1    ## 虚拟机直接被删除,但是
## 虚拟机在开启状态下undefine无法删除,但是如果destro会直接删除

虚拟机开机自启

shell
virsh autostart VM-ceshi
## 当设置开启自动启动会多一个文件夹ls /etc/libvirt/qemu/autostart/
取消开机启动
virsh autostart --disable VM-ceshi
查看所有开机自启虚拟机
virsh list --all --autostart
ls /etc/libvirt/qemu/autostart/

如图

virt-viewer 连接虚拟机画面

shell
virt-viewer --connect qemu:///system 1

KVM管理虚拟机克隆

  1. 图形界面克隆
  2. 字符终端,命令克隆

(1)virt-manager 利用命令调出图形管理工具,选中要克隆的虚拟机(确保vm处于关机状态) 然后右击克隆

shell
virt-clone -o VM-ceshi --auto-clone -n VM2-ceshi -f /var/lib/libvirt/images/vm2.qcow2
virt-clone -o kvmcentos -n kvm-centos79-1 -f /home/data/kvm/images/kvm-centos79-1.qcow2
  • -n 指定新克隆机器名字
  • -o 指定要克隆机器
  • -f 新克隆机器使用新的磁盘文件

克隆过程中自动修改配置文件,他们都uuid name都不一样

如图

增量镜像

针对qcow2文件格式创建的 创建增量镜像文件 -b 指定基本镜像 -f 镜像格式

shell
qemu-img create -b /var/lib/libvirt/images/VM-ceshi.qcow2 -f qcow2 /var/lib/libvirt/images/node_ceshi.qcow2
查看增量的详细信息
qemu-img info /var/lib/libvirt/images/node_ceshi.qcow2
创建虚拟机XML配置文件(node_ceshi.img)
cp /etc/libvirt/qemu/VM-ceshi.xml /etc/libvirt/qemu/node_ceshi.xml
修改配置
vim /etc/libvirt/qemu/node_ceshi.xml  
name  不能一样
uuid  不能一样
source 磁盘镜像文件需要修改
mac地址 需要修改后面三段其中一位
新的定位一下
virsh define /etc/libvirt/qemu/node_ceshi.xml
启动虚拟机
virsh start node_ceshi
查看两镜像区别
du -h /var/lib/libvirt/images/node_ceshi.qcow2 
du -h /var/lib/libvirt/images/VM-ceshi.qcow2

快照

1、通过图形方式如下图 2、通过命令行方式

如图

QA

没有可以验证操作 'org.libvirt.unix.manage' 的 polkit 代理

解决办法:

shell
chmod 755 /etc/polkit-1/localauthority
/etc/polkit-1/localauthority/50-local.d# ll
-rw-r--r-- 1 root root 143 11月14日 14:54 50-org.libvirt-group-access.pkla
cat 50-org.libvirt-group-access.pkla
[libvirt group Management Access]
Identity=unix-group:libvirt
Action=org.libvirt.unix.manage
ResultAny=yes
ResultInactive=yes
ResultActive=yes