「 Hyper-V 」一覧


Windows Server 2016 で RemoteFX GPU の実験


Windows Server 2016 で個人的に魅力的に感じている RemoteFX 仮想 GPU について実験してみました。

Windows Server 2016側の準備

Hyper-V の役割だけでなく、リモートデスクトップ仮想化ホスト の役割もインストールして RemoteFX を使えるようにします。
今回の環境では Intel HD Graphics のドライバがうまく適用できなかったので、
Radeon 7750 を装着して DirectX, OpenGL が動くようにしました。
ちなみに最近のドライバをインストールしましたが、 WHQL 非取得でしたが、 7750 でも Vulkan も動きました。
(vulkaninfo を実行できて、情報が色々と表示されました)。

第2世代仮想マシンでは RemoteFX GPU が使えないという情報があったので、
仕方なく第1世代仮想マシンを作成し、 Windows10 Pro をインストールしました。

ちなみに 第2世代仮想マシンで RemoteFX GPU がちゃんと動いたという情報もあるのですが、
現時点においては正式なサポートというわけでもないようなので、まずは第1世代で試したというわけです。
続きを読む


Windows Server 2016 のUSBメモリからインストールとWindowsコンテナの実験


Windows Server 2016 には興味深い機能があったので検証してみたいところでした。
MSDN でも入手可能になったので早速インストールを試みたわけですが、そのときの記録です。
(早速といってますが、実は10月半ばには入手可能になっていた模様。 MSDNで見当たらなかったので落胆していましたが、確認したタイミングの問題でしょうか)

続きを読む


VisualStudio 2015 と VMwareWorkstation


Windows10 環境にしたこともあり、VisualStudio 2015 も普段使いの環境に追加していました。このときに、 VMware Workstation 12 で仮想マシンを構築・起動をしようとした際に、「64ビットのゲストOSはこのホストではサポートされていません」というエラーメッセージが出てしまいました。

このエラーは、仮想化支援の機能が BIOS で OFF にされていたり、 そもそも CPU が対応していなかったりすることでみるものなのですが、今回はそれら以外でこのエラーを見たのでここにメモしています。

Android 開発もできるようになったとのことで、 VisualStudio 2015 のインストール時に、 Visual Studio Emulator for Android という開発用のエミュレータをインストールしてしまったことにありました。

このエミュレータはクライアント Hyper-V の機能をベースとして使っているようで、これが原因となっていました。

仮想化支援の機能は基本的にはすでに使用されていると次のアプリでは使用できないため、このような症状になったというわけです。(近年は、Nested な仮想化支援環境も構築できるよう進んでいますが、Hyper-V はこのあたり非対応のままのようです)

早速、コントロールパネルから Windows の機能の部分で Hyper-V に関するところを確認してみたら、インストール済みとなっていましたので、チェックを外して無効化しました。この後再起動を要求されます。

再起動後は、 VMwareWorkstation では当初出ていたメッセージが消えました。一方で、案の定ですが VisualStudio の Android エミュレータは使用不可能となっていました。両立できないのは残念ですが、仕方のないことではありますね・・・。


remoteFX環境下で試してみた


ちょっとだけ調べてみました。
動作環境ではRADEON5450を搭載しています。

Fetch4は使えるのか?

使えないです。

DepthTextureは使える?

使えるようです。

まとめ

やはりGPUを抽象化した別のデバイスとしてみえるため、
ベンダ拡張の機能がまだ強い物は扱えないようです。
Fetch4もダメとなるとNVIDIAのTransparency Antialiasもダメだろうなぁ。

ついでに、デバイスが別物なのでCUDA,(GPU側の)OpenCLもダメかなと思います。


remoteFXを試す -成功編-


前回チャレンジしたremoteFXネタですが、
yamasaki さんのアドバイスもありうまく動作させることが出来ました。

環境構築

前回同様WindowsServer2008R2 SP1をインストールして、
Hyper-Vを構築、仮想マシンとしてWindows7 Ultimate SP1を用意しました。

動作させている環境は以下の通りです。

  • CPU : Intel Core i5 650
  • Mem : 8GB
  • Graphics: RADEON 5450, Intel HD Graphics

