KVM (Kernel-based Virtual Machine),是 Linux 系统针对 Intel 64 和 AMD 64 硬件的完整虚拟化解决方案,自2.6.20 起包含在稳定版内核中,可以较快速的处理各种工作负载。

1] KVM 的特色功能

使用 KVM 部署虚拟化平台时,可以获得许多有用的特色功能:

  • 超负荷运行:这意味着可以分配比实际可用资源更多的 CPU 或内存
  • 弹性配置:允许分配弹性存储并优化每个客户虚拟机的可用空间
  • 磁盘 I/O 限制:提供对从虚拟机发送到主机的磁盘 I/O 请求设置限制的功能
  • 自动 NUMA 负载均衡:提高在NUMA硬件系统上运行的应用程序的性能
  • 虚拟CPU热添加功能:提供在运行中的虚拟机上根据需要增加处理能力的功能,而无需停机

本文是介绍使用 KVM 的第一部分,全部内容如下:

第一部分:如何安装使用 KVM 以及部署虚拟机

第二部分:在 KVM 下使用网络安装(HTTP、FTP 和 NFS)部署虚拟机

第三部分:如何管理 KVM 虚拟机的存储卷和存储池

第四部分:使用命令行(CLI)工具管理 KVM 虚拟环境

下面开始第一部分的内容。

2] 系统需求

在使用 KVM 之前,要确保系统具有硬件虚拟化功能,对于基于 Intel 平台的主机,使用如下命令验证 CPU 虚拟化扩展是否可用:

# grep -e 'vmx' /proc/cpuinfo        //For Intel CPU
OR
# grep -e 'svm' /proc/cpuinfo        //For AMD CPU
# lsmod | grep kvm

图.1 查看主机 CPU 信息

可以看到,主机是 Intel 平台主机,支持 KVM 虚拟化。如果查看不到内容,需要在主机 BIOS 设置中将 CPU 虚拟化指令集启用,如果为虚拟机安装,则需要在虚拟化软件中将 CPU 选项的虚拟化功能启用。

为了保证虚拟化软件工作正常,建议使用如下命令将系统更新至最新并关闭 SELinux:

# yum update -y
# setenforce 0

3] 安装部署 KVM 软件

首先,我们将安装 qemu-kvm 和 qemu-img 软件包。这些软件包提供了用户级的 KVM 功能和磁盘映像管理:

# yum install qemu-kvm qemu-img -y

KVM 软件包安装成功之后,主机就具有了安装虚拟机的最低要求。方便管理起见,可以安装如下软件包,以提升使用便利性:

  • virt-manager:提供了一个 GUI 工具来管理虚拟机
  • libvirt-client:提供了一个命令行工具来管理虚拟环境,该工具称为virsh
  • virt-install:提供命令”virt-install”以从命令行创建虚拟机
  • libvirt:提供服务器和主机端库,用于与虚拟机管理程序和主机系统进行交互

现在,安装这些软件包:

# yum install virt-manager libvirt libvirt-python libvirt-client -y

对于 RHEL/CentOS 7 用户,同样可以采用软件包组的方式安装,例如:Virtualization Client、Virtualization Platform 和 Virtualization Tools,使用如下命令也可以达到安装虚拟化软件包的功能:

# yum groupinstall virtualization-client virtualization-platform virtualization-tools -y

安装成功后,虚拟化守护进程”libvirtd”就可以启动并查看状态了:

# systemctl enable --now libvirtd
# systemctl status libvirtd

图.2 查看虚拟化守护进程状态

4] 创建 KVM 虚拟机

之前已经提到过,我们可以使用一些工具来管理虚拟化平台和创建虚拟机。现在,就演示如何使用”virt-manager”工具来管理和创建虚拟机。

可以在终端窗口输入”virt-manager”命令,或者在 GNOME 桌面环境中依次进入 Applications -> System Tools -> Virtual Machine Manager,都会打开虚拟机管理器应用:

图.3 启动 KVM 虚拟机管理器

默认情况下,虚拟机管理器会自动连接到本机的 KVM 服务器,如果需要连接到其他 KVM 服务器,也可以点选管理器的 File -> Add New Connection 菜单,选中 Connect to remote host 后,就可以输入用户及主机信息,点击 Connect 按钮就可以连接远程 KVM 服务器了。

图.4 虚拟机管理器连接远程服务器

如果不使用远程主机,就可以继续操作本地 KVM 服务器。

现在我们创建一个本地虚拟机,用于演示如何使用虚拟机管理器。

选择 File -> New Virtual Machine,就会出现虚拟机创建向导:

图.5 创建虚拟机向导

向导首先会要求选择虚拟机操作系统的安装方式,本部分先来演示使用 ISO 文件或 CDROM 方式安装操作系统,这种方式最为接近 Windows 平台的虚拟化软件安装操作系统的方式,选择好安装方式后,点击”Forward”继续:

图.6 定位本地媒体文件

为了演示起见,已经上传一个 iso 文件至主机,如果 ISO image 文件列表显示为空的话,需要点击”Browse”进行浏览:

图.8 添加本地 ISO 镜像文件

在新窗口点击”Browse Local”按钮,然后找到上传的 ISO 文件,再点击”Open”按钮就可以将 ISO 文件添加成功。镜像文件添加成功后,点击 “Forward”继续:

图.9 设置虚拟机内存及 CPU

设置好虚拟机内存大小及 CPU 数量后,点击”Forward”继续:

图.9 设置虚拟机存储

此时,需要给虚拟机设置存储,也就是虚拟机需要使用的磁盘。理论上虚拟机和 KVM 主机可以共用一个文件系统,这显然不方便管理和维护。于是我们点击”Manage”按钮给虚拟机创建磁盘:

图.10 选择存储卷窗口

点击”Volume”后面的加号按钮,就会弹出一个亲的窗口,用于设置添加存储卷:

图.11 添加存储卷

根据图.11  的设置,添加一个”.img”文件,用于作为虚拟机的存储磁盘。如果需要马上分配容量的话,自行设置即可。全部完成后,点击”Finish”完成添加。此时,在存储卷选择窗口就会看到这个新添加的存储卷,为虚拟机选择到该存储卷后,点击”Forward”继续:

图.12 虚拟机汇总信息

最后,向导会显示新建虚拟机的汇总信息,并且可以设置网络设置,简单起见,选择默认的 NAT 方式,全部无误后喽击”Finish”完成创建。

最后,启动虚拟机,如果系统启动正常,则完成了 KVM 虚拟机的安装和部署:

图.13 启动 KVM 虚拟机

现在,我们已经初步演示了什么是 KVM,以及使用 GUI 工具管理虚拟平台,部署虚拟机以及其他的事情。

一切都还没有结束,现在学习的知识将为下一部分做好准备。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注