KVM の完全な形式は Kernel Virtual Machine です。 これは、Linuxのための仮想化ソリューションです。 KVM は、Linux カーネルが VMware ESXi や VSphere のようなハイパーバイザー プログラムとして動作するようにする Linux カーネル モジュールです。
この記事では、Ubuntu 20.04 LTS に KVM をインストールし、それを使用して簡単な KVM 仮想マシンを作成する方法を説明します。 それでは、始めましょう。
Enabling Hardware Virtualization:
KVM を動作させるには、コンピューターの BIOS からハードウェア仮想化拡張を有効にする必要があります。 Intel プロセッサの場合、BIOS からプロセッサ機能 VT-x または VT-d を有効にする必要があります。 AMD プロセッサの場合は、BIOS からプロセッサ機能 AMD-v を有効にする必要があります。
BIOS でハードウェア仮想化を有効にしたら、次のコマンドを実行して VT-x/VT-d または AMD-v 拡張が有効になっているかどうかを確認します。
もし、ハードウェアの仮想化を BIOS で有効にしたら、出力で svm または vmx フラグのどちらかを利用できるようになるはずです。 そのため、私の場合、svm フラグが使用可能です。 Intel プロセッサを使用している場合は、vmx になります。
Upgrade the System:
KVM をインストールする前に、Ubuntu 20.04 LTS のソフトウェア パッケージを更新してください。
最初に、Ubuntu 20 の APT パッケージ リポジトリ キャッシュを更新してください。
The APT package repository cache of Ubuntu 20.04 LTS should be updated.
ご覧のように私のUbuntu 20.04 LTS マシンのすべてのパッケージはすでに最新の状態にあります。 ですから、私は何もする必要がありません。
もしアップデートがある場合は、次のコマンドでそれらのアップデートを適用できます:
そしてYキーを押してそれから <Enter > でインストールの確認をお願いします。
更新プログラムがインストールされたら、次のコマンドでコンピューターを再起動します:
KVM をインストールする:
KVM パッケージは Ubuntu 20.0 の公式パッケージリポジトリで利用可能です。
KVM をあなたの Ubuntu 20.04 LTS にインストールすることができます。04 LTSには、以下のコマンドでインストールできます:
インストールの確認にはYキーを押して<Enter>を押してください。
APTパッケージマネージャは、インターネットから必要なすべてのパッケージをダウンロードする必要があります。
パッケージがダウンロードされると、APT パッケージマネージャはそれらをインストールします。
この時点で KVM はインストールされるべきでしょう。
LibVirt のインストール:
LibVirt は KVM 仮想マシンの作成と管理、および KVM を構成するためのツールです。 KVM による仮想化には必須のツールです。
LibVirt は、Ubuntu 20.04 LTS の公式パッケージ リポジトリで利用可能です。
LibVirt をインストールするには、次のコマンドを実行します:
インストールを確認するには、Y ボタンを押して <Enter> ボタンを押下してください。
APT パッケージマネージャは、インターネットから必要なパッケージをすべてダウンロードしインストールします。
LibVirt はこの時点でインストールされるはずです。
LibVirtをインストールしたら、以下のコマンドでログインユーザをlibvirtグループに追加します。
その後、変更を有効にするには以下のコマンドでコンピューターをリブートしてください。
一度コンピューターが起動したら、次のコマンドを実行して LibVirt が機能しているか確認します。
このコマンドによって LibVirt のバージョンナンバーが返ってくるはずです。 私の場合、それは 6.0.0.
Set Up Required KVM Directories:
すべての仮想マシンデータを整理することは良い考えだと思います。 私は通常、すべての KVM 仮想マシン データを /kvm/ ディレクトリに保管しています。 kvm/ ディレクトリに、disk/ と iso/ という 2 つのサブディレクトリを作成します。 disk/サブディレクトリには、すべての仮想マシン(VM)のハードディスク・ファイルを保存しています。 iso/ サブディレクトリには、さまざまなオペレーティング システム (例: Ubuntu、Debian、CentOS など) の ISO インストール イメージを保管しています。
次のコマンドで、同じディレクトリ構造を作成できます。
KVM 仮想マシンの作成:
このセクションでは、Ubuntu Server 20.04 LTS KVM 仮想マシンを作成する方法を説明します。
最初に、Ubuntu Server 20.04 LTS ISO インストールイメージをダウンロードする必要があります。 すべての仮想マシンファイル/データを整理しておくために、ISO イメージを /kvm/iso/ ディレクトリに保存するのは良い考えです。
そこで、次のコマンドで /kvm/iso/ ディレクトリに移動します:
あなたは、Ubuntu Server 20.Ubuntu Server 20.04 LTS ISOイメージは、Ubuntuの公式サイトから以下のコマンドでダウンロードできます:
wget は、Ubuntu Server 20.04 LTS ISO イメージをダウンロード開始するでしょう。
Ubuntu Server 20.04 LTS ISO イメージがダウンロードされたら、次のコマンドで KVM 仮想マシンを作成できます:
–os-type linux \
–os-variant ubuntu20.04 ¦ラム 1024 ¦ディスク /kvm/disk/server-01.img,device=disk,bus=virtio,size=10,format=qcow2¦グラフィックス vnc,listen=0.0.0.0¦オートコンソール無し¦hvm¦cdrom /kvm/iso/ubuntu-20.1.04.1-live-server-amd64.iso ⑭–boot cdrom,hd
ここで仮想マシン名は server-01 とします。
これからインストールするOSは linux です。
OS variant は ubuntu20.04 (Ubuntu 20.04 LTS).
OS type と OS variant 値はランダムではありません。 osinfo-query コマンドを使えば、目的の Linux ディストリビューションの OS type と OS variant を見つけることができます。 ご覧のように、Ubuntu 20.04 LTS の場合、OS type は linux、OS variant は ubuntu20.04 となります。
osinfo-query コマンドがパソコンで使えない場合、以下のコマンドでインストールすることが可能です。
VM の RAM (Random Access Memory) は 1024 MB (Megabytes) になる予定です。
VM の仮想ディスクは /kvm/disk/server-01.img ファイルに保存されます。 仮想ディスクのサイズは約 10 GB で、フォーマットは QCOW2 (QEMU Copy-On-Write v2)
仮想マシンは VNC (Virtual Network Computing) リモート デスクトップ プロトコル経由でアクセスでき、Ubuntu 20.X で設定したすべての利用可能ネットワーク インタフェース上で VNC サーバーを待ち受けることができるようになります。
Ubuntu 20.04 LTS KVM ホストは、仮想マシンを作成すると自動的に仮想マシンに接続しようとすることはありません。 仮想マシンはバックグラウンドで実行し続けます。
仮想マシンに完全仮想化を使用する。 これにより、仮想マシンのパフォーマンスが向上します。
Ubuntu Server 20.04 LTS ISO イメージをダウンロードし、仮想マシンの仮想 CD/DVD ROM として使用し、Ubuntu Server 20.04 をインストールするために使用すること。
仮想マシンの起動順序を設定します。 最初のブートエントリーは仮想CD/DVD ROMで、次に仮想ハードディスクです。 したがって、仮想マシンは Ubuntu Server 20.04 LTS ISO イメージから起動し、Ubuntu Server 20.04 LTS をハードディスクにインストールできるようになります。
KVM 仮想マシンを作成するためのオプションは基本的にすべてこれだけです。 仮想マシンの構成によっては、しばらく時間がかかることがあります。
この時点で、KVM 仮想マシンが作成されるはずです。
Listing KVM Virtual Machines:
KVM 仮想マシンを作成したら、次のコマンドで一覧表示できます:
<9546>このコマンドにより、保有する KVM 仮想マシンすべてを表示できるようになるはずです。 今、私は1台の仮想マシンserver-01しか持っていません。 これは、今作成したものです。 ご覧の通り、仮想マシンserver-01が起動しています。 任意の VNC クライアントを使用して接続できるはずです。
VNC で KVM 仮想マシンにリモート接続する:
このセクションでは、VNC で KVM 仮想マシンにリモート接続する方法を説明します。
次のコマンドで、KVM 仮想マシン server-01 の VNC ポート番号を確認できます:
見ての通り、server-01 仮想マシンの VNC ポート番号は 0 です。
ここでポート 0 とは 5900 ポートを意味します。 同様に、ポート1はポート5901を意味します。
さて、次のコマンドでUbuntu 20.04 LTS KVMホストのIPアドレスを見つけます:
私の場合はIPアドレスは 192.168.20.131 となりました。 あなたにとっては違うでしょう。
任意のVNCクライアントを開き、アドレス 192.168.20.131:0.
続けるをクリックします。
以下のスクリーンショットにあるように、server-01 KVM仮想マシンのディスプレイに接続されているはずです。
ここで、仮想マシンに希望の OS をインストールします。
私の場合、仮想マシンに Ubuntu Server 20.04 LTS OS をインストールします。
この時点で仮想マシンに Ubuntu Server 20.04 LTS がインストールされています。 仮想マシンを再起動しましょう。
このメッセージが表示されたら<Enter>を押します。
以下のスクリーンショットに表示されているように、サーバー01 KVM 仮想マシンは自動的にパワーオフされると思われます。
次のコマンドで server-01 KVM 仮想マシンを開始します:
仮想マシン server-01 は開始されるはずです。
これで、先ほどと同様にVNCクライアントからserver-01仮想マシンに接続できるようになりました。 ご覧のように、Ubuntu Server 20.04 LTS のログイン画面が表示されます。
ログインして任意のコマンドを実行することが可能です。
KVM 仮想マシンの削除:
LibVirt を使用して KVM 仮想マシンを非常に簡単に削除することもできます。
ご覧のように、私の Ubuntu 20.04 LTS KVM ホストに 2 つの KVM 仮想マシン (server-01 と server-02) が稼働しています。 server-02 KVM 仮想マシンを削除してみましょう。
見ての通り server-02 KVM 仮想マシンは稼働していますね。 削除する前に停止する必要があります。
サーバー02KVM仮想マシンを強制停止するには、次のコマンドを実行します。
ご覧のように server-02 仮想マシンはパワーオフされました。
次のコマンドで server-02 仮想マシンとそれに付属するすべての仮想ハードディスクを永久に削除することができます。
ご覧のとおり、server-02 仮想マシンはもう使用できなくなりました。
Issue#1: Fixing cpu->kvm_msr_buf->nmsrs Assertion Error
Ubuntu 20.04 LTS において KVM 仮想機械を作成中に次のエラー メッセージが表示されたことがあります。 これは、カーネルのバグです。 通常、他の仮想マシンの内部でKVMを実行した場合に発生します。 私はVMwareの仮想マシンの中でKVMを動かしています。 そのため、このエラーが発生したのだと思います。 修正するのは簡単です。
次のコマンドで新しいファイル /etc/modprobe.d/qemu-system-x86.conf を作成します:
AMD プロセッサを使用している場合は、ファイルに次の行を追加します。
options kvm ignore_msrs=1
Intel プロセッサを使っているならファイルに次の行を追加してください。
options kvm ignore_msrs=1
完了したら <Ctrl> + X、Y、 <Enter> で /etc/modprobe.NET を保存してください。d/qemu-system-x86.conf ファイルを保存します。
その後、以下のコマンドでコンピューターを再起動して、変更を有効にします。
問題は解決しているはずです。
Conclusion:
この記事では、Ubuntu 20.04 LTS に KVM をインストールする方法と、LibVirt を使用して KVM 仮想マシンを作成する方法を紹介しました。 また、KVM 仮想マシンを削除する方法も紹介しました。 これは、Linux KVM 仮想化を開始するのに役立つはずです。