Proxmox VEでSPICEを使ってユーザーエクスペリエンスを向上させる方法

Proxmox VEを使用していると、仮想マシンのコンソールにアクセスする際にデフォルトでNoVNCが使用されます。しかし、より高性能で豊富な機能を持つSPICEを利用することで、ユーザーエクスペリエンスを大幅に向上させることができます。本記事では、NoVNCとSPICEの比較、メリット・デメリットを説明し、SPICEの設定手順を紹介します。

## NoVNCとSPICEの比較

### NoVNC

**メリット:**
- **ブラウザ互換性:** NoVNCはHTML5ベースのVNCクライアントであり、モダンなウェブブラウザさえあれば使用できます。追加のクライアントソフトウェアをインストールする必要がありません。
- **簡単なアクセス:** クライアント端末のOSに依存せず、どこからでもアクセス可能です。

**デメリット:**
- **パフォーマンス:** ビデオや3DグラフィックスのパフォーマンスがSPICEに比べて劣ることがあります。
- **機能の制限:** 一部の高度な機能（例えば、USBリダイレクト）はサポートされていません。

### SPICE

**メリット:**
- **高性能:** グラフィックの描画やマルチメディアの再生において優れたパフォーマンスを発揮します。ビデオや3Dグラフィックスの表示が滑らかです。
- **機能豊富:** USBリダイレクトやファイル転送、オーディオリダイレクトなどの追加機能を提供します。
- **セキュリティ:** SSL/TLSを用いた暗号化に対応しており、セキュリティ面でも優れています。

**デメリット:**
- **クライアントソフトウェアの必要性:** SPICEクライアント（例えば、Virt-Viewer）のインストールが必要です。
- **互換性:** 一部のクライアント端末やOSでの互換性がNoVNCに比べて低い場合があります。

## SPICEの使い方

SPICEを使うことで、Proxmox VEでの仮想マシンの操作性が向上し、よりスムーズなユーザーエクスペリエンスを提供できます。以下は、SPICEの設定手順です。

### 1. SPICEクライアントのインストール

- **Linux:** 多くのLinuxディストリビューションでは、Virt-Viewerパッケージを利用します。例えば、以下のようにインストールできます。

  ```bash
  sudo apt-get install virt-viewer   # Ubuntu/Debianの場合
  sudo dnf install virt-viewer       # Fedora/RHELの場合
  ```

- **Windows:** SPICE公式サイトからVirt-Viewerをダウンロードしてインストールします。
  - [SPICE公式サイト](https://www.spice-space.org/download.html)

### 2. spice-guest-toolsのインストール

- 接続対象のゲストOSに、以下URLからspice-guest-toolsをインストールします。
[Download - SPICE](https://www.spice-space.org/download.html)

### 3. Proxmox VEの設定

1. ProxmoxのWeb UIにログインします。
2. 対象のVMを選択し、`Hardware`タブをクリックします。
3. `Display`を選択し、タイプを`SPICE`に設定します。
4. `OK`をクリックし、設定を保存します。
5. 対象のVMを停止することでSPICEが有効になります。

### 4. VMのコンソールアクセス

1. ProxmoxのWeb UIに戻り、対象のVMを選択します。
2. `Console`タブをクリックし、`SPICE`を選択します。
4. ブラウザにてSPICEの設定ファイル（.vvファイル）を保存します。
5. ダウンロードしたファイル（.vvファイル）をSPICEクライアント(remote-viewer)で開きます。

以上で完了です。SPICEを利用することで、より快適で高性能な仮想マシン管理を実現できます。特に、グラフィックスを多用するアプリケーションや高いセキュリティが求められる環境では、SPICEの導入を強くお勧めします。

## 試してみた

### Proxmox VEの設定変更
Windows 10ゲストについて、手順に従い、ディスプレイをSPICEに変更します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3789581/224d768e-317b-38eb-ff2e-4c8d3e858e01.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3789581/083d913e-2b2f-6b0f-d431-758c85a575a8.png)

### spice-guest-toolsのインストール

1. 取得
Windowqs 10ゲストで、spice-guest-toolsを取得します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3789581/80f23614-ec80-5d5f-a081-44fd8d2b7464.png)

2. インストール
取得したファイルを実行し、spice-guest-toolsをインストールします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3789581/6156aa98-456e-ab7e-19f9-aca85f9bbc09.png)

途中、Serial Driverのインストールが要求されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3789581/15d23f82-7439-5c0d-2d51-496e6511e4c0.png)

### remote-viewerでの接続
1. ProxmoxのWebUIから、コンソールとしてSPICEを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3789581/d563191a-9519-c8de-cfb2-98c8fe4753fc.png)

SPICEの設定ファイル（.vv）を適当な場所に保存します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3789581/28dd8f8a-38ea-998c-0537-f012973e368d.png)

設定ファイルを、SPICEクライアントで開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3789581/2011d16e-0581-c78f-eb76-dcdeac57fd9e.png)

SPICEクライアントで接続できました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3789581/62524a6b-b828-65b3-22dc-9cf6b69a468a.png)

Youtubeを見た感じとしては、noVNCに比べるとスムーズにはなるものの、動画視聴は厳しく感じました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3789581/060aabdd-bbe9-f8d3-995c-a508f1ea9b3c.png)

### 設定ファイルについて
SPICEクライアントで接続すると設定ファイルは自動的に削除されるため、改めて接続する際には設定ファイルの再取得が必要な模様です。