CentOS8でSpiceを使ったゲストOSの制御
CentOS8設定メモの続きである。ここでは、ホストとしてのCentOS8上にCentOS6のゲストOSを入れ、それをWindowsクライアントから制御する。制御にはVNCではなく、Spiceを使う。
VNCとSpiceの違い
Spiceは初めてなのだが、VNCは何年も使用してきた。おおよそ両者の違いは(根本的なところでは)以下になるようだ。
VNCでは、OSそれぞれの中にVNCサーバが起動され、そのサーバとクライアントが接続する。Spiceでは、ホストOSの中にサーバが起動され、そのゲストOSの画面等が転送される。
したがって、
- Spiceでは、OS自体が起動していないBIOS画面を表示することができる。これはVNCではできない。
- Spiceでは、そのサーバはただ一つ。VNCの場合は対象とするOSごとにサーバを起動する。
ただし、実際に使ってみると(そして良く言われることだが)、VNCは複数のクライアントが同時に接続できる一方で、Spiceの場合はただ一つのクライアントしか接続できない。新たなクライアントが接続してくると、前のクライアントは停止されてしまう。
仮想化基盤のチェック
仮想化基盤のチェックは以下を参考にした
以下のメッセージになる。
[root@localhost ~]# virt-host-validate
QEMU: for hardware virtualization :
QEMU: if device /dev/kvm exists :
QEMU: if device /dev/kvm is accessible :
QEMU: if device /dev/vhost-net exists :
QEMU: if device /dev/net/tun exists :
QEMU: for cgroup 'cpu' controller support :
QEMU: for cgroup 'cpuacct' controller support :
QEMU: for cgroup 'cpuset' controller support :
QEMU: for cgroup 'memory' controller support :
QEMU: for cgroup 'devices' controller support :
QEMU: for cgroup 'blkio' controller support :
QEMU: for device assignment IOMMU support :
QEMU: if IOMMU is enabled by kernel : (IOMMU appears to be disabled in kernel. Add intel_iommu=on to kernel cmdline arguments)
IOMMUに関して、先の記事の通りに行う。
仮想マシンの作成
virt-managerを起動する。いったん起動すると、メニューに出てくるようだ。
CentOS6のISOイメージをダウンロードし、それを元にインストールする。
ホストOSと同じネットワークにしたいので、ブリッジを選択する。警告が出ているが、これは「ブリッジの場合には、ホストとゲストの間の通信ができない」という意味らしい。探せばこの回避策も出てくる。
Spiceサーバの特にポートを指定する。おらくはゲストOSごとにポート番号を異なるものにしなければならない。「自動」にすると何番が割り当てられるかわからなくなるのでは無いだろうか?これに意味があるのかわからない。
ホストOS起動と同時に、このゲストOSも起動するようにしておく。普通にホストOSをシャットダウンすると、ゲストOSも「シャットダウン」するようだ、停止ではなく。
インストールを開始すると、この時点からWindow側のSpiceクライアントから接続できる。
後はWindowsクライアントで操作する。
Windowsクライアントのコマンドライン引数
単にWindows用のクライアントをインストールすると、以下のようなメニューが現れ、これを起動することになる。
しかし、これでは毎回毎回URLを入力し、その上パスワードも入力しなければならないので面倒だ。実は、引数としてURLもパスワードも指定できるのである。
単純にこのコマンドのショートカットを作ると、そのリンク先は以下になっているので、
"C:\Program Files\VirtViewer v8.0-256\bin\remote-viewer.exe"
これを例えば以下のようにする。
"C:\Program Files\VirtViewer v8.0-256\bin\remote-viewer.exe" spice://192.168.3.31:5900?password=yourpassword
これで、このショートカットをダブルクリックするだけで画面が表示されるようになる。