前の記事
virsh, Cockpit によるVM操作環境のセットアップ手順を紹介しました。
お伝えしたいこと
Virtual Machine Manager (virt-manager) のインストールと、画面についてざっくり紹介します。
- 前の記事
- お伝えしたいこと
- 前提
- Virtual Machine Manager とは
- Virtual Machine Manager のインストール
- Virtual Machine Manager の起動
- URIの指定
- XML編集の有効化
- VMの作成
- VMへのコンソールログイン
- コンソールログイン後のマウスカーソルの開放
- VMのクローン
- スナップショットの管理
- (参考) ホストに挿したUSBのマウント
- (参考) Virtual Machine Manager は必要か?
- まとめ
- Linux PC 構築関連リンク集
- 次の記事
前提
本記事で紹介する手順は、以下の記事でKVM, libvirt の初期設定が完了していることが前提となります。
また、Virtual Machine Managerの導入にはGUI環境 (※) が必須です。
GUI環境がない場合は、Cockpit の利用をご検討ください。
(※) デスクトップ環境、またはWindow Manager
参考までに、過去記事を2つ貼っておきます。
↓デスクトップ環境の一例として、Cinnamon Desktop のインストール手順です。
endy-tech.hatenablog.jp
↓Cockpit のインストール手順と画面紹介です。
endy-tech.hatenablog.jp
Virtual Machine Manager とは
デスクトップ環境、またはWindow Manager 上で動作する、libvirtベースのGUIツールです。
本記事ではQEMU+KVMをGUIから操作する用途に焦点を当てて紹介します。
Virtual Machine Manager のインストール
インストールコマンドはFedoraを前提にしています。
別のディストリビューションをお使いの方は読み替えてください。
以下のコマンドで Virtual Machine Manager をインストールします。
sudo dnf install virt-manager
まだの方は、コンソールログインするために Virtual Machine Viewerもインストールしましょう。
sudo dnf install virt-viewer
Virtual Machine Manager の起動
GUIのメニューから Virtual Machine Manager
で検索して実行するか、CLIから virt-manager
を実行することで起動します。
URIの指定
初回起動時、Virtual Machine Manager はデフォルトで qemu:///system
に接続します。
変更したい場合は、File > Add connection
から新しいコネクションとしてqemu:///session
などを追加します。
その後、必要に応じて下図の赤枠部分を右クリックして、既存のコネクションを削除します。
過去の記事でお伝えしたとおり、私としてはqemu:///system
をおすすめします。
XML編集の有効化
Virtual Machine Manager では、VM や pool 構成のXML定義ファイルを確認できます (≒virsh edit
)。
デフォルトでは、XMLの中身を見るだけで編集はできません。
しかし、以下の設定を変更することでVirtual Machine Manager から XML を編集できるようになります。
Edit > Preferecnces > Generalタブ > Enable XML editing
のチェックをいれる
VMの作成
基本的には、RedHat社のドキュメント通りの手順です。
ここではポイントのみ記載します。
- VM作成を開始するには、以下の赤枠部分を選択します
- インストールメディアを選択します
- ISOイメージファイルを選択します (
virt-install --cdrom
) OSに応じたハードウェアの最適化オプションを指定します (virt-install --os-variant
)- 例えば、
fedora33
などを指定します - わからない場合は
generic
でも動作しますが、性能が大幅に下がります - 指定可能なキーワードは、
osinfo-query os
コマンドで確認できます
- 例えば、
- メモリサイズ、CPUコア数を指定します
- ディスクサイズを指定します
- この画面で
Manage
を選択すると、pool の管理画面に遷移します - 本来の目的である「既存のディスクの選択」に加え、pool の作成/削除/起動/停止が可能です
virsh pool-*
相当の操作が可能なイメージです
- この画面で
- 最後にVMの名前と仮想ネットワークを決めます
VMへのコンソールログイン
Virtual Machine Manager自体にコンソール画面を出す機能がありますが、解像度に上限があります。
Virtual Machine Viewer (virt-viewer
) であれば任意の解像度に拡大/縮小できて便利なので、代わりにこちらを使いましょう。
Virtual Machine Viewerを起動する方法は、こちらの過去記事を参照してください。
コンソールログイン後のマウスカーソルの開放
コンソール画面をクリックすると、マウスカーソルがVMの中に移動します。
Left Ctrl + Left Alt
でマウスカーソルが開放され、ホストOS側の制御に戻ります。
VMのクローン
トップ画面でVMを右クリックしてクローンできます。
スナップショットの管理
VMをダブルクリックして開いた後の画面で、スナップショットの作成・削除・ロールバックも可能です。
(参考) ホストに挿したUSBのマウント
この操作はCockpitではまだ対応しておらず、Virtual Machine Manager や virt-xml
コマンドで実施します。
virt-xml
コマンドについては未検証ですが、下記URLや、本セクションの末尾に貼ったXMLが参考になると思います。
ただこのやり方だとXMLファイルを作る必要があるようなので、正直GUIの方が楽だと思います。
外付けHDDをVMにマウントする手順を例に紹介します。
事前に、前のセクションで紹介したXML編集の有効化設定を実施しておく必要があります。
また、操作対象のVMは電源を落としておく必要があります。
まずは、接続したいホスト側デバイスの情報を確認します。
事前に外付けHDDが東芝製とわかっているので、★マークをつけた行だとあたりがつきます。
Canvio Desk
でググると、これが外付けHDDの製品名だとわかりました。
このデバイスは、ベンダーIDが0x0480
、製品IDが0xd011
だとわかります。
$ lsusb Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 002: ID 0480:d011 Toshiba America Inc Canvio Desk #★ Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 003: ID 8087:0026 Intel Corp. Bus 001 Device 006: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode) Bus 001 Device 005: ID 046d:c52b Logitech, Inc. Unifying Receiver Bus 001 Device 004: ID 1ea7:0066 SHARKOON Technologies GmbH [Mediatrack Edge Mini Keyboard] Bus 001 Device 002: ID 214b:7250 Huasheng Electronics USB2.0 HUB Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
別の方法として、usb-devices
コマンドもあります。
出力が長いのが難点ですが、External USB 3.0
という私にとっては見覚えのある表記が良いヒントになりました。
また、同じ製品を複数接続している場合はSerialNumber
が参考になると思います。
$ usb-devices # (省略) T: Bus=02 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 2 Spd=5000 MxCh= 0 D: Ver= 3.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs= 1 P: Vendor=0480 ProdID=d011 Rev=03.16 S: Manufacturer=TOSHIBA S: Product=External USB 3.0 S: SerialNumber=20180204010442 C: #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=8mA I: If#=0x0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usbfs # (省略)
さて、USB情報が確認できたところで、Virtual Machine Manager の操作に移ります。
トップ画面でVMを選択してからOpenボタンを選択し、VMの詳細画面を開きます (またはVM名をダブルクリック)。
続いて、青いアイコンの「i」マークから、ハードウェアの詳細構成を表示します。
そして左下の「Add Hardware」を選択します。
左のメニューからUSB Host Device
を選択し、Details
タブからVMに搭載したいUSBデバイスを選択します。
XML
のタブに移動します。
ここでVendor IDとProduct ID が0x0000
のままだと、設定確定の際にエラーになってしまいます。
また、デタラメな値を入れてもVM起動時にエラーになりました。
先ほどlsusb
コマンドで調べた値をきちんと入力してから設定を確定します。
設定を確定すると、以下の通りデバイスが追加されました。
USBデバイスは同じ画面の右下にあるRemove
ボタンでも外せると思いますが、VM側で「USBの取り外し」ボタンを押すことでも登録解除されていました。
(参考) Virtual Machine Manager は必要か?
RHEL8においてはVirtual Machine Manager よりも Cockpit が推奨されているものの、Cockpitの機能はまだ十分ではありません。
Cockpit は使い勝手に優れており将来性もありますが、GUIでより多くの操作に対応するには、現状ではVirtual Machine Managerも必要です。
とはいえ、Virtual Machine Manager を導入するにはデスクトップ環境が必要となります。
デスクトップ環境がない場合には、Cockpit と virsh の併用が基本形となります。
繰り返しになりますが、できることの範囲はvirsh > Virtual Machine Manager > Cockpit
になります。
使い勝手の良さは Cockpit > Virtual Machine Manager > virsh
だと思います。
もし試せる環境があるのであれば、全てのツールを触ってみてから、自分に合う組み合わせを探っていただくのが良いでしょう。
私は全部を使い分けています。
基本的にCockpit を使いますが、できないことが出てきたらVirtual Machine Manager, virsh の順番に試していくのが基本です。
まとめ
Virtual Machine Manager のインストール方法と、画面イメージを中心に紹介しました。
Cockpit の方がモダンな見た目ではあるものの、Virtual Machine Manager の方がサポートしている機能はまだ多い状況です。
私個人としては、Cockpit を中心としつつ足りない機能を CLI や Virtual Machine Manager で補うのが今のところ一番好みの使い方です。
皆さんのオススメの使い方があれば、是非コメントやTwitterで教えてください。
Linux PC 構築関連リンク集
次の記事
VM作成/削除、CMROM挿入、起動順序設定などの基本操作のまとめは、以下の記事を参照ください。
CLI/GUIの両方についてまとめてあります。