Linuxを使って仮想化環境を構築したいと考えたとき、有力な選択肢の一つが「KVM(Kernel-based Virtual Machine)」です。KVMはLinuxカーネルに組み込まれた仮想化機能であり、高速で安定した仮想マシン環境を構築できます。本記事では、KVMをLinuxにインストールし、実際に仮想マシンを動作させるまでの基本的な流れを解説します。
UbuntuなどのDebian系とCentOSなどのRed Hat系、両方に対応した手順を紹介するので、自分の環境に合わせてぜひ活用してください。
KVM(Kernel-based Virtual Machine)は、Linuxカーネルをハイパーバイザーとして動作させるための仮想化技術です。Intel VTやAMD-Vといったハードウェア支援機能を活用し、効率的な仮想化を実現しています。
KVM自体はモジュール(kvm
、kvm-intel
またはkvm-amd
)として提供され、QEMUと連携することで仮想マシンの作成や管理が可能になります。また、virt-manager
やvirsh
などのツールを用いることでGUIおよびCLI両方で管理が行えるのも魅力の一つです。
まず、使用しているCPUが仮想化支援機能(Intel VT/AMD-V)に対応しているか確認しましょう。以下のコマンドで確認できます。
bashコピーする編集するegrep -c '(vmx|svm)' /proc/cpuinfo
1以上の値が返ってくれば、ハードウェアが対応しています。
ハードウェアが仮想化対応でも、BIOSで無効になっている場合があります。必要に応じてBIOS設定を開き、「Intel VT」または「AMD-V」オプションが有効になっているか確認してください。
UbuntuなどのDebian系Linuxでは、以下のコマンドで必要なパッケージをインストールできます。
sudo apt update
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager
インストール後、libvirtd
サービスが自動で起動していない場合は以下で起動します。
sudo systemctl enable --now libvirtd
また、現在のユーザーをlibvirt
グループに追加することで、管理者権限なしでも仮想マシンを操作できるようになります。
sudo usermod -aG libvirt $(whoami)
ログアウト・ログイン後に反映されます。
CentOSやRocky LinuxなどRed Hat系では以下の手順でKVMをインストールします。
sudo dnf install @virt
または個別に必要なパッケージを指定してインストールも可能です。
sudo dnf install qemu-kvm libvirt virt-install bridge-utils virt-manager
サービスの有効化と起動を行います。
sudo systemctl enable --now libvirtd
ユーザーをlibvirt
グループに追加する場合は次の通りです。
sudo usermod -aG libvirt $(whoami)
変更後に再ログインしてください。
virt-manager
(Virtual Machine Manager)を使えば、仮想マシンの作成や操作がGUIベースで行えます。
起動は以下のコマンドから:
virt-manager
ISOイメージを指定し、仮想マシンの名前・CPU・メモリ・ストレージ容量などを設定すれば、直感的に仮想マシンを構築できます。
ターミナルで仮想マシンを作成するにはvirt-install
を使います。以下はUbuntuのISOから仮想マシンを作成する例です。
sudo virt-install \
--name ubuntu-vm \
--ram 2048 \
--vcpus 2 \
--disk path=/var/lib/libvirt/images/ubuntu-vm.img,size=20 \
--os-type linux \
--os-variant ubuntu20.04 \
--network network=default \
--graphics vnc \
--cdrom /path/to/ubuntu.iso
作成後はvirsh
コマンドで起動や停止ができます。
仮想マシンの管理はvirsh
コマンドでも可能です。いくつか基本的な操作を紹介します。
virsh list --all
virsh start ubuntu-vm
virsh shutdown ubuntu-vm
virsh destroy ubuntu-vm
virsh undefine ubuntu-vm
KVMでは仮想マシンがホストと同じネットワークに接続できるように、ブリッジインターフェースの設定をする場合もあります。
network:
version: 2
renderer: networkd
ethernets:
eno1:
dhcp4: no
bridges:
br0:
interfaces: [eno1]
dhcp4: yes
設定後は次のように適用します。
sudo netplan apply
ブリッジネットワークを使うことで、仮想マシンが物理ネットワークと直接通信できるようになります。
libvirtd
サービスが起動しているか、ユーザー権限が適切か確認してください。KVMは、Linuxに組み込まれた高性能な仮想化基盤であり、無料で利用できる点でも非常に魅力的です。インストールと設定は一見難しく感じるかもしれませんが、今回紹介した手順を順に進めていけば、誰でも仮想環境を構築できます。
実際に仮想マシンを作成・運用していくことで、テスト環境の構築やサーバーシミュレーション、スナップショットの利用など、活用の幅がどんどん広がっていきます。ぜひこの機会にKVMでの仮想化を試してみてください。