えんでぃの技術ブログ

えんでぃの技術ブログ

ネットワークエンジニアの視点で、IT系のお役立ち情報を提供する技術ブログです。

Cockpit GUI によるKVM操作

cockpit-apple-touch-icon

前の記事

KVMlibvirtの初期設定、及びlibvirt CLI (virt-install, libvirt) について基本操作を紹介しました。

endy-tech.hatenablog.jp

お伝えしたいこと

Cockpit から QEMU+KVM を操作するための初期設定を紹介しつつ、イメージが湧きそうなスクリーンショットを貼りたいと思います。
Cockpit はわかりやすい画面構成なので、細かい使い方については説明不要かなと思います。
使い方で迷った場合は、libvirtの基本として前の記事を参照してみてください。

前提

以下の記事でKVM, libvirt の初期設定が完了していることが前提となります。

endy-tech.hatenablog.jp

Cockpit のインストール

Cockpit本体をインストール、有効化します。
Fedoraの場合はデフォルトでインストールされています
※cockpit.socket は初めから有効化されています

sudo dnf install cockpit
sudo systemctl enable --now cockpit.socket

更に、cockpit からVMを管理できるように、追加でcockpit-machinesをインストールします。
このコマンドにより、cockpit のメニューにVirtual Machinesが追加されます。

sudo dnf install cockpit-machines

Cockpit へのアクセス

http://localhost:9090 にアクセスすると、cockpitのログイン画面が出てきます。
通常のLinuxと同様にID/パスワードを入力することでログインできます。

cockpit-login

Cockpit による VMの管理

VM一覧の表示

Virtual Machinesのタブを開くと、VMがリストアップされます。
画面の通りですが、ここで以下の操作が可能です。

  • Storage pool の作成、削除、変更
  • Network の作成、削除、変更
  • VMの作成、削除、クローン、起動、停止、一時停止、強制終了

cockpit-vm1

VMの詳細表示

#VM一覧の画面でVM名 (上図の赤枠部分) を選択すると、VMの詳細情報とコンソールアクセス用の画面に切り替わります。

このページでは以下のような操作が可能です。

  • CPU, Memory 割当の変更
  • ディスク、ISO、ネットワークのつけ外し
  • 自動起動のON/OFF、起動順序の指定
  • リソースグラフ、基本情報 (Hostname, MAC/IP Address) の表示

cockpit_vm_details

Launch Remote Viewerを選択すると、downloadというファイルがダウンロードされます。
downloadファイルを開くと、Remote Viewerが起動してコンソールアクセスできます。
URLを指定する必要はありません。
downloadファイル自体は開いた直後に自動削除されるので、downloadフォルダを汚すこともありません。
非常に使い勝手が良いです。

cockpit-vm2

VMの作成

#VM一覧の画面から "Create VM" を選択すると、VMの作成画面が出ます。
設定項目はvirt-managerと同じです。

一点だけ補足すると、"Operating system"にはvirt-install--os-variant相当の情報が入ります。
性能の最適化のため、インストールしようとしているOSに近いものを選択することが推奨されます。

...私のバージョンでは、Operating systemの選択肢が少なかったです。
例えば、無選択と同等のGeneric OSも表示されませんでした。
もし困った場合には、以下のリンクを参考にvirt-installコマンドかvirt-manager (GUI) によるVM作成をご検討ください。

cockpit_create_vms

(参考) Cockpit はどの程度オススメできるか?

まず、RHEL8においては、Virtual Machine Manager を非推奨とし、今後はCockpitをメインにサポートする動きになっています (参考)
また、Cockpit は画面構成が洗練されていて使いやすく、なおかつWEBアクセス可能なのでデスクトップ環境を必須としていません。

まとめると、以下の点でCockpit を評価できます。

  • Red Hat社によって推奨されている
  • 使い勝手に優れているGUI
  • デスクトップ環境を必須としない (WEBベース)
  • 無償のOSS

ただし、Cockpit でできることは限られています。
今後機能は拡充されていくとは思うのですが、現状ではVMとpool 周りの基本操作や基本情報の表示に限られています。
VMの起動・停止・コンソールアクセス・作成・削除・クローン、仮想ネットワークの作成と削除はCockpit にて可能なので、普段遣いとしてはそれほど困りません。
一方で、既存の仮想ネットワークの編集やcdromドライブへのISOファイルの紐づけなどは、Cockpitではまだ対応されていません。
仮想ネットワークの編集はvirshで、cdromドライブへのISOファイルの紐づけはvirshかVirtual Machine Manager にて可能です。

できることの幅は virsh > Virtual Machine Manager >> Cockpit という状況です。
一方で、私の主観に基づく使い勝手の評価は Cockpit > Virtual Machine Manager > virsh です。

結局のところ、私の環境ではvirsh, Virtual Machine Manager, Cockpit を全て併用しているのが現状です。
やりたいことに応じて、Cockpit > Virtual Machine Manager > virsh の優先順位で使い分けています。
デスクトップ環境がない場合は、virsh と Cockpit の併用でも問題ないと思います。

まとめ

cockpit のインストール、及びVMの管理画面を紹介しました。
細かい操作方法は省きましたが、libvirt CLI の基礎知識があれば直感的に操作できるのではないかと思います。

libvirtベースのツールとして、これまでにvirsh, Virtual Machine Manager, Cockpit と使ってきましたが、使い勝手の面ではCockpit が一番のお気に入りです。
ただ、対応機能の幅では virsh > Virtual Machine Manager >> Cockpit なので、やりたい操作によって使い分けるのが良い形であると私は考えています。

Linux PC 構築関連リンク集

endy-tech.hatenablog.jp

次の記事

次の記事では、Virtual Machine Manager のインストール手順と画面イメージを紹介します。
前提としてデスクトップ環境相当が必要となりますが、2021年現在においてはCockpitよりも多くの操作に対応しています。

endy-tech.hatenablog.jp

VM作成/削除、CMROM挿入、起動順序設定などの基本操作のまとめは、以下の記事を参照ください。
CLI/GUIの両方についてまとめてあります。

endy-tech.hatenablog.jp