RHCSA系列:使用KVM进行虚拟化和客户机管理的基础知识–第15部分

如果您在字典中查找“virtualize”一词,您会发现它的意思是“创建某物的虚拟(而非实际)版本”。在计算机领域,虚拟化一词指的是在同一物理(硬件)系统的顶部同时运行多个操作系统并将它们相互隔离的可能性,这在虚拟化模式中被称为主机

RHCSA Series: Essentials of Virtualization and Guest Administration with KVM – Part 15

通过使用虚拟机监视器(也称为hypervisor),虚拟机(称为客户机)从底层硬件获得虚拟资源(例如CPU、RAM、存储、网络接口等)。

有了这个概念,很明显虚拟化的主要优势之一是节约成本(在设备和网络基础设施方面以及在维护工作方面),以及减少容纳所有必要硬件所需的物理空间。

由于这篇简短的操作说明无法涵盖所有虚拟化方法,我鼓励您参考摘要中列出的文档以获取有关该主题的更多详细信息。

请记住,本文旨在作为学习在RHEL 7中使用KVM(基于内核的虚拟机)和命令行实用程序学习虚拟化基础知识的起点,而不是对该主题进行深入讨论。

验证硬件要求并安装软件包

为了设置虚拟化,您的 CPU 必须支持。您可以使用以下命令验证系统是否符合要求:

# grep -E 'svm|vmx' /proc/cpuinfo

在下面的截图中,我们可以看到当前系统(带有 AMD 微处理器)支持虚拟化,如 svm 所示。如果我们使用基于 Intel 的处理器,我们将在上述命令的结果中看到 vmx

Check KVM Support

此外,您需要在主机的固件(BIOSUEFI)中启用虚拟化功能。

现在安装必要的软件包:

  1. qemu-kvm 是一个开源虚拟化程序,为 KVM hypervisor 提供硬件仿真,而 qemu-img 提供一个用于操作磁盘映像的命令行工具。
  2. libvirt 包括与操作系统的虚拟化功能交互的工具。
  3. libvirt-python 包含一个模块,允许用 Python 编写的应用程序使用 libvirt 提供的接口。
  4. libguestfs-tools:用于虚拟机的各种系统管理员命令行工具。
  5. virt-install:用于虚拟机管理的其他命令行实用程序。
# yum update && yum install qemu-kvm qemu-img libvirt libvirt-python libguestfs-tools virt-install

安装完成后,请确保启动并启用 libvirtd 服务。

# systemctl start libvirtd.service
# systemctl enable libvirtd.service

默认情况下,每个虚拟机只能与同一物理服务器中的其他虚拟机和主机进行通信。为了让客户端能够访问我们局域网内的其他机器以及互联网,我们需要在主机上设置一个桥接接口(比如说 br0),方法如下:

1. 将以下行添加到我们主要网卡配置文件(很可能是 /etc/sysconfig/network-scripts/ifcfg-enp0s3)中:

BRIDGE=br0

2. 创建 br0 的配置文件(/etc/sysconfig/network-scripts/ifcfg-br0),内容如下(请注意可能需要更改 IP 地址、网关地址和 DNS 信息):

DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
IPADDR=192.168.0.18
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
NM_CONTROLLED=no
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=br0
ONBOOT=yes
DNS1=8.8.8.8
DNS2=8.8.4.4

3. 最后,在 /etc/sysctl.conf 中启用数据包转发,然后加载更改到当前内核配置中:

net.ipv4.ip_forward = 1

# sysctl -p

请注意,您可能还需要告诉 firewalld 允许此类流量。请记住,如果需要帮助,可以参考本系列中有关该主题的文章(第11部分:使用FirewallD和Iptables进行网络流量控制)。

Source:
https://www.tecmint.com/kvm-virtualization-basics-and-guest-administration/