仮想マシンテンプレートは、基本的に、インストールされた仮想マシンのコピーであり、仮想マシンの複数のインスタンスを展開する場合に役立ちます。テンプレートの作成は、仮想マシンの作成、インストールする必要のあるすべてのパッケージのインストール、最後にテンプレートのクリーンアップを含む3ステップのプロセスです。
先に進んで、これをどのように達成できるか見てみましょう。
ステップ1:LinuxへのKVMのインストール
最初のステップは、 KVMをインストールすることです システム上で。以下に関する包括的なチュートリアルがあります:
- Ubuntu20.04にKVMをインストールする方法
- CentOS8に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仮想イメージを作成する
テンプレートを作成する前に、まず、インストールインスタンスを用意する必要があります。コマンドラインで、 20G CentOS 8 KVMを作成します qemu-imgを使用した画像 示されているコマンド。
$ 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仮想マシンテンプレートイメージの作成
インストールが完了したら、VMにログインして、すべてのシステムパッケージを更新します。
$ 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
完了したら、必ず仮想マシンの電源を切り、図のようにVMテンプレートイメージをクリーンアップしてください。
$ sudo virt-sysprep -d centos8
virt-sysprep は、仮想マシンからクローンを作成するために仮想マシンをリセットするコマンドラインユーティリティです。 SSHホストキー、ログファイル、ユーザーアカウント、一部の永続的なネットワーク構成などのエントリを削除します。このコマンドを使用するには、まず、VMの電源がオフになっていることを常に確認する必要があります。
$ sudo virt-sysprep -d centos8

最後に、示されているコマンドを呼び出して、VMドメインの定義を解除します。
$ sudo virsh undefine centos8

これで、テンプレートイメージのクローン作成と展開の準備が整いました。