Hyper-Vの互換性とシステム運用の課題
地獄を見たWIN2012R2のリリース
ところが、WIN2012のリリースから1年ほど経った頃に、なんとWIN2012R2がリリースされました。これまでは、Windows Serverのバージョンアップは2年ほどのサイクルで繰り返されてきたので、これほどの短期間でのWindowsのバージョンアップは予想外のものでした。そして、Hyper-Vは…。Windows Server 2008 R2のHyper-V と比較すると、WIN2012のHyper-Vは打ち上げロケットの第一段階、WIN2012R2のHyper-Vはさらなる加速を伴って進化を遂げていました。サービス開発者としては、どこから手を付けてよいものか、迷うくらいの機能満載です。浮かれた気分も束の間、これほどの機能アップをするということは、そうです、互換性、下位バージョンのサポートはということで調べてみたところ、プロビジョニングシステムの大黒柱、WMI「root\virtualization」名前空間(API)がWindows Server 2008 R2のHyper-Vでは完全に無くなっており、「root\virtualization\v2」だけとなっていました。まさに「なんて日だ!」状態です。それまで手掛けたサービスに関しては、まったくの互換性がない、まるで異なる新しいHyper-Vとなってしまったわけです。
インフラ基盤、テスト環境、プロビジョニングコード、すべてを作り直すこととなりました。文字にしてしまえばたった数文字の「作り直し」ですが、気持ち的にも、肉体的にも短期間でこれほどの集中力と持久力、忍耐力を要したことはありませんでした。そして、2012年10月、すべてが新しくなったサービスは「お名前.com デスクトップクラウド」と名前を変えて生まれ変わりました。「Hyper-V」という同じ名前のものをプラットフォームとしたサービスであっても、バージョン間の互換性の問題でこれほどまでに苦労を伴うこともありえます。新しいHyper-Vの登場は、浮かれてばかりではなく、それなりの覚悟を持って迎えなければいけないと、身を持って勉強させられた次第です。
さて、vNextのHyper-Vのお話に戻ります。先に述べたような苦い思いがあるゆえに、vNextのHyper-Vについては、新機能と同じくらいに気になるところなので、互換性に焦点をあててご紹介します。
Hyper-Vマネージャー
vNextのHyper-Vマネージャーは、WIN2012以降のHyper-Vと互換性が取られています。具体的には、クライアントOSも含めるとvNext 、WIN2012、 Windows 8、 WIN2012R2 と Windows 8.1となります。Hyper-Vマネージャーから「サーバーに接続」メニューを使って、これらのHyper-Vにリモートで接続して管理することが可能です。ただし、上位バージョンであるvNext のHyper-Vに、下位バージョンであるWIN2012R2のHyper-Vマネージャーからリモート接続した場合など、一部利用できない機能があります。上位バージョンのHyper-Vに下位バージョンのHyper-Vからリモート接続したとしても、Hyper-Vマネージャー自体の機能がバージョンアップしているわけではないためです。たとえば、新しい「プロダクションチェックポイント」の設定などは、WIN2012R2のHyper-VマネージャーからvNext のHyper-Vにリモート接続した場合には、メニュー自体が従来のWIN2012R2のHyper-Vマネージャー相当の、チェックポイントファイルの場所のみしか表示されません。固定メモリのサイズ変更や、ネットワークアダプタの動的な追加削除も同様に利用できません。下位のHyper-V自体の機能に限定されてしまうということです。
vNext のHyper-Vの新機能をHyper-Vマネージャーから利用したい場合は、vNextのHyper-Vマネージャーから直接か、同じvNext同士からリモート接続をして利用する必要があります。反対にvNextのHyper-Vマネージャーから、WIN2012R2のHyper-Vにリモート接続した場合、残念ながらご想像どおりWIN2012R2のHyper-V上の仮想マシンに対して新機能は使えません。ちょっと紛らわしいのですが、WIN2012R2のHyper-VマネージャーからvNext のHyper-Vにリモート接続して仮想マシンを作成した場合は、バージョンは6.0となります。リモートからでも、作成される仮想マシンのバージョンはHyper-Vマネージャーのバージョンに左右されることはありません。
Windows Server Technical PreviewのHyper-Vに接続したところ。
Hyper-Vマネージャーからは、vNext、WIN2012双方向で接続管理が可能だが、一部利用できない機能がある。