LinuxC入門|KVM環境における仮想マシンの管理と利用

Linuxを使った仮想化環境と聞くと、少し難しそうに感じるかもしれませんが、
基本の考え方を押さえてしまえば、意外とシンプルです。
このページでは「KVMを用いたLinux仮想マシンの利用方法」をテーマに、
AlmaLinux 9.6 を例にしながら、
Linux標準の仮想化技術である KVM と、その管理方法についてやさしく解説していきます。

クラウドサービスの多くでもKVMが使われており、
仕組みを理解しておくと、学習環境から実務まで幅広く役立ちます。
LinuC 101試験でも関連する知識が問われるため、
ここでしっかりイメージをつかんでいきましょう。

Linux環境では、KVM(Kernel-based Virtual Machine) を使って仮想マシンを動かすことができます。
KVMはLinuxカーネルに組み込まれている仮想化機能で、
Linuxそのものがハイパーバイザーとして動作するのが特徴です。

項目内容
KVMLinuxカーネルに組み込まれた仮想化機能
対応CPUIntel VT-x、AMD-V
仮想化方式ハイパーバイザー型

KVMを使うことで、1台のLinuxホスト上で複数のLinux仮想マシンを同時に動かせます。
CPUの仮想化支援機能を活用するため、性能面でも非常に優れています。

KVM環境で仮想マシンを管理するときに欠かせないのが libvirt です。
libvirt は、仮想マシンの作成・起動・停止・削除といった操作をまとめて管理するための仕組みです。

ソフトウェア役割
KVM仮想マシンを実際に動かす仮想化機能
libvirt仮想マシン管理用の共通インターフェース
管理ツールvirt-manager、virsh など

libvirt を介して操作することで、
内部の仮想化方式を意識せずに、統一された方法で仮想マシンを扱えるようになります。

KVM環境では、仮想マシンの管理方法として
GUIツールCUIツールの2つが用意されています。

管理方法特徴向いている場面
virt-manager画面操作で分かりやすい学習、ローカル環境
virshコマンド操作で柔軟サーバ、実務

virt-manager は、Linux上で動作するGUIツールで、
仮想マシンの状態や構成を画面で確認しながら操作できます。
初めてKVMを触る場合でも、安心して使えるのが魅力です。

一方、サーバ環境やリモート管理では、
CUIで操作できる virsh コマンドがよく使われます。

ここでは、virsh コマンドの代わりに、
仮想マシンの状態確認によく使われる virt-host-validate コマンドを例に説明します。

[suzuki@AlmaLinux ~]$ virt-host-validate

virt-host-validate コマンドの書式

要素説明
virt-host-validate仮想化環境が利用可能か検証する。

virt-host-validate は何をするコマンド?

virt-host-validate は、
KVMを使った仮想化環境が正しく利用できる状態かどうかをチェックするコマンドです。

このコマンドを実行すると、次のような項目を確認してくれます。

  • CPUの仮想化支援機能
  • KVMモジュールの有無
  • libvirtの動作状態
  • 必要な設定が整っているか

仮想マシンを作成する前の「事前チェック」として、とても便利です。

virt-host-validate の主なオプション

オプション説明
qemuQEMU/KVM環境の検証を行う。
lxcコンテナ環境の検証を行う。

使用例

[suzuki@AlmaLinux ~]$ virt-host-validate qemu

この例では、QEMU/KVM環境が仮想マシン実行に適しているかを確認しています。
すべて PASS と表示されれば、KVM環境は問題なく利用できます。

仮想マシンの管理イメージは、図で見るとぐっと理解しやすくなります。

この図は、
「KVMがカーネルに組み込まれていること」と
「libvirtを通じて仮想マシンを操作していること」を表現しています。

このように、KVMを使ったLinux仮想マシンの利用では、
KVM・libvirt・管理ツールという役割分担を理解することが大切です。
仕組みが分かってくると、仮想マシンの操作もぐっと身近に感じられるようになります。