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 仮想マシン テンプレート イメージの作成
インストールが完了したら、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
これで、テンプレート イメージの複製と展開の準備が整いました。