VMware Workstaionの良いところ悪いところ
broadcomによるVMware社の買収を受けてVMware Workstationの個人による非営利仕様が無償になりました。
これからVMware Workstationを使ってみようかという人もぼちぼち現れると思います。何かの参考になるかもしれませんので、VMware Workstationの良い所と悪い所を四半世紀にわたって個人利用したユーザー視点で書いておきます。
なお、以下は特に断らない限りWindows版VMware Workstatoin v17の話です。
デスクトップ仮想化
最初にVMware Workstationが行うデスクトップ仮想化とは何かという話からしておきます。
デスクトップ仮想化は、デスクトップOSの上で提供されるサービスであり、Windows、Linux、MacOSといったデスクトップOSの上で仮想マシンを提供する機能です。この仮想マシンはビデオインターフェースを含めて実機同様に動作しますので、そのうえでデスクトップOSを動作させることができます。
具体的に言えば
- Windowsの上でDesktop Linuxを動かす。
- MacOSの上でLinuxを動かす。
- Linuxの上でWindowsを動かす。
といった機能を提供します。有名なデスクトップ仮想化技術としては
- VMware Workstation(Windows/MacOS)
- Oracle VM VirtualBox(Windows/Linux/MacOS)
- Microsoft Hyper-V(Windows10/11のProエディションに同梱)
などがあります。なお、仮想化においては以下の用語がよく使われますので覚えておきましょう。
- ホストOS : 仮想マシンを走らせるOS
- ゲストOS : 仮想マシン上で走るOS
USB
USB機能はVMware Workstationの良い所として真っ先に挙げたくなる機能です。
VMware Workstationは記憶に残る限り15年くらい前にはUSBが安定して動作していました。安定して動作するとは、ゲストOSの上からホストOSに接続されたUSBデバイスを安心して使えるということです。
私が主に使ったのはUSB接続のJTAGデバッガです。サンデープロジェクトの都合でARMやそれ以外のプロセッサのJTAGデバッガを使うことが多いですが、これをごく当たり前に使えるのがVMware Workstatoinの良いところです。
メモリ管理
VMware Workstationはメモリ管理がよくできていて、実メモリが足りないような状況でも仮想マシンを起動することができます。
例えばHyper-Vの場合は主記憶8GBのホストOS上でVMを起動しようとすると、主記憶を3GB程度しか確保できないことがあります。そのため、ホストの主記憶がたりないと起動に失敗します。
VMware Workstationの場合、ホストOSの主記憶が足りないとVMware Workstationが勝手に主記憶をストレージ上にマッピングします(要するにゲストOSのメモリが仮想化されている)。そのため、ホストOSの主記憶が小さくても気にせずにVMを起動します。
半面、この便利な機能はゲストOS自身の仮想メモリと同時に動くため、スピードが非常に遅くなります。メモリが足りないときにだけメモリ仮想化をしてくれればよいのですが、デフォルトではそうはなっていません。また、設定もわかりにくいです。
そのため、速度が遅くてイライラすることがあります。
スナップショット
スナップショットも古くからあるVMwareの良い点です。
これは停止中でも動作中でも任意の時点の仮想マシンの状態を保存し、後から取り出すことができる機能です。VMware Workstationは任意の数のスナップショットを保存することができるうえ、スナップショットからの復帰もLIFOに限らず可能です。
スナップショットはマネージャー上で有向グラフとして管理されています。そのため、古いスナップショットから復帰すると、スナップショットの履歴が枝分かれしていくことになります。
スナップショットはインストーラの実験や開発をする場合に特に有用です。
アプリケーションのインストーラーはシステムの深いとこに変更を加えることがあります。このため、インストール後に問題が発覚しても、アンインストールしてやり直した際に問題が再現しなくなることが頻繁にあります。
スナップショットを撮っておけば、インストール以前のVMの状態を容易に復帰できるため、インストール・ソフトウエアの開発やサポートに大変便利です。
スナップショットの欠点は速度低下です。スナップショットを撮った後はVMは最新の仮想ディスクにはスナップショットを撮った仮想ディスクとの差分しか保存しません。これはホストOSのディスクの節約にはなりますが、実行中に差分管理が必要になるため、単純な仮想ディスクよりも遅くなります。
クローン
スナップショットを起点としたVMのクローンも可能です。
スナップショットはあくまでひとつのVMの中の状態の話でした。一方でクローンは一つのVMをを設定ごとコピーします。
クローンにはフル・クローンとリンク・クローンがあります。リンク・クローンはスナップショットと同じくVMの差分だけ作ります。ですのでディスク容量の節約にはなります。
同じ仮想OSをちょいちょい別の実験用途に使いたいような人は、クローン機能を使用することで実験が他の仕事に悪影響を及ぼさないよう隔離することができます。
入力デバイスのキャプチャとリリース
デスクトップ仮想化では、ホストOSもGUIで操作します。したがって、マウスやキーボード(入力デバイス)のフォーカス移動がスムーズに行われることが望ましいです。これは通常、以下のイベントをトリガとします。
- マウスがホストOSからゲストOSのデスクトップ画面に移動した。
- マウスがゲストOSのデスクトップ画面からホストOSに移動した。
VMwareではこのフォーカスの移動(キャプチャとリリース)を、ゲストOS上のツールと仮想マシンの連携で行っています。
これについては欠点が二つあります。
- ツールが提供されないゲストOSでは入力デバイスのキャプチャとリリースをユーザーが明示的に行う必要がある。
- 最近になってゲストのツールの品質が低下している。
1については原理上仕方のないことですが、マイナーなOSを試そうとすると急にユーザー体験が悪化します。一方でHyper-Vの場合はゲスト側のツールなしでキャプチャとリリースをスムーズに行いますので、VMwareの欠点と言えるでしょう。
2についてはUbuntuがWaylandに移行してから少しずつおかしくなって来たように思います。幸いなことに手元で現在調子が悪いのはゲストOSがKDE Neonの時であり、主力ゲストOSのUbuntuの場合は問題は起きていません。
ゲストOSのツールはだいぶ前からVMwareが援助してコミュニティーベースのOpen-vm-toolsがLinuxに提供されています。しかしプロジェクトがあまり活発ではないこと、外部からの寄与が乏しくVMwareチームだけが保守しているように見えることから、今後の改善については私は楽観視していません。
カット&ペースト
キャプチャよりもこちらの方が問題が大きくなっています。
キャプチャと同じくこの機能もゲストOS側のツールが必要です。ホストOSとゲストOSの間でペースト・バッファを介したカット&ペーストは、かつてはVMware Workstationの華々しい特徴でした。同様に、両者のデスクトップ間でファイルのドラッグ&ドロップができる点も素晴らしかったです。
しかしながら、やはりWayland普及のあたりからいずれも利用できない問題が頻発するようになりました。
現状、私の手元ではVM毎にホストOSとの間のカット&ペーストができたりできなかったりします。そして、できないVMであるケースが圧倒的に多いです。
共有フォルダ
これもだいぶ問題が大きくなってきた機能です。
キャプチャと同じくこの機能もゲストOS側のツールが必要です。この機能を使うとネットワークを使わずにホストOSの特定のディレクトリをゲストOSから読み書きできるようになります。
これは便利な機能でしたが、今や動くか動かないかは長半賭博程度という有様です。
まとめ
VWare Workstationに対する私の評価は、VM自身の機能とそれ以外とで真っ二つに分かれます。
VM自身は非常に良い機能を持っています。
- 安定したUSBサポート
- 強力なスナップショット機能
- 便利なクローン機能
- 小メモリでも動作する仮想メモリ機能
一方、それ以外は悪いと言わざるをえません。
- ゲストOSがUbuntu以外では動作が怪しい入力デバイスのキャプチャ機能。
- すっかり動作しなくなったカット&ペースト。
- あてにならない共有フォルダ機能。
あとはまぁ、愚痴の類いですがBroadcomという会社はVMWare Workstationを使うにあたっての暗雲だと考えています。必要とも思えないサポート・サイト移行をカスタマーに急がせ、挙句の果てはトラブル続出というあの数日間は思い出したくもありません。
製品が無償化されたのでこれまでに購入したライセンスが消えたのはわかります。それでもbroadcomのサイトの私のアカウントに表示されるこの絵を見ると無神経さに腹が立ちます。バカにしてんのか。
BroadcomがVMware Workstationを精力的にメンテしていく理由は思いつきません。メンテされないソフトウェアはダメになっていく、と考えるとVMware Workstationをお遊び以外に使うべきではないのかもしれません。
Discussion