一、libvirt架构概述:

        libvirt是用来管理虚拟机或虚拟化功能的软件集合,主要包括:libvirt API, libvirtd进程和virsh工具集三部分。

           最初的目的是为不同的hypervisor提供统一的管理接口。

      libvirtd该后台进程主要实现以下功能:

           (1)远程代理 所有remote client发送来的命令,由该进程监测执行

           (2)本地环境初始化 libvirt服务的启停,用户connection的响应等

           (3)根据环境注册各种Driver(qemu, xen, storage…)的实现 不同虚拟化技术以Driver的形式实现,由于libvirt对外提供的是统一的接口, 所以各个Driver就是实现这些接口,即将Driver注册到libvirt中。

       

KVM主机overlay kvm server_xml

查看libvirtd服务状态:
       systemctl status libvirtd

KVM主机overlay kvm server_自动启动_02

 

          如果libvirtd服务停止运行,那么你将不能管理虚拟机,也就是不能使用virt-manager 等工具来管理虚拟机。

 

二、kvm基础管理:

      1.查看命令帮助:     

virsh -h

  

      2.查看kvm陪配置文件存放目录:

ll /etc/libvirt/qemu/

KVM主机overlay kvm server_xml_03

 

        3.查看虚拟状态:

virsh list --all

  

KVM主机overlay kvm server_xml_04

 

         4.虚拟机开机关机

virsh start testvm01 #开机

  

KVM主机overlay kvm server_KVM主机overlay_05


virsh shutdown testvm01  #关机

KVM主机overlay kvm server_配置文件_06

virsh destroy  testvm01   强制虚拟机系统关闭 相当于拔掉电源

KVM主机overlay kvm server_配置文件_07

virsh create  /etc/libvirt/qemu/testvm01.xml  通过配置文件启动虚拟机

KVM主机overlay kvm server_自动启动_08

 

       5.挂起虚拟机

virsh  suspend testvm01

  

KVM主机overlay kvm server_配置文件_09

       

       6.恢复挂起虚拟机运行

virsh resume  testvm01

  

KVM主机overlay kvm server_KVM主机overlay_10

 

          7.配置虚拟机实例伴随宿主机自动启动/取消

virsh  autostart testvm01  开启伴随宿主机开启自启动

KVM主机overlay kvm server_KVM主机overlay_11

               域 testvm01标记为自动开始 上述命令将创建/etc/libvirt/qemu/autostart/目录,里面内容为开机自动启动的系统

virsh autostart  --disable  testvm01  取消伴随宿主机开机自启动

 

KVM主机overlay kvm server_KVM主机overlay_12

     

KVM主机overlay kvm server_xml_13

 

     8.导出虚拟机配置

virsh dumpxml  testvm02 > /etc/libvirt/qemu/testvm02_bak.xml

KVM主机overlay kvm server_xml_14

 

    9.虚拟机删除和添加

virsh  undefine testvm02  删除虚拟机

 

KVM主机overlay kvm server_xml_15

    查看删除结果,vm002的配置文件被删除,但是磁盘文件不会被删除

    

KVM主机overlay kvm server_KVM主机overlay_16

     通过备份的配置文件重新定义虚拟机:

mv /etc/libvirt/qemu/testvm02_bak.xml  /etc/libvirt/qemu/testvm02.xml  #把备份虚拟配置文件修改回来
virsh  define /etc/libvirt/qemu/testvm02.xml  定义域 testvm02

  

KVM主机overlay kvm server_KVM主机overlay_17

 

      10.修改虚拟配置信息

           1.直接修改配置文件

vim /etc/libvirt/qemu/testvm02.xml

       2.通过命令进入配置文件修改

virsh edit testvm02

       3.查看虚拟机信息

virsh edit testvm02

  

KVM主机overlay kvm server_KVM主机overlay_18

   11.连接虚拟机 (进入虚拟机后按 ctrl + ] 退出虚拟机)

virsh console  testvm01 进入虚拟机

  

KVM主机overlay kvm server_配置文件_19

ctrl+] 同时摁键 退出虚拟机

  

三、克隆虚拟机

virt-clone  -o testvm02  -n testvm03 -f /kvm-vm/testvm03.qcow2  (克隆虚拟机前提是虚拟机出于关闭状态)

  

KVM主机overlay kvm server_配置文件_20

    

KVM主机overlay kvm server_xml_21

     启动验证:

         

KVM主机overlay kvm server_xml_22

 

 四、虚拟机快照

          快照实际上做的是虚拟机的XML配置文件,默认快照XML文件 在/var/lib/libvirt/qemu/snapshot/虚拟机名/下,快照只支持qcow2磁盘格式的系统。

        1.创建快照

virsh  snapshot-create testvm03   (没有创建快照名字 但会输出一段编号)

  

KVM主机overlay kvm server_配置文件_23

virsh  snapshot-create-as  testvm03   chuangjian

  

KVM主机overlay kvm server_xml_24

 

        2.查看快照信息

virsh  snapshot-list testvm03

       

KVM主机overlay kvm server_xml_25

 

         3.查看当前快照信息

virsh  snapshot-current testvm03

  

KVM主机overlay kvm server_xml_26

 

   4.恢复到某个状态

virsh snapshot-revert  testvm03 1587981799

  查看快照信息是否恢复

    

KVM主机overlay kvm server_KVM主机overlay_27

 

   5.删除快照

virsh  snapshot-delete  testvm03  1587981952

  

KVM主机overlay kvm server_自动启动_28

 

五、kvm虚拟机总结

            1.libvirt的xml文件分为几个重要部分,整体结构如下:

            

KVM主机overlay kvm server_自动启动_29

 

          2.查看命令帮助virsh --help,主要有以下部分管理命令:

               

KVM主机overlay kvm server_xml_30

 

               3.常用命令总结:

                 

KVM主机overlay kvm server_配置文件_31

 

                     

KVM主机overlay kvm server_配置文件_32