KVM(カーネルベースの仮想マシン)は、Linuxマシン用に構築されたオープンソースの仮想化テクノロジーです。カーネルモジュール–コア仮想化プラットフォームを提供するkvm.koとプロセッサ固有のモジュール(Intelプロセッサの場合はkvm-intel.ko、AMDプロセッサの場合はkvm-amd.ko)で構成されます。
KVMを使用して仮想マシンを作成する方法は2つあります。仮想マシンを作成するためのGUIインターフェイスを提供するX11サーバーであるvirt-managerツールを活用できます。さらに、コマンドラインを使用して、展開する仮想マシンに関連付けられたさまざまなパラメーターを定義することにより、仮想マシンを作成できます。
UbuntuでGUIを使用してKVM仮想マシンをインストールする方法については、すでに詳細なガイドがあります。このガイドでは、別のアプローチを採用し、コマンドラインインターフェイスからKVM仮想マシンを作成する方法を示します。 Ubuntu 18.04を使用していますが、これはすべてのLinuxディストリビューションで機能するはずです。
ステップ1)仮想化が有効になっているかどうかを確認します
開始時に、システムが仮想化テクノロジーをサポートしているかどうかを確認する必要があります。これを実現するには、次のコマンドを実行します。
$ egrep -c '(vmx|svm)' /proc/cpuinfo
システムが仮想化テクノロジーをサポートしている場合は、0より大きい出力を取得する必要があります。
次に、システムでKVM仮想マシンを実行できるかどうかを確認します。
$ kvm-ok
画面にエラーが表示された場合は、kvm-okユーティリティがまだインストールされていないことを意味します。したがって、次のコマンドをインストールして、kvm-okユーティリティをインストールします。
$ sudo apt install -y cpu-checker
次に、kvm-okコマンドを実行して、KVM仮想化がサポートされているかどうかを確認します。
ステップ2)KVM、Qemu、virt-manager、libvirtdデーモンをインストールします
次のステップは、KVMと関連パッケージをインストールすることです。したがって、次のコマンドを実行します:
$ sudo apt install -y qemu qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager
このコマンドは、次のパッケージをインストールします。
- qemu-kvm –これは仮想化サポートを提供するメインのKVMパッケージです。
- libvirt –仮想マシンの作成と管理をサポートするlibvirtdデーモンが含まれています。
- libvirt-client –このパッケージは、仮想マシンとの対話に使用されるvirshユーティリティを提供します。
- virt-install –コマンドラインから仮想マシンを作成してそれらの仮想マシンにOSをインストールするのに役立つユーティリティ。
- virt-viewer –仮想マシンのグラフィカルビューを表示するユーティリティ。
インストールしたら、必要なkvmモジュールがロードされているかどうかを確認する必要があります。したがって、次のコマンドを実行します。
$ lsmod | grep kvm
さらに、libvirtdデーモンが次のように実行されていることを確認します。
$ sudo systemctl status libvirtd.service
完全!すべての前提条件が整っています。次に、仮想マシンをインストールします。
ステップ3)コマンドラインから仮想マシンを作成する
ホームディレクトリのDownloadsフォルダにあるDebian11isoイメージを使用してDebian仮想マシンをインストールします。
新しい仮想マシンを作成するには、次のコマンドを実行します。
$ sudo virt-install --name=debian-vm \ --os-type=Linux \ --os-variant=debian9 \ --vcpu=2 \ --ram=2048 \ --disk path=/var/lib/libvirt/images/Debian.img,size=15 \ --graphics spice \ --location=/home/james/Downloads/debian-11.1.0-amd64-DVD-1.iso \ --network bridge:virbr0
少し時間を取って、このコマンドを分析してみましょう:
- –name属性は、仮想マシンの名前を示します。任意の名前を付けてください。
- –os-typeディレクティブは、オペレーティングシステムのタイプ(この場合はLinux)を指定します。
- –os-variantオプションは、オペレーティングシステムのリリースを指定します。
注:KVMには事前定義された–os-variantオプションが用意されており、独自のオプションを作成することはできません。サポートされているさまざまなバリアントを確認するには、osinfo-queryosコマンドを実行します。これには、考えられるすべてのオペレーティングシステムとサポートされているバリアントが一覧表示されます。また、バリアントは最新のLinuxリリースと一致しない場合があることに注意してください。この場合、debian11の代わりにdebian9を使用しています。後者は、KVMによってバリアントオプションの1つとして提供されていないためです。
- 次に進むと、–vcpuパラメーターは、仮想マシンに割り当てられるCPUコアの数を指定します。
- –ramオプションは、割り当てるRAMの量をメガバイト単位で指定します。
- –disk pathオプションは、仮想マシンイメージのパスを定義します。 –diskディレクティブは、ギガバイト単位のVMのディスク容量です。
- –graphicsオプションは、インタラクティブインストール用のグラフィカルツールを指定します。この例では、spiceを使用しています。
- –locationオプションは、ISOイメージの場所を指します
- 最後に、–networkブリッジディレクティブは、仮想マシンで使用されるインターフェイスを指定します。
すべてがうまくいけば、上の画像に示されているように出力が表示され、続いてインストールを待機している仮想マシンのvirtビューアポップアップが表示されます。
この例では、Debian 11をインストールしており、これが最初のインストール画面です。最後までインストールを進めました。
ステップ4)仮想マシンとの対話
virshユーティリティは、コマンドラインで仮想マシンと対話するために使用されるコンポーネントです。たとえば、現在実行中の仮想マシンを表示するには、次のコマンドを実行します。
$ virsh list
電源がオフになっている仮想マシンを含むすべての仮想マシンを一覧表示するには、–allオプションを追加します。
$ virsh list --all
仮想マシンをシャットダウンするには、次の構文を使用します。
$ sudo virsh shutdown vm_name
たとえば、仮想マシンをオフにするには、コマンドは次のようになります。
$ sudo virsh shutdown debian-vm
仮想マシンを起動またはパワーオンするには、次のコマンドを実行します。
$ sudo virsh start debian-vm
マシンを再起動するには、次のコマンドを実行します:
$ sudo virsh reboot debian-vm
仮想マシンを破棄または強制的にオフにするには、次のコマンドを実行します。
$ sudo virsh destroy debian-vm
仮想マシンとそのディスクファイルを削除または削除するには、
を実行します。a)最初に仮想マシンをシャットダウンします
b)仮想マシンとそれに関連するストレージファイルを削除し、実行します
$ sudo virsh undefine –domain
例:
$ sudo virsh undefine --domain debian-vm --remove-all-storage
まとめ:
これは、コマンドラインでKVMを使用して仮想マシンをインストールする方法に関するガイドでした。仮想マシンの展開を成功させるために指定する重要なオプションのいくつかを強調しました。また、さらに一歩進んで、virshユーティリティを使用してコマンドラインで仮想マシンと対話する方法を示しました。それらはほんの数例であり、かなりの数があります。