如何在 CentOS 8 上安装 KVM

不同的业务和开发工作负载要求您的环境具有更多功能。 虚拟化提供了创建虚拟环境以托管、测试和开发关键任务项目的选项。

如果您需要帮助在 CentOS 8 上安装基于内核的虚拟机 (KVM),那么您来对地方了。 我们将介绍在配备图形用户界面 (GUI) 和使用命令行界面 (CLI) 的服务器的桌面环境中设置虚拟机 (VM) 的步骤。

什么是KVM?

KVM 是一种开源虚拟化解决方案,可将您的 Linux 机器变成 x86 硬件上的管理程序。 它为每个 VM 提供了自己的虚拟化资源集,例如处理器、存储和内存。

什么是虚拟化?

虚拟化是在物理硬件上运行虚拟计算机实例的过程。 它允许您重新分配系统硬件以用作较小的虚拟计算机。

虚拟化通过允许来宾操作系统 (OS) 在主机操作系统上运行来实现这一点。 主机操作系统是在硬件上运行的操作系统,它与任何来宾服务器实例 (VM) 共享其资源。 来宾操作系统是在您创建的 VM 上运行的虚拟化操作系统。

当主机操作系统无法运行所需的软件(旧软件的兼容性)或将一台大型计算机变成较小的计算机时,虚拟化非常有用。 后者是托管服务提供商为许多客户提供完全控制他们自己的环境所做的工作。

要求

现在我们了解了 KVM 的基础知识及其工作原理,以下是在 CentOS 8 上安装虚拟机所需的内容:

  • 运行 CentOS 8 的计算机或服务器。
  • 要安装的客户操作系统的 ISO 映像(光盘映像)。
  • 根或 sudo 机器上的特权。
  • CLI 或终端访问。

注意:这些步骤可以在 CentOS 7 和 AlmaLinux 8.4 桌面和服务器变体上执行。 AlmaLinux OS 与 CentOS Stream 之前的 RHEL 和 CentOS 版本(CentOS 7 和 8)1:1 二进制兼容。

软件虚拟化 VS 硬件虚拟化

软件虚拟化是指主机操作系统模拟在来宾计算机上执行的所有软件。 虽然性能受到影响,但额外的抽象层更容易维护,因为主机和来宾操作系统将完全独立。

硬件虚拟化的优点是宿主机硬件会执行来宾机器上运行的全部或部分指令,从而提高性能; 但是,由于主机硬件必须能够执行此操作,因此它限制了兼容的系统或平台。

硬件虚拟化兼容性

让我们检查一下您的硬件是否与硬件虚拟化兼容,因为您的来宾操作系统会表现得更好。

运行下面的命令。 如果有输出,说明兼容硬件虚拟化。 vmx 是 Intel 硬件的标志,svm 是 AMD 硬件的标志。

$ cat /proc/cpuinfo | egrep "vmx|svm"

没有输出的原因有两个:

  • 您的硬件与虚拟化不兼容。
  • 您的硬件在基本输入/输出系统 (BIOS) 中已关闭。

查看 CPU 的规格以确认它是否兼容。 如果是,请在计算机启动之前采取措施在 BIOS 中启用虚拟化。

使用 GUI 安装 VM

让我们在 CentOS 虚拟化服务器(主机服务器)中安装一个具有桌面环境和 GUI 的 VM。

步骤 1:安装必要的软件

1. 让我们更新我们的软件包并收集所需的软件。 virt-manager 将允许我们从 GUI 管理 VM,而 virt-top 和 libguestfs-tools 提供管理工具。 实现这些包是开始使用虚拟机的最简单方法。

$ sudo yum update
$ sudo yum install @virt virt-manager
$ sudo yum install virt-top libguestfs-tools  virt-install virt-viewer

2. 让我们检查 KVM 是否安装正确。

$ lsmod | grep kvm

我们的输出应该是这样的。

3. 接下来,确保 libvirtd 处于活动状态并正在运行。

$ sudo systemctl start libvirtd.service $ sudo systemctl enable libvirtd.service

步骤 2:使用图形用户界面安装

