
本教程讨论了KVM介绍、部署以及如何在基于RedHat的发行版(如RHEL/CentOS7和Fedora 21)下使用它创建虚拟机。
KVM是什么?
KVM(Kernel-based Virtual Machine)是Linux在Intel 64和AMD 64硬件上的全虚拟化解决方案,自2.6.20版起已包含在主线Linux内核中,对于大多数工作负载而言,它是稳定且快速的。
KVM特点
当您使用KVM部署虚拟平台时,您将获得许多有用的功能和优势。KVM hypervisor支持以下功能:
- 过度承诺:这意味着分配的虚拟CPU或内存多于系统上可用的资源。
- 瘦配置:允许为每个客户虚拟机分配灵活的存储空间,并优化可用空间。
- 磁盘I/O限速:提供设置从虚拟机发送到主机机器的磁盘I/O请求的限制的能力。
- 自动NUMA平衡:提高在NUMA硬件系统上运行的应用程序的性能。
- 虚拟CPU热插拔功能:提供根据需要在运行中的虚拟机上增加处理能力的能力,无需停机。
这是我们首个关于KVM(基于内核的虚拟机)系列,我们将分阶段详细介绍以下文章。
前提条件
确保您的系统具有硬件虚拟化扩展功能:对于基于Intel的主机,请使用以下命令验证CPU虚拟化扩展[vmx]是否可用。
[root@server ~]# grep -e 'vmx' /proc/cpuinfo

对于基于AMD的主机,请验证CPU虚拟化扩展[svm]是否可用。
[root@server ~]# grep -e 'svm' /proc/cpuinfo

如果没有输出,请确保BIOS中已启用虚拟化扩展。验证KVM模块是否加载到内核中,“它应该默认加载”。
[root@server ~]# lsmod | grep kvm
输出应包含kvm_intel以用于基于Intel的主机,或包含kvm_amd以用于基于AMD的主机。

开始之前,您需要在系统上配置根帐户或具有sudo特权的非根用户,并确保系统已更新至最新状态。
[root@server ~]# yum update
确保Selinux处于宽松模式。
[root@server ~]# setenforce 0
第1步:KVM安装和部署
1. 首先我们将安装qemu-kvm和qemu-img软件包。这些软件包提供了用户级KVM和磁盘映像管理器。
[root@server ~]# yum install qemu-kvm qemu-img
2. 现在,您已经具备在主机上部署虚拟平台的最低要求,但我们仍然有一些有用的工具来管理我们的平台,例如:
- virt-manager提供了一个GUI工具来管理您的虚拟机。
- libvirt-client提供了一个CL工具来管理您的虚拟环境,该工具称为virsh。
- virt-install提供了一个名为“virt-install”的命令,用于从CLI创建您的虚拟机。
- libvirt 提供了与虚拟化管理程序和主机系统交互的服务器端和主机端库。
让我们使用以下命令安装这些工具。
[root@server ~]# yum install virt-manager libvirt libvirt-python libvirt-client
3. 对于RHEL/CentOS7用户,还需要安装额外的软件包组,如:虚拟化客户端、虚拟化平台和虚拟化工具。
[root@server ~]#yum groupinstall virtualization-client virtualization-platform virtualization-tools
4. 管理所有平台的虚拟化守护程序是“libvirtd”。让我们重新启动它。
[root@server ~]#systemctl restart libvirtd
5. 在重新启动守护程序之后,通过运行以下命令来检查其状态。
[root@server ~]#systemctl status libvirtd
示例输出
libvirtd.service - Virtualization daemon Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled) Active: active (running) since Mon 2014-12-29 15:48:46 EET; 14s ago Main PID: 25701 (libvirtd)

现在,让我们转到下一部分来创建我们的虚拟机。
第2步:使用KVM创建虚拟机
正如我们之前提到的,我们有一些有用的工具来管理我们的虚拟平台和创建虚拟机。其中一个工具叫做[virt-manager],我们将在下一部分中使用它。
6. 虽然 virt-manager 是一个基于GUI的工具,我们也可以从终端或GUI启动它。
[root@server ~]#virt-manager
使用GNOME

使用GNOME Classic

7. 启动工具后,将出现此窗口。

8. 默认情况

勾选“连接到远程主机”选项,然后提供远程服务器的主机名/IP。如果您需要在每次启动管理器时建立与远程主机的连接,请勾选“自动连接”选项。
9.让我们回到本地主机,在创建新虚拟机之前,您应决定文件将存储在哪里?换句话说,您应为您的虚拟机创建卷磁盘(虚拟磁盘/磁盘镜像)。
右键单击本地主机,选择“详情”,然后选择“存储”选项卡。


10.接下来,点击“新建卷”按钮,然后输入您的新虚拟磁盘(卷磁盘)的名称,以及在“最大容量”部分输入您想要/需要的大小。

分配大小是您的磁盘的实际大小,在完成步骤后将立即从您的物理磁盘中分配。
注意:这是存储管理领域中的重要技术,称为“精简配置”。它用于仅分配已使用的存储大小,而不是所有可用大小。
例如,您创建了
换句话说,分配的物理大小将根据实际使用的大小动态分配。您可以在VMWare vStorage Thin Provisioning中找到更多详细信息。
11.您将注意到新卷磁盘的标签已出现在列表中。

您还应该注意到新磁盘映像(卷磁盘)的路径,默认情况下将位于/var/lib/libvirt/images下,您可以使用以下命令进行验证。
[root@server Downloads]# ls -l /var/lib/libvirt/images -rw-------. 1 root root 10737418240 Jan 3 16:47 vm1Storage.img
12.现在,我们准备创建虚拟机。让我们点击主窗口中的“VM”按钮,将出现此向导窗口。

选择您将用于创建虚拟机的安装方法。现在我们将使用本地安装媒体,稍后我们将讨论剩余的方法。
13.现在是指定要使用的本地安装媒体的时候了,我们有两个选项:
- 从物理[CDROM/DVD]。
- 从ISO映像。
对于我们的教程,请使用ISO映像方法,因此您应提供ISO映像的路径。

重要提示:不幸的是,对于使用RHEL/CentOS7的用户,存在一个非常愚蠢的错误。此错误会阻止您使用物理[CDROM/DVD]进行安装,您会发现选项被灰化,如下所示。

如果将光标放在上面,将出现此错误消息。

到目前为止,对于这个 bug 还没有官方/直接的解决方案,您可以在同一个位置找到更多信息:https://bugzilla.redhat.com。
14. 存储已经返回,我们将使用之前创建的虚拟磁盘在其上安装虚拟机。如下所示。

15. 最后一步会询问您的虚拟机名称以及其他高级选项,我们稍后再讨论。

如果您想更改一些配置或进行一些自定义,请勾选“在安装前自定义配置”选项。然后点击 完成 并等待几秒钟,控制台将会出现以管理您的客户操作系统

结论
现在您已经学会了什么是 KVM,如何使用 GUI 工具管理您的虚拟平台,如何使用它部署虚拟机以及其他一些令人惊叹的功能。
尽管这篇文章还没有结束,在我们即将发布的文章中,我们将讨论与 KVM 相关的另一些重要主题。利用之前的知识来动手实践,并准备好下一个部分的内容……
Source:
https://www.tecmint.com/install-and-configure-kvm-in-linux/