Cockpit-machinesでKVM管理を「超軽量」に:重いVirt-managerとはおさらば

Virtualization tutorial - IT technology blog
Virtualization tutorial - IT technology blog

ヘッドレスサーバーでの仮想マシン管理の苦悩

Linux上でKVMを頻繁に触っている方なら、virshvirt-managerにはお馴染みでしょう。しかし、現実はそう甘くありません。virshを使うには膨大な数の複雑なコマンドを覚える必要がありますし、virt-managerを使うにはデスクトップ環境(GUI)を追加でインストールするか、非常に動作の重いX11フォワーディングを設定しなければなりません。

ヘッドレスで運用しているサーバーにとって、仮想マシンを起動するためだけに大量のグラフィックライブラリをインストールするのはリソースの無駄遣いです。例えば、1GBのRAMしかないVPSで、GUIパッケージ群を動かした後に仮想マシンに割り当てられるリソースがどれだけ残るでしょうか?そこで救世主となるのがcockpit-machinesです。これは管理インターフェースのすべてをWebブラウザに持ち込み、スムーズかつ最小限のリソースで動作します。

私自身、約12台のVMを管理するProxmoxの小さなラボを運用していますが、単一のノードや素のUbuntuで動かしているVPSでは、常にCockpitを優先しています。消費するRAMはわずか20MB〜50MB程度で、最小限のデスクトップ環境を動かすよりも遥かに軽量です。

Cockpit-machinesとは?

CockpitはRed Hatが支援するオープンソースプロジェクトで、Webインターフェースを通じてサーバーを管理できるようにするツールです。数回のクリックだけでCPUやRAMの監視、ログの確認、ユーザー管理などが行えます。Cockpit-machinesは追加のモジュールで、Cockpitをlibvirtベースのプロフェッショナルな仮想マシン管理ツールへと変身させます。

XMLファイルと格闘する代わりに、ディスク作成、RAM構成の変更、スナップショット管理などのすべての操作が100%視覚化されます。最大の魅力はWebコンソール機能(VNC/SPICE)です。追加のクライアントソフトウェアをインストールすることなく、ChromeやFirefox上で直接仮想マシンのOSをインストールできます。

Cockpit-machinesのインストール手順

ステップ1:KVM環境の準備

まず、サーバーに仮想化機能が備わっている必要があります。すでにKVMをインストール済みの場合は、このステップをスキップしてください。以下はUbuntu Serverでの実行コマンドです:

# システムの更新
sudo apt update && sudo apt upgrade -y

# 仮想化支援機能の確認(結果が0より大きければOK)
egrep -c '(vmx|svm)' /proc/cpuinfo

# 仮想化のコアパッケージをインストール
sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst

ステップ2:Cockpitインターフェースのインストール

Cockpitは非常に一般的であるため、公式リポジトリに用意されています。インストールは2分もかかりません。

# Cockpitと仮想マシンモジュールをインストール
sudo apt install -y cockpit cockpit-machines

# サービスの有効化
sudo systemctl enable --now cockpit.socket

重要な注意点:Cockpitはデフォルトでポート9090で動作します。リモートからアクセスできるように、ファイアウォールでこのポートを開放するのを忘れないでください:

sudo ufw allow 9090/tcp

ステップ3:アクセスと試用

ブラウザを開き、https://ip-server:9090にアクセスします。セキュリティ警告(自己署名証明書)が表示されても心配いりません。「詳細設定」を選択してアクセスを続行してください。システムのsudo権限を持つアカウントでログインします。

左側のメニューに「Virtual Machines」という項目が表示されます。サーバー上で動作しているすべての仮想マシンがここにリストアップされます。

実際の仮想マシン管理

仮想マシンの高速作成

Create VM」をクリックして開始します。名前を入力し、ISOファイルを選択して(あらかじめ/var/lib/libvirt/imagesに置いておくのがおすすめ)、リソースを割り当てるだけです。私の経験からのアドバイスですが、将来的な容量拡張やスナップショット作成が容易になるよう、Storage Typeは常にQCOW2を選択してください。

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

デフォルトでは仮想マシンはNATを使用するため、外部からVMへのアクセスが少し面倒です。Cockpitでは「Networking」タブから簡単にブリッジを作成できます。これにより、仮想マシンがサーバーのLANと同じセグメントのIPを取得できるようになり、リスクのある/etc/netplan/の手動編集よりもずっと便利です。

Webコンソールの使用

仮想マシンをクリックして「Consoles」タブを選択すると、OSのインストール画面が即座に表示されます。この機能はマウスとキーボードを完全にサポートしており、Windows ServerやLinuxディストリビューションのインストールが非常に楽になります。SSHトンネルの設定やVNCビューアのインストールに悩まされる必要はもうありません。

Virt-managerとのクイック比較

  • メリット: 極めて軽量、Web経由でどこからでも管理可能、ホストのリソース監視(ディスク、ネットワーク、ログ)が統合されている。
  • デメリット: PCIパススルー(グラフィックボードをVMに割り当てる場合など)や、詳細なCPUトポロジ設定など、一部の高度なカスタマイズ機能が不足している。

まとめ

Cockpit-machinesは、ProxmoxやvSphereのような巨大なプラットフォームと競合するために作られたわけではありません。その目的は「シンプルさ」にあります。数台のサーバーを管理するシステム管理者や、VPS上で素早くテスト環境を構築したい開発者にとって、これ以上の選択肢はありません。

わずか5分のインストールで、プロフェッショナルな仮想マシン管理システムが手に入ります。Linuxサーバーをお持ちなら、ぜひ今すぐCockpitをインストールして、仮想化管理がいかに簡単になるかを体感してみてください。

Share: