网站搜索

如何创建 KVM 虚拟机模板


虚拟机模板本质上是已安装虚拟机的副本,当您想要部署虚拟机的多个实例时,它会派上用场。创建模板的过程分为 3 个步骤,其中包括创建虚拟机、安装要安装的所有必备包,最后清理模板。

让我们继续看看如何实现这一目标。

第1步:在Linux中安装KVM

第一步是在您的系统上安装KVM。我们有关于以下内容的全面教程:

  • 如何在 Ubuntu 20.04 上安装 KVM
  • 如何在 CentOS 8 上安装 KVM

此外,请确保 libvirtd 守护进程正在运行并且能够在启动时自动启动。

sudo systemctl enable libvirtd
sudo systemctl start libvirtd

验证 libvirtd 守护进程是否正在运行。

sudo systemctl status libvirtd

如果您运行的是 Ubuntu/Debian 系统,请确保加载 vhost-net 映像。

sudo modprobe vhost_net

步骤2:创建KVM虚拟镜像

在创建模板之前,我们首先需要有一个安装实例。在命令行上,我们将使用 qemu-img 命令创建一个 20G CentOS 8 KVM 映像,如图所示。

sudo qemu-img create -o preallocation=metadata -f qcow2 /var/lib/libvirt/images/centos8.qcow2 20G

接下来,使用 virt-install 命令创建 CentOS 8 虚拟机,如图所示。

sudo virt-install --virt-type kvm --name centos8 --ram 2096 \
--disk /var/lib/libvirt/images/centos8.qcow2,format=qcow2 \
--network network=default \
--graphics vnc,listen=0.0.0.0 --noautoconsole \
--os-type=linux --os-variant=rhel7.0 \
--location=/home/tecmint/Downloads/CentOS-8-x86_64-1905-dvd1.iso

这将启动虚拟机实例。您可以通过转到 virt-manager 并打开控制台窗口来确认这一点,如图所示。您可以看到安装程序的默认欢迎页面。确保最后完成安装。

步骤3:创建KVM虚拟机模板镜像

安装完成后,登录虚拟机并更新所有系统软件包。

sudo dnf update

安装您认为对于开始使用至关重要的必备软件包。在本例中,我将安装 EPEL 版本、wget、curl、net-tools 和 vim。这对于您的情况可能有所不同。

sudo dnf install epel-release wget curl net-tools vim

如果您打算在云平台上部署模板,请安装 cloud-init 软件包,如图所示。

sudo dnf install cloud-init cloud-utils-growpart acpid

接下来,禁用 zeroconf 路由。

echo "NOZEROCONF=yes" >> /etc/sysconfig/network

完成后,请务必关闭虚拟机并清理虚拟机模板映像,如图所示。

sudo virt-sysprep -d centos8

virt-sysprep 是一个命令行实用程序,可重置虚拟机以便从中创建克隆。它会删除 SSH 主机密钥、日志文件、用户帐户和一些持久网络配置等条目。要使用该命令,首先必须始终确保虚拟机已关闭。

sudo virt-sysprep -d centos8

最后,调用所示命令取消定义 VM 域。

sudo virsh undefine centos8

模板映像现已准备好进行克隆和部署。