KVM 是指基於內核的虛擬機,它有助於運行具有自己的操作系統和虛擬專用硬件的多個 Linux 或基於 Windows 的獨立來賓。 要運行 KVM,您的系統必須與 AMD-V 和 Intel-VT 等硬件虛擬化擴展兼容。
VM 模板是包含特定虛擬機配置和來賓操作系統的虛擬機副本。如果您需要部署同一實例的多個虛擬機,使用模板創建虛擬機既方便又節省大量時間和存儲空間。
本教程展示瞭如何從 KVM 上的現有 VM 創建 VM 模板。在本文中,我們將在 Ubuntu 20.04 系統上安裝 KVM 並創建 Linux OS 模板。在繼續該過程之前,您將被要求準備一個安裝了 KVM 的系統。
創建 KVM 虛擬機
首先,確保 libvirtd 守護進程正在您的系統上運行。如果沒有,請使用 systemctl 命令啟動並啟用守護程序。
$ sudo systemctl start libvirtd
$ sudo systemctl enable libvirtd
檢查 libvirtd 守護進程的狀態。
$ sudo systemctl status libvirtd
如果您當前的系統是 Ubuntu/Debian,請使用以下命令啟用 vhost-net 內核模塊:
$ sudo modprobe vhost_net
要創建模板,您必須首先在系統上安裝實例。使用如下所示的 qemu-img 命令創建一個 15G centos 8 KVM 鏡像。
$ sudo qemu-img create -o preallocation=metadata -f qcow2 /var/lib/libvirt/images/centos8.qcow2 15G
然後使用下面描述的 virt-install 命令創建一個虛擬機。我們在這裡使用 CentOS 8 作為客戶操作系統,但您也可以使用其他發行版。仔細調整包含您要安裝的操作系統的 ISO 映像的路徑 (/home/janak/Downloads/CentOS-8.4.2105-x86_64-boot.iso) 以匹配您要安裝的操作系統的路徑。虛擬機。
$ sudo virt-install --virt-type kvm --name centos8 --ram 2048 --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 --cdrom=/home/janak/Downloads/CentOS-8.4.2105-x86_64-boot.iso
在上面的命令中,將 -cdrom 選項的參數替換為下載的 centos iso 映像。該命令將在 KVM 上安裝並運行 VM,因此使用 virt-manager 打開 KVM。
$ sudo virt-manager
打開 KVM,您將看到 VM 正在運行。 開啟虛擬機後,系統會啟動開機程序,你會看到下面的centos初始化頁面。然後完成設置過程並完成設置。
在 KVM 中創建虛擬機模板
設置完成後,登錄您的系統並更新您的系統以安裝所有基本和必需的軟件包。
要更新系統存儲庫中的軟件包信息,請使用:
$ sudo yum update -y
安裝一些您可能需要的基本軟件包。就我而言,我安裝了以下軟件包:
$ sudo yum install curl epel-release unzip telnet wget -y
然後禁用 zeroconf 路由。 Zeroconf 是一種網絡方法,它允許兩台計算機進行通信並共享彼此的資源。使用 Internet 協議 (IP) 在兩台計算機之間建立通信。
$ echo "NOZEROCONF=yes" | sudo tee -a /etc/sysconfig/network
現在關閉虛擬機並繼續進一步處理。
$ sudo poweroff
通過在常規終端中運行以下 virt-sysprep 命令來清理您的實例: virt-sysprep 是一個命令行實用程序,用於重新配置或重置 VM 以使其可克隆。
$ sudo virt-sysprep -d centos8
命令中的 centos8 指的是你安裝的虛擬機的名稱,所以如果你有不同的虛擬機名稱,請用你的虛擬機名稱替換。如果您的系統上沒有安裝 virt-sysprep,您可以使用以下命令安裝它。
$ sudo apt update
$ sudo apt install libguestfs-tools
最後,通過運行 virsh undefined domain 命令刪除來賓虛擬機的配置:
$ sudo virsh undefine centos8
恭喜。已創建模板。現在您可以克隆和部署多個實例。
結論是
感謝您閱讀本文。在本文中,您將了解如何創建虛擬機並創建模板來創建多個實例及其部署。