kvm管理

作者: 肖金光xjg | 来源:发表于2017-04-25 18:15 被阅读267次

    kvm

    kvm安装

    前期准备

    确定机器有VT

    • 确定机器有VT
      egrep '(vmx|svm)' /proc/cpuinfo
      如果没有输出,说明CPU不支持虚拟化
      vmx 为Intel的CPU指令集
      svm 为AMD的CPU指令集

    • BIOS开启VT: Intel(R) Virtualization Tech [Enabled]
      验证:
      lsmod | grep kvm
      modprobe kvm-intel

    桥接网络

    ifcfg-enp7s0f1不要配置IP,BRIDGE等于ifcfg-br2的DEVICE

    [root@bac02 network-scripts]# cat ifcfg-enp7s0f1
    BOOTPROTO=none
    DEVICE=enp7s0f1
    NM_CONTROLLED=no
    ONBOOT=yes
    BRIDGE=br2
    UUID=7083918b-0fc4-1d98-dcbb-8b9fccb8faa3
    
    [root@bac02 network-scripts]# cat ifcfg-br2 
    BOOTPROTO=static
    DEVICE=br2
    TYPE=Bridge
    NM_CONTROLLED=no
    IPADDR=192.168.3.50
    NETMASK=255.255.255.0
    GATEWAY=192.168.3.1
    DNS1=202.96.134.133
    DNS2=202.96.128.86
    UUID=7083918b-0fc4-1d98-dcbb-8b9fccb8faa3
    

    NM_CONTROLLED参数表示该网卡是否被NetworkManager服务管理,设置为no的话就是不接管,那么之前不用停止NetworkManager服务。

    systemctl restart network
    systemctl restart NetworkManager 
    

    关闭SELinux

    kvm安装

    yum -y install libcanberra-gtk2 qemu-kvm.x86_64 qemu-kvm-tools.x86_64 libvirt.x86_64 libvirt-cim.x86_64 libvirt-client.x86_64 libvirt-java.noarch  libvirt-python.x86_64  dbus-devel virt-clone virt-manager libvirt libvirt-python libguestfs-tools
    

    qemu-kvm
    该软件包主要包含KVM内核模块和基于KVM重构后的QEMU模拟器。KVM模块作为整个虚拟化环境的核心工作在系统空间,负责CPU和内存的调度。QEMU作为模拟器工作在用户空间,负责虚拟机I/O模拟。
    依赖包qemu-img
    主要用来QEMU磁盘镜像的管理,如新建一块磁盘镜像给虚拟机。

    libvirt
    提供Hypervisor和虚拟机管理的API。
    依赖包libvirt-client
    KVM客户端命令行管理工具virsh,负责虚拟机的启动、停止和管理等。
    依赖包libvirt-daemon
    libvirtd守护进程,作为客户端管理工具跟Hypervisor和虚拟机之间的桥梁。
    依赖包libvirt-daemon-driver-xxx
    从名字来看属于libvirtd服务的驱动文件,作为libvirtd服务跟Hypervisor不同对象(如qemu模拟器,网络,存储等)间的接口。
    依赖包bridge-utils
    网桥管理工具包,负责桥接网络的创建、配置和管理等工作。

    virt-install
    创建和克隆虚拟机的命令行工具包。

    virt-manager
    图形界面的KVM管理工具。
    当然安装KVM的依赖包远不止这些,由于本人水平有限,所以仅挑了一些跟KVM架构有主要联系的软件包进行描述。

    启动服务

    systemctl enable libvirtd 
    systemctl start libvirtd 
    

    kvm管理

    默认配置文件目录

    xml: /etc/libvirt/qemu
    img: /var/lib/libvirt/images

    • 查看所有虚拟机列表
    [root@bac02 qemu]# virsh list --all
     Id    名称                         状态
    ----------------------------------------------------
     -     centos6.7                      关闭
     -     centos6.7_clone1               关闭
     -     centos7.3                      关闭
     -     centos7.3_clone1               关闭
     -     centos7.3mod                   关闭
    
    • 查看镜像文件信息
    [root@bac02 qemu]# qemu-img info /var/lib/libvirt/images/centos7.3.qcow2
    image: /var/lib/libvirt/images/centos7.3.qcow2
    file format: qcow2
    virtual size: 9.0G (9663676416 bytes)
    disk size: 1.9G
    cluster_size: 65536
    Format specific information:
        compat: 1.1
        lazy refcounts: true
    

    kvm克隆virt-clone

    克隆前删除uuid和mac信息,防止mac冲突

    virt-clone参数介绍

    Options(一些基本的选项):
    --version:查看版本
    -h,--help:查看帮助信息
    --connect=URI:连接到虚拟机管理程序 libvirt 的URI
    
    General Option(一般选项):
    -o ORIGINAL_GUEST, --original=ORIGINAL_GUEST:原来的虚拟机名称
    -n NEW_NAME, --name=NEW_NAME:新的虚拟机名称
    --auto-clone:从原来的虚拟机配置自动生成克隆名称和存储路径。
    -u NEW_UUID, --uuid=NEW_UUID:克隆虚拟机的新的UUID,默认值是一个随机生成的UUID
    
    Storage Configuration(存储配置):
    -f NEW_DISKFILE, --file=NEW_DISKFILE:指定新的虚拟机磁盘文件
    --force-copy=TARGET:强制复制设备
    --nonsparse:不使用稀疏文件复制磁盘映像
    
    Networking Configuration:(网络配置)
    -m NEW_MAC, --mac=NEW_MAC:设置一个新的mac地址,默认是一个随机的mac
    

    克隆虚拟机
    virt-clone -o centos7.3mod -n centos7.3_clone1 -f /var/lib/libvirt/images/centos7.3_clone1.qcow2

    克隆的虚拟机xml配置对比

    [root@bac02 qemu]# diff centos6.7_clone1.xml centos6.7.xml 
    4c4
    <   virsh edit centos6.7_clone1
    ---
    >   virsh edit centos6.7
    9,10c9,10
    <   <name>centos6.7_clone1</name>
    <   <uuid>4743509b-3e65-4efb-9623-87f89b8fd554</uuid>
    ---
    >   <name>centos6.7</name>
    >   <uuid>bd5dff43-eb5e-4306-afc6-5b6b4e65d353</uuid>
    41c41
    <       <source file='/var/lib/libvirt/images/centos6.7_clone1.qcow2'/>
    ---
    >       <source file='/var/lib/libvirt/images/centos6.7.qcow2'/>
    74c74
    <       <mac address='52:54:00:28:5c:51'/>
    ---
    >       <mac address='52:54:00:92:8f:c7'/>
    

    KVM镜像管理工具guestfish

    libguestfs-tools:命令行工具,libguestfs-winsupport:图形工具
    安装
    yum install libguestfs-tools
    yum install libguestfs-winsupport

    相关文章

      网友评论

        本文标题:kvm管理

        本文链接:https://www.haomeiwen.com/subject/nvzvzttx.html