KVM( for Kernel-based Virtual Machine)是一套基于 X86 架构的 Linux 的硬件完全虚拟化解决方案。它可以直接运行无需修改的 Linux 操作系统和 Windows 操作系统。KVM 是开源软件,并且在 Linux 内核 2.6.20 之后就集成内核。

0x01 宿主机前提

KVM 的虚拟化需要来自硬件的支持,如 Intel VT 技术或者 AMD V 技术。首先通过以下命令检测 CPU 是否支持虚拟化:

[root@centos7]# egrep '(vmx|svm)' /proc/cpuinfo

如果执行以上命令有输出内容,则说明 CPU 支持虚拟化。如果没有话的首先查询 CPU 型号,看是否提供相应的功能,现在的 CPU 基本上都是支持 VT ,如果没有输出,可以进入 BIOS 中,一般在 CPU 配置中可以找到 VT-X (CPU 指令虚拟化)和 VT-D(I/O 通信虚拟化),将其 enable 。
如果使用的 VMware 来搭建的测试环境的话,那么需要在虚拟机设置中,在 CPU 设置里,找到虚拟化引擎,然后勾选 虚拟化 Intel VT-X 或 AMD-V

0x02 Centos7 宿主机配置

1.检查模块

KVM 除了之前硬件的前提下,还需要内核模块 kvm.ko 的支持以及提供核心虚拟化基础设施和特定处理器的模块 kvm-intel.ko(Intel CPU) 和 kvm-amd.ko (AMD CPU)。
检查 kvm 模块是否加载可以通过一下命令:

[root@centos7]# lsmod | grep kvm

如果有 kvm-intel 或 kvm-amd 的结果输出,就表示已经成功加载,如果没有的话,则需要手动加载一下:

[root@centos7]# modprobe kvm-inter 或 kvm-amd

2.安装软件包

以上条件满足后,接下来就是安装相应的软件包了。需要的软件包如下:
** qemu-kvm libvirt vert-install vert-manager vert-viewer 可直接通过 yum ** 安装:

[root@centos7]# yum install -y qemu-kvm libvirt vert-install vert-manager vert-viewer

如果有需要还可安装 ** virt-what virt-top ** 软件包。
各软件包的功能概述:
| 软件包名 | 用途 |

| ------ |:---:|
 | libvirt | 用于管理虚拟机,并且提供一套 API |
 | libvirt-client | Libvirt 的客户端,使虚拟机能够正常开关机 |
 |libvirt-python | 为 Python 提供 API |
 |ipxe-roms-qemu|使虚拟机支持 PXE 方式启动|
 |qeme-kvm|KVM 在用户空间运行的程序|
 |qemu-img|操作虚拟机的硬盘创建和格式化等操作|
 |virt-viewer|虚拟机控制台|
 |virt-manager|基于 Libvirt 的图形化管理工具|
 |virt-install|安装虚拟机的命令行工具|
 |virt-what|查看虚拟机运行的平台|
 |virt-top|类似 top 命令,查看虚拟机使用的资源|

3.服务的启动

最后一步,一定要确保 Libvirtd 服务是启动的。

[root@centos7]# systemctl start libvirtd 
[root@centos7]# systemctl enable libvirtd

至此,宿主机的配置已经完成,接下来就是开始通过 KVM 部署虚拟机了。