2008R2環境下で一番困ったのはグラフィックドライバが、
うまくインストールされないことでした。
Intel HD Graphics用ドライバインストールするも、途中でエラーが発生するし。
RADEONはCatalystのインストールで失敗するし。

結局CatalystなしのDisplayDriver onlyなパッケージをダウンロード・インストールすることで正常にRADEONは認識できました。
Intelのほうは、ドライバのインストール失敗しているっぽいのに、
何やら再起動したらうまく認識できているようなそんな感じです。

設定方法

仮想マシンWindows7 Ultimate SP1を仮想マシン設定はデフォルトのままインストールします。
そしてWindows7のインストールが完了し、通常のリモートデスクトップを受け付ける設定にしておきます。

ここで1度、別クライアントから接続を確認しておきます。

続いて、
“コントロールパネル”-“システムとセキュリティ”-“システム”を開き、
“リモートの設定”-“ユーザーの選択”ボタンをクリックします。
現在のユーザーにアクセス権が既に設定されていますと明記されていても、
追加ボタンで、ユーザーを追加します。これが大切なポイントみたいです。

ここで一度Windows7を終了しておきます。

Hyper-Vの仮想マシン設定を開いて、remoteFX 3Dデバイスを追加します。
追加した後で再度仮想マシンWindows7を起動します。
この時点ではまだHyper-Vのウィンドウで表示されます。
起動して、remoteFX 3Dデバイスが認識されると再起動を促されるので、
そのまま再起動を行います。
すると、Windowsが起動する途中でHyper-V側のウィンドウでは表示できなくなります。

そうなったら、別PCからリモートデスクトップで接続します。
うまく接続できればremoteFXが有効になっている可能性が高いです。
手元の環境では、Aeroの設定がOFFになっていたので、
手動でAeroのテーマを使うようにしてみました。うまく半透明効果が適用されることが確認できました。

デバイスマネージャーで見ると、
“Microsoft RemoteFX Graphics Device – WDDM”というデバイスとして見えるようです。

動作確認

若干動作が重い気がしたのですが、
どんな感じで動くかを意地悪にもテストしてみました。

  1. 最近のOpenGLアプリのテスト
    1. 動作しないようです。
    2. VertexBufferObject等のサポートがありませんでした。
    3. またこのことからも当然のごとく、GLSLもシェーダーアセンブラも不可能でした。
  2. ビデオ再生
    1. リモートの中からさらにファイルサーバーにあるファイルを再生してみたところ、
    2. ある程度は再生可能なものの、たまに正常に再生されないフレームが発生。
      1. 試したファイルは .ts の録画したファイルです。
    3. 仮想マシン内ローカルHDDにコピーして再チャレンジ
    4. うまく動作している模様。変なフレームが表示されるようには見えない.
  3. DirectX9を用いた自作アプリ
    1. ShaderModel 3でコンパイルしているシェーダーを用いて描画しているコードが通りました。

どうもネットワーク帯域をかなり喰うようですね。
また、OpenGLのサポートは全然ダメなようです。
これからWebGLとか流行り始めたらこの部分も強化されるでしょうか…。

その他

remoteFX有効時だからか、スタートメニューに出てくる切断の部分が
シャットダウンが標準となっていました。
気をつけないとリモートデスクトップ切断したつもりが、
仮想マシンを電源OFFしたことになってしまいそうです。


RemoteFXを試す -失敗編-


先日NVIDIAのGTC2011に行ってきました。
そこでWindowsServer2008R2のRemoteFXについてのデモもあったので見てきました。
パンフレットもゲットです。

一応そこそこのパフォーマンスでDirectXアプリケーションも動くようなので、
この機能を使ってみようと思いました。とりあえず手元でこれらを実験してみます。

  1. WindowsServer2008R2をインストール
  2. Hyper-Vとリモートデスクトップの役割を構築
  3. 仮想マシン(ゲストOS)にWindows7 Ultimateをインストール
  4. インストールしたWindows7 UltimateにServicePack1を適用

ここまで出来たら一度、別マシンからWindows7マシンへ向けてリモートデスクトップを接続できることを確認しておきます。RemoteFXを有効にしてしまうと、リモートデスクトップ接続からしか仮想マシンを操作できないためです。
うまく動作するようなら、仮想マシンを一度止めて RemoteFXデバイスを追加します。

