当前位置 主页 > 服务器问题 > Linux/apache问题 >

    在CentOS7搭建KVM虚拟化平台(三种方式)

    栏目:Linux/apache问题 时间:2019-11-25 16:14

    KVM 全称是基于内核的虚拟机(Kernel-based Virtual Machine),它是一个 Linux的一个内核模块,该内核模块使得 Linux变成了一个Hypervisor:它由 Quramnet开发,该公司于 2008年被 Red Hat 收购 

    KVM的整体结构:

    从GUI到Linux内核,包括以下五个组件:

    1) virt-manager

    一个用来管理VM的GUI/CUI用户接口;它使用libvirt api 调用VM的各种功能。

    2) libvirt

    一个工具及接口,作为较通用的服务器虚拟化软件,它支持Xen,VMware ESXi/GSX,当然,还有QEMU/KVM。

    3) QEMU

    一个和KVM内核模块交互的模拟器,处理多种客户机系统请求如I/O;一个QEMU进程对应一个客户机系统。

    4) KVM内核模块

    从狭义上来说,KVM是一个Linux内核模块,处理客户机系统的VM Exits和执行VM Entry指令。

    5) Linux内核

    既然QEMU作为一个普通的用户进程运行,相应客户机系统的调度就由Linux内核自己来处理。

    所有的组件都是开放源码软件(OSS)。

    KVM的安装:

    环境要求:

    1、如果是物理服务器,需要在BIOS中打开虚拟化功能(Virtualization Technology),一般的服务器默认是打开这个功能的。

    杨书凡17.png

    2、如果是用VMware Workstation做实验,建立的虚拟机的CPU要勾选虚拟化功能,这样虚拟机才会支持KVM虚拟化

    杨书凡18.png

    安装方式:

    最简单的安装方法就是在安装系统的时候,安装上虚拟化功能,这里以CentOS7.3为例,选择安装包的时候,如下图选择即可,选择“带GUI的服务器”,并勾选“虚拟化客户端”,“虚拟化Hypervisor”,“虚拟化工具”

    杨书凡19.png

    如果你的系统是最小化安装的,那你应该安装以下所需软件:

    # yum groupinstall "GNOME 桌面"   //安装GNOME桌面环境

    查看cpu是否支持

    # grep -E 'svm|vmx' /proc/cpuinfo
    
    - vmx is for Intel processors
    
    - svm is for AMD processors
    

    安装虚拟化软件

    # yum install epel-rpm-macros.noarch    //安装epel源
    
    # yum install qemu qemu-img qemu-kvm libvirt libvirt-python libguestfs-tools virt-install
    
    # yum install virt-manager virt-viewer   //安装图形化工具
    
    # systemctl enable libvirtd        
    
    # systemctl start libvirtd
    

    检查KVM模块是否安装

    [root@localhost ~]# lsmod |grep kvm
    
    kvm_intel       174250 0 
    
    kvm          570658 1 kvm_intel
    
    irqbypass       13503 1 kvm
    

    一、使用图形化界面创建虚拟机

    1、创建虚拟机之前的准备工作:

    (1)操作系统安装介质:ISO文件, 将系统镜像文件复制到/kvm/iso目录下

    [root@localhost ~]# mkdir /kvm/iso -p     
    
    [root@localhost ~]# umount /dev/sr0
    
    [root@localhost ~]# cp /dev/sr0 /kvm/iso/Centos7.iso
    

    (2)磁盘空间准备:

    添加新磁盘

    创建LVM

    创建文件系统及挂载点,并设置开机自动挂载

    pvcreate /dev/sdb
    vgcreate kvm_vg /dev/sdb
    lvcreate -n kvm_lv -L 100G kvm_vg
    mkdir /kvm/vfs
    mount /dev/kvm_vg/kvm-lv /kvm/vfs