使用之前安装的虚拟机管理器添加虚拟机。

在您的桌面上,单击 活动 在左上角。 它为您提供了一个菜单,用于查看类似于 Windows 中的开始菜单的常用应用程序。 然后,键入 虚拟的 在屏幕中央的搜索栏中显示 虚拟机管理器 应用。 最后,单击图标打开应用程序。

第 3 步:设置虚拟机

请按照以下步骤设置您的 VM。

1. 点击 文件 然后 新建虚拟机.

2. 选择 本地安装介质(ISO 映像或 CDROM) 然后点击 向前.

3. 点击 浏览 查找并选择您首选的安装媒体路径(如果它要求权限,请单击 是的)。 验证“从安装媒体/源自动检测”复选框是否已选中,并且它检测到适当的操作系统。 点击 向前 接着说。

4. 为 VM 添加所需的内存量和 CPU 内核数,然后单击 向前.

5. 选择磁盘大小并单击 向前.

6. 最后的菜单将显示之前选择的配置。 点击 后退 进行任何更改。 但如果不需要更改,请单击 结束.

一旦你点击 结束,一旦 VM 自动启动,请按照来宾操作系统安装说明进行操作。

在此示例中,您会看到一个 Ubuntu 20.04 ISO 安装. KVM 部分已在我们的 CentOS 虚拟化服务器中完全设置。

可用性提示

丢失光标

如果您的光标丢失或鼠标没有响应,则很可能是 VM 捕获的。 要将其返回到主机桌面,请按住 控制 + 替代 键。

调整虚拟机大小

如果 VM 的显示看起来偏离或超出范围,请单击 看法, 然后 调整到虚拟机.

还原更改

在执行改变 VM 行为的软件更改或升级时,快照非常有用。 单击“快照”图标可拍摄 VM 的快照,这将允许您回滚到与快照相同的 VM 状态。

您现在已成功安装并准备使用 Ubuntu VM。

通过 CLI 添加虚拟机

在本例中,您将使用没有 GUI 的 CentOS 虚拟化服务器。 ISO 是一个 Ubuntu 服务器安装,也没有 GUI. 以 root 用户身份运行命令。

座舱 是用来安装VM的手段。 虽然还有其他方法,但它已安装在 CentOS 8 上。您需要安装 cockpit-machines 才能使 Cockpit 正常运行。

由于虚拟网络计算 (VNC) 服务器,Cockpit 允许我们安装 Ubuntu 服务器。 VNC 是一个图形桌面共享系统,它使用远程帧缓冲协议 (RBF) 来远程控制另一台计算机。

步骤 1:安装所需的软件

1.与GUI示例类似,安装virt-top和libguestfs-tools。

# yum install  @virt virt-top libguestfs-tools  virt-install virt-viewer -y

2.记得启动并启用libvirtd。

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

3. 下面的命令安装 Cockpit 和 cockpit-machines,但跳过已经安装的包。

# yum install cockpit cockpit-machines

4. 使用以下命令启动并启用 Cockpit。

# systemctl start cockpit.socket # systemctl enable cockpit.socket

5. 验证防火墙允许 Cockpit。

# firewall-cmd --add-service=cockpit --permanent # firewall-cmd --reload

步骤 2:通过 CLI 创建虚拟机

1. 通过命令行使用以下命令添加虚拟机。 它需要根据您的 VM 规范进行自定义。

# virt-install --name Ubuntu-server --ram=2048 --vcpus=2 --cpu host --hvm --disk path=/var/lib/libvirt/images/ubuntuservervm1,size=20 --cdrom /var/lib/libvirt/boot/ubuntu-20.04.3-live-server-amd64.iso --graphics vnc

注意:上述命令的 ISO 目录为 –cdrom /var/lib/libvirt/boot/ubuntu-20.04.3-live-server-amd64.iso。 建议您将 ISO 放在 /var/lib/libvirt/boot 目录中,这样您就不需要赋予更多权限。