まず仮想マシン側のWindows7 SP1で、ファイアウォールの設定を修正します。「リモートデスクトップ」には既にチェックが入っているものの、「リモートデスクトップ-RemoteFX」という別のルールにはチェックが入っていないです。そこでこれを有効にするようにチェックを入れます。

しかしそれでも
「このユーザーアカウントはリモートログインを許可されていないため、接続は拒否されました。」とエラーになり、RemoteFX 3Dデバイスを有効化した状態の確認をすることはできなかった。

RemoteFX 3Dデバイスの有無で接続可否が変わるので、何かまだ必要な設定があるのかもしれない。一体何が設定まだ足りないのか不明なのですが、一旦ここで終了です。


続・RemoteApp試してみた


以前に電卓くらいでRemoteAppを試してみましたが、
今回はOffice 2007 Enterpriseで試してみました。

  1. WindowsServer2008R2の環境へOfficeをインストール
  2. RemoteAppで使いたいアプリケーション(WordとかExcelとか)を登録
  3. 登録したアプリのrdpファイルを作成し、使う側へ持ってくる

今回実験なので、シリアルキー入力もしていなければ、ライセンス認証もしていません。
もしかしたら、ライセンス認証したあとでの挙動は変わってしまうかもしれません。

2008R2側でOfficeをインストールした後、RemoteAppに登録したOfficeアプリケーションは1度は実行しておく必要がありそうです。
シリアルキーや認証のダイアログが出てくるための挙動と言えそうですが。
これさえやっておけば、クライアントから接続して使うことが出来ました。


どうもおかしい…。


Hyper-V上で動かしているLinuxマシンがどうも調子がおかしい。
今回はとうとうあるパーティションが読めないとエラーが出て、fsckをかける羽目になった。

結局、fsckでも復帰できなかったため、過去にとってあったスナップショットと
直前の/homeからの書き戻し作業で何とか現在に至ってます。

また、Hyper-Vマネージャもなにやら挙動がおかしいままで、
使い始めの時のような安定性がないです。

ハードウェア構成がまずいためこのようなことに陥っているのかもしれませんが、
どうにもわかりません。
Hyper-Vのイベントログで報告される次のようなエラーがずっとあるのも何か気になります…。

仮想プロセッサでの修復不可能なエラーによりトリプル フォールトが発生したため、
‘vm01’ はリセットされました。問題が解決しない場合は、製品サポートにお問い合わせください。

方針

  • いったんVMwarePlayerで仮装マシンを用意してそちらに現状のものを移行させる。
  • 必要があれば、OSから新規インストールして同じような構成で作成する。
  • VM全てがVMware上で動かせるようになったら、現状のHyper-V構成を削除

もっともVMwareServerが問題抱えていないかをチェックする必要がありそうです。


VMware-serverとHyper-Vの共存


WindowsServer2008R2で、
VMwareServer2.0.2とHyper-Vは同時稼働できないのかもしれない。

以前は出来たような気もするけど、
VMwareServerをインストールして、Hyper-Vの役割インストールという方法で試した。

しかし今回逆に
Hyper-Vを構築の上で、VMwareServerをインストールしようとした場合、
インストーラーでHyper-vの動作を検知されインストールできない旨が表示された。

このことから実は両方同時に1つの環境に入れるというのは、
まずいことだった!というのが推測できる…

なぜそんなことを思いついたか

Hyper-Vで半月ばかり稼働させていたが、
今回Hyper-Vマネージャから仮装マシンへ接続が出来ないという症状に見舞われた。
リモート操作を許可しているVMならまだ方法があるが、そうでないものは画面を開けない以上強制シャットダウンしかない。

ここから先は推測だけど、
何かがリソースリークしているのではないだろうか・・・。
うちでは CPU i3であるけど、標準VGAで運用している。このあたりに問題が何か潜んでいるかも。
こうなっている理由は、WindowsServer2008R2(x64)に今公開されているグラフィックドライバを入れたら
Hyper-V有効化時に、ブルースクリーンに見舞われたからである。

そのときのエラー内容をみるに、グラフィックスドライバ(kernel内)でアクセス違反を起こしていた。

いつかなおってくれるといいなぁ。