ウェブサイト検索

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

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