以下是标志的含义的详细信息。 根据您的需要修改它们:

  • –name:VM 的名称。
  • –ram:VM 可以使用的 ram 量(以 MB 为单位)(2048M 等于 2 GB)。
  • –vcpus:分配给 VM 的虚拟 CPU 内核。
  • –cpu 主机:CPU 或处理器类型。 命令的主机部分使 VM 完全模拟主机处理器。
  • –hvm:来宾 (VM) 已完全虚拟化。
  • –disk path:您的 CentOS 8 虚拟服务器上存储 VM 的虚拟磁盘的位置,紧跟其后的是大小。
  • size=20:VM 的磁盘空间量(以 GB 为单位)。
  • –graphics:选择用于安装来宾操作系统的工具(VNC、Spice 等)

要获取每个标志可用的所有选项和子选项,请键入 virt-install –help 命令。

您的终端将显示它正在等待安装完成。 完成后进入下一步。

2. 使用您的 IP 地址登录 Cockpit 以完成安装。 使用以下命令查找 CentOS 虚拟化服务器的私有 IP 地址。

# hostname -I | awk '{print $1}'

3. 打开您的网络浏览器并输入 https://你的IP:9090.

注意:将 yourIP 替换为您的实际私有 IP 地址。

它将给出有关 SSL 证书的警告。 由于这是您自己的服务器,请单击 进步 并继续。

使用 CentOS 虚拟化服务器的 root 用户名和密码登录 Cockpit 管理面板。 点击 虚拟机 左边的部分,稍等片刻,它应该显示 VM 正在运行。

4. 单击 VM 的名称(在本例中为 Ubuntu-server)。

您将进入带有右侧终端的概览屏幕,以在 VM 上完成来宾操作系统的安装。

5. 按照步骤安装您的来宾操作系统。 如果您正在安装 Ubuntu 服务器,请记下您在设置时输入的用户名和密码。 您将使用它通过 SSH(安全外壳)连接到虚拟机。

第 3 步:通过 SSH 连接到 VM

安装后通过 SSH 连接到您的 VM。 SSH 访问需要主机服务器和 VM 的私有 IP 地址。

在 Cockpit 中,您可以通过向下滚动到 网络 部分或将终端与上一步中的命令一起使用。

注意:Cockpit 将 IP 显示为 yourIP/24。 丢弃 /24 子网掩码,因为它不需要。

使用您首选的方法,通过 SSH 连接到您的 CentOS 虚拟化服务器和 VM。

VM 用户名和密码将是您在安装过程中输入的用户名和密码。

新 VM 已安装并可供使用。

基本命令

以下是一些从命令行管理虚拟机的有用命令。 值得注意的是,您也可以从 Cockpit 控制面板执行这些操作。 如果您选择从 CentOS 虚拟化服务器运行以下命令,请将 Ubuntu-server 替换为您的 VM 的名称。

使用以下命令获取有关可用命令及其功能的帮助。

# virsh --help

下面的命令列出所有虚拟机,无论它们的状态如何。

# virsh list --all

使用以下命令关闭虚拟机。

# virsh shutdown Ubuntu-server

使用以下命令启动 VM。

# virsh start Ubuntu-server

使用此命令克隆您的 VM。

# virt-clone --original Ubuntu-server --auto-clone

您希望克隆的 VM 名称跟在命令的 –original 部分之后。 –auto-clone 命令将自动为克隆分配新名称和磁盘位置。

要创建克隆,首先需要关闭或暂停要克隆的 VM。 然后,在克隆创建完成后,使用 virsh list –all 命令查看新的 VM。 在本示例中,新克隆的 VM 名为 Ubuntu-server-clone。

这些是命令行中最基本的虚拟化命令。

包起来

本教程是 KVM 虚拟化的起点。 它展示了如何在带有和不带有 GUI 的 CentOS 8 上安装 KVM。
Liquid Web 不希望您单独进行服务器虚拟化。 这就是为什么我们提供私人 Cloud 由 VMware 环境提供支持,以适应您的关键任务工作负载。 立即联系我们的销售团队,讨论如何获得适合您需求的环境。

私人的 Cloud 由 VMware 和 NetApp 提供支持横幅