KVM 是指基於內核的虛擬機,它有助於運行多個基於 Linux 或 Windows 的獨立來賓,它們具有自己的操作系統和虛擬專用硬件。 要運行 KVM,您的系統必須兼容硬件虛擬化擴展,例如 AMD-V 和 Intel-VT。
VM 模板是包含特定虛擬機配置和來賓操作系統的虛擬機副本。當您需要部署同一實例的多個 VM 時,使用模板創建虛擬機很有用。這在節省時間和存儲方面起著很大的作用。
本教程介紹如何從 KVM 上的現有 VM 創建 VM 模板。在本文中,我們將在 Ubuntu 20.04 系統上安裝 KVM 並創建一個 Linux 操作系統模板。在繼續該過程之前,您需要準備一個安裝了 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
恭喜。模板已創建。現在您可以克隆和部署那麼多的多個實例。
結論是
感謝您閱讀本文。在本文中,您將學習如何創建虛擬機和創建模板來創建多個實例及其部署。