KVM(カーネルベースの仮想マシン)は、Linuxカーネルに組み込まれた仮想化技術で、物理サーバ上で複数の仮想マシン(VM)を効率的に実行することができます。UbuntuでKVMをインストールし、仮想マシンを作成するプロセスを完全かつ包括的に説明します。このガイドに従うことで、UbuntuでKVMを使用して仮想環境を構築する方法を理解できます。
必要な前提条件
KVMは、仮想化をサポートするCPUと、ハードウェア仮想化支援(Intel VT-xやAMD-V)が有効になっていることが前提となります。Ubuntuのインストール後、以下の要件を確認する必要があります。
- ハードウェアの仮想化サポート
- Intel CPUの場合、
vmx
が有効であること。 - AMD CPUの場合、
svm
が有効であること。
- Intel CPUの場合、
これらは、以下のコマンドで確認できます。
bashegrep -c '(vmx|svm)' /proc/cpuinfo
1以上の数字が表示されれば、ハードウェア仮想化がサポートされています。
- Ubuntuのバージョン
- Ubuntu 18.04以降のバージョンであれば、KVMはサポートされています。
1. KVMのインストール
まず、UbuntuにKVMをインストールするための準備をします。以下の手順でKVMをインストールします。
-
パッケージの更新
最初にシステムを最新の状態に更新します。
bashsudo apt update sudo apt upgrade
-
必要なパッケージのインストール
KVMと関連するツールをインストールします。
bashsudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
qemu-kvm
:KVMの実行環境を提供。libvirt-daemon-system
とlibvirt-clients
:仮想マシンの管理ツール。bridge-utils
:ネットワークブリッジを管理するツール。virt-manager
:仮想マシンを管理するGUIツール。
-
サービスの確認と開始
インストール後、libvirtサービスが自動的に起動していない場合があります。以下のコマンドで確認し、サービスを起動します。
bashsudo systemctl enable --now libvirtd
サービスの状態を確認するには、以下のコマンドを使用します。
bashsudo systemctl status libvirtd
2. KVMのセットアップ確認
KVMが正しくインストールされ、動作しているかを確認するために、以下のコマンドを実行します。
bashsudo virsh list --all
これにより、現在の仮想マシンのリストが表示されます。何も表示されない場合は、まだ仮想マシンを作成していないことを意味します。
また、kvm-ok
というツールを使って、ハードウェア仮想化が有効かどうかも確認できます。
bashkvm-ok
このコマンドが「KVM acceleration can be used」と表示された場合、KVMが使用可能であることを意味します。
3. 仮想マシンの作成
仮想マシンを作成するには、GUIツールであるvirt-manager
を使用するか、コマンドラインでvirt-install
を使用します。ここでは、両方の方法を紹介します。
GUIツール(virt-manager)を使用する方法
-
virt-managerを起動
以下のコマンドで
virt-manager
を起動します。bashsudo virt-manager
起動すると、仮想マシンの管理画面が表示されます。
-
新しい仮想マシンを作成
GUI画面から「新規」ボタンをクリックし、仮想マシンの作成ウィザードを開始します。
- 仮想マシンの名前を設定。
- インストールメディア(ISOファイル)を指定。
- 仮想マシンのメモリ、CPU数、ディスク容量などを設定します。
コマンドライン(virt-install)を使用する方法
コマンドラインから仮想マシンを作成するには、virt-install
を使用します。以下に基本的なコマンドを示します。
bashsudo virt-install \ --name testvm \ --ram 2048 \ --vcpus 2 \ --disk path=/var/lib/libvirt/images/testvm.qcow2,size=10 \ --cdrom /path/to/your/iso-file.iso \ --os-type linux \ --os-variant ubuntu20.04 \ --network network=default \ --graphics spice \ --console pty,target_type=serial
--name
:仮想マシンの名前。--ram
:仮想マシンに割り当てるメモリ(MB単位)。--vcpus
:仮想マシンに割り当てるCPUの数。--disk
:仮想マシンのディスクイメージファイルの場所とサイズ。--cdrom
:インストールするISOファイルのパス。--os-type
と--os-variant
:使用するオペレーティングシステムのタイプとバージョン。--network
:ネットワーク設定。--graphics
:グラフィカルインターフェースを有効にするための設定。--console
:コンソールアクセスの設定。
コマンドが正常に実行されると、仮想マシンが作成され、インストールが開始されます。
4. 仮想マシンの管理
仮想マシンが作成された後は、virsh
コマンドを使用して管理することができます。
-
仮想マシンの起動:
bashsudo virsh start testvm
-
仮想マシンの停止:
bashsudo virsh shutdown testvm
-
仮想マシンの状態確認:
bashsudo virsh list --all
-
仮想マシンの削除:
bashsudo virsh undefine testvm
5. ネットワーク設定
仮想マシンをインターネットに接続するためには、ネットワークブリッジを設定する必要があります。UbuntuのKVM環境では、bridge-utils
を使用してネットワークブリッジを管理します。
-
ネットワークブリッジの設定
/etc/network/interfaces
ファイルに以下の設定を追加します。bashauto br0 iface br0 inet dhcp bridge_ports eth0
この設定は、物理ネットワークインターフェース(例:
eth0
)を仮想ブリッジ(br0
)に接続し、DHCPでIPアドレスを取得します。 -
ネットワークサービスの再起動
設定後、ネットワークサービスを再起動します。
bashsudo systemctl restart networking
6. 仮想マシンのバックアップとスナップショット
仮想マシンのバックアップやスナップショットを取ることも重要です。virsh
コマンドを使用してスナップショットを作成できます。
-
スナップショットの作成:
bashsudo virsh snapshot-create-as testvm snapshot1
-
スナップショットの復元:
bashsudo virsh snapshot-revert testvm snapshot1
結論
UbuntuでKVMを使用して仮想マシンを作成する手順を理解することは、仮想化環境を効果的に管理するための重要なスキルです。virt-manager
とvirt-install
を使用することで、KVMのインストールから仮想マシンの管理まで一貫した操作が可能です。このガイドを参考に、Ubuntu上でKVMを活用した仮想化環境を構築し、効率的に仮想マシンを運用することができるようになります。