開発運用

KVM コマンドライン管理ガイド

KVM(カーネル仮想マシン)は、Linuxカーネルの仮想化機能を活用した仮想化ソリューションであり、サーバー環境や開発環境で広く使用されています。この記事では、KVMのインストールから仮想マシンの作成・管理まで、コマンドラインツールを使用したKVMの管理方法を完全かつ包括的に解説します。

KVMのインストールとセットアップ

まず、KVMを使用するために必要なパッケージをインストールします。KVMは、qemu-kvmlibvirtvirt-managerなどのツールを含むパッケージです。これらをインストールすることで、仮想マシンの作成や管理が可能になります。

必要なパッケージのインストール

Debian系(Ubuntuなど)やRed Hat系(CentOS、RHELなど)では、以下のコマンドを使用してインストールします。

Debian/Ubuntuの場合:

bash
sudo apt update sudo apt install qemu-kvm libvirt-bin bridge-utils virt-manager

CentOS/RHELの場合:

bash
sudo yum install qemu-kvm libvirt libvirt-devel bridge-utils virt-manager

これにより、KVM仮想化をサポートするために必要な基本的なパッケージがインストールされます。

KVMの動作確認

KVMが正しくインストールされ、動作しているか確認するためには、以下のコマンドを実行します。

bash
kvm-ok

このコマンドは、KVMがシステムで利用可能かどうかをチェックします。問題がなければ、「KVM acceleration can be used」というメッセージが表示されます。

仮想マシンの作成

次に、仮想マシンを作成します。仮想マシンの作成にはvirt-installコマンドを使用します。このコマンドで、インストールするOSや仮想マシンのリソース(CPU、メモリ、ディスクなど)を指定できます。

仮想マシンの作成

以下は、最も基本的な仮想マシンを作成するためのコマンドの例です。

bash
sudo virt-install \ --name=vm1 \ --vcpus=2 \ --memory=2048 \ --disk size=10 \ --cdrom /path/to/iso \ --os-type=linux \ --os-variant=ubuntu20.04 \ --network network=default \ --graphics none \ --console pty,target_type=serial

このコマンドは、次のような設定を行います。

  • 仮想マシン名:vm1
  • 仮想CPU数:2
  • メモリ:2048MB
  • 仮想ディスクのサイズ:10GB
  • ISOファイルからOSをインストール
  • ネットワーク設定(defaultネットワークを使用)
  • グラフィカルインターフェースなし(CLIのみ)
  • シリアルコンソールを使用

--cdromオプションにはインストールするISOファイルのパスを指定します。

仮想マシンの管理

仮想マシンが作成された後は、いくつかのコマンドでその状態を管理できます。以下は、KVMで仮想マシンを管理するための基本的なコマンドです。

仮想マシンの一覧表示

現在稼働中または停止している仮想マシンの一覧を表示するには、virsh listコマンドを使用します。

bash
sudo virsh list --all

これにより、仮想マシンの名前、状態(実行中または停止中)が表示されます。

仮想マシンの起動と停止

仮想マシンを起動するには、virsh startコマンドを使用します。

bash
sudo virsh start vm1

仮想マシンを停止するには、virsh shutdownコマンドを使用します。

bash
sudo virsh shutdown vm1

また、強制的に仮想マシンを終了する場合は、virsh destroyコマンドを使用します。

bash
sudo virsh destroy vm1

仮想マシンの状態確認

仮想マシンが稼働しているかどうか、またはその他の詳細な情報を確認するには、virsh dominfoコマンドを使用します。

bash
sudo virsh dominfo vm1

このコマンドで、仮想マシンのCPU使用率、メモリ使用量、ネットワーク設定などの詳細情報が表示されます。

ネットワーク設定

仮想マシンのネットワーク設定を行うには、virshbridge-utilsを使って、ブリッジネットワークの設定を行います。仮想マシンのネットワークを外部ネットワークに接続するために、ブリッジを設定することが一般的です。

ブリッジネットワークの設定

ブリッジインターフェースを設定するには、まず/etc/network/interfacesファイルを編集します。以下のような設定を追加します。

bash
auto br0 iface br0 inet dhcp bridge_ports eth0

この設定により、物理インターフェースeth0をブリッジインターフェースbr0に接続し、DHCPでIPアドレスを取得する設定が行われます。

設定が完了したら、ネットワークサービスを再起動します。

bash
sudo systemctl restart networking

仮想マシンのリソース管理

KVMでは、仮想マシンのリソース(CPU、メモリ、ディスクなど)を後から変更することができます。例えば、仮想マシンのメモリサイズを変更したい場合は、以下のコマンドを使用します。

bash
sudo virsh setmem vm1 4096 --config

これにより、仮想マシンvm1のメモリサイズが4096MBに変更されます。

同様に、CPU数を変更したい場合は、以下のコマンドを使用します。

bash
sudo virsh setvcpus vm1 4 --config

仮想マシンのバックアップと復元

仮想マシンをバックアップするには、仮想ディスクのコピーを作成します。cpコマンドやrsyncコマンドを使用して、仮想マシンのディスクイメージを別の場所にコピーします。

仮想マシンを復元するには、バックアップしたディスクイメージを元の場所に戻し、新しい仮想マシンとして作成します。

仮想マシンの削除

仮想マシンを削除するには、まず仮想マシンを停止し、次にそのディスクイメージを削除します。

bash
sudo virsh destroy vm1 sudo virsh undefine vm1 sudo rm /var/lib/libvirt/images/vm1.qcow2

これにより、仮想マシンの設定とディスクイメージが完全に削除されます。

まとめ

KVMをコマンドラインツールを使って管理する方法を紹介しました。KVMは強力で柔軟な仮想化ソリューションであり、サーバーの仮想化において非常に重要な役割を果たしています。virt-installvirshなどのツールを使って、仮想マシンの作成、管理、ネットワーク設定、リソース変更、バックアップなどが簡単に行えます。この方法を使えば、コマンドラインベースでの効率的な仮想化環境の管理が可能になります。

Back to top button