KVM( for Kernel-based Virtual Machine)是一套基于 X86 架构的 Linux 的硬件完全虚拟化解决方案。它可以直接运行无需修改的 Linux 操作系统和 Windows 操作系统。KVM 是开源软件,并且在 Linux 内核 2.6.20 之后就集成内核。
0x01 宿主机前提
KVM 的虚拟化需要来自硬件的支持,如 Intel VT 技术或者 AMD V 技术。首先通过以下命令检测 CPU 是否支持虚拟化:
[[email protected]]# 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 模块是否加载可以通过一下命令:
[[email protected]]# lsmod | grep kvm
如果有 kvm-intel 或 kvm-amd 的结果输出,就表示已经成功加载,如果没有的话,则需要手动加载一下:
[[email protected]]# modprobe kvm-inter 或 kvm-amd
2.安装软件包
以上条件满足后,接下来就是安装相应的软件包了。需要的软件包如下:
** qemu-kvm libvirt vert-install vert-manager vert-viewer
可直接通过 yum ** 安装:
[[email protected]]# 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 服务是启动的。
[[email protected]]# systemctl start libvirtd
[[email protected]]# systemctl enable libvirtd
至此,宿主机的配置已经完成,接下来就是开始通过 KVM 部署虚拟机了。