• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:仮想デスクトップ(VDI)のパフォーマンス情報取得)

仮想デスクトップ(VDI)のパフォーマンス情報取得

このQ&Aのポイント
  • 仮想デスクトップ(VDI)のパフォーマンス情報を取得する方法とは?
  • 仮想デスクトップ(VDI)のOSからではなく、管理サーバーからパフォーマンス情報を取得すべき理由とは?
  • 仮想デスクトップ(VDI)のOSのアクセス要求とパフォーマンス情報の処理について

質問者が選んだベストアンサー

  • ベストアンサー
  • IDii24
  • ベストアンサー率24% (1597/6506)
回答No.5

おおよそはこんなところに書いてあります。 http://www.netone.co.jp/report/column/20120302.html VDIの構成は業務に合わせて人数に合わせてバラバラです。100人程度であればFATに近いパフォーマンスをだすのは簡単です。でも100人程度でVDIを入れても運用コストにはあまり貢献しないのでは?そもそも数千人規模のPCを管理するよりVDIの方が楽というのが目的です。XPの終了の時にあらゆる大企業はそう思ったわけです。 さて共有領域とSSDですが、大規模ストレージをオールフラッシュにしたときに懸念は何でしょうと言うこと。SSDの信頼性についてはHDDより落ちるというのは当然で、寿命も早い。それを長引かせるためには書き込みを減らすことです。そのためにバイナリ共有があるわけです。 少し前は共有できるアプリを選んで共有させていましたが、最近ではストレージがスマートになっています。 https://www.emc.com/en-us/storage/xtremio/benefits.htm こういった製品はバイナリレベルで勝手に共有をしてくれます。ファイルごとではありません。ファイルの中の同じ部分を共有してしまうということ。会社のロゴマークや社名や住所が入ったWordFAXシートなら保存するときにその部分を切り離して管理してます。機械が判断して保存しないのです。よみこみ時に共通のところからWordに戻すということです。ファイル側にはポインターだけが保存されます。テンプレートではありません。ユーザーファイルはOSから見れば普通のWordファイルですが、中ではバラバラに管理されているということです。 WIN7のユーザーイメージにあるすべてをバイナリ比較し、同じ部分を共有部分に持ちます。OS、アプリ、さらにお気に入りやマイドキュメントまでも。 リダイレクトされた部分もこのなかに入ります。これはストレージが勝手にやっているのでWINからは普通に見えます。このように節約することで数千人のイメージは10分の1以下の容量で管理できます。当然サーバーの台数は飛躍的に減るということになります。2年ぐらい前のVDIだと大企業は数百台のサーバーを用意したものですが、今は100台程度に減らせています。そのような技術の進歩によりVDIはクラウドへ移行し、今後はPC自体がシンクラ端末。あるいはタブレッドのようなものに変わりつつある。 マイクロソフトがWINDOWSを半分捨ててクラウド端末に位置づけ、iOSもAndroidもサポートするという意味はここにあります。

noname#242248
質問者

お礼

ありがとうございます。 正しいかどうかわからないですが、今 できうる環境を構築して以下の検証をしました。 ※ ホストOSについては、他のプロセスによってディスクIOが発生する可能性があり、VMwareによってディスクへの書き込みが行われているため、VMwareに関係するプロセスのみ取得しました。 仮想アプリケーション:VMWare Workstation 12 Player(12.1.0 Build-3272444) ゲストOS情報:Windows 7 EnterPrise(x86) メモリ:1GB HDD:60GB ホストOS情報:Windows 7 Home(x64) メモリ:8GB HDD:287GB 1.ゲストOSおよびホストOSともにパフォーマンスモニターを起動  取得したカウンターは以下の通り。  <ゲストOS>  Process - noteepad - IO Read Bytes/sec Process - noteepad - IO Write Bytes/sec <ホストOS> Process - vmware-vmx - IO Read Bytes/sec Process - vmware-vmx - IO Write Bytes/sec Process - vmplayer - IO Read Bytes/sec Process - vmplayer - IO Write Bytes/sec Process - vmware-authd - IO Read Bytes/sec Process - vmware-authd - IO Write Bytes/sec 2.2016/05/08 15:30:33~15:30:39にゲストOSでメモ帳を起動し、適当に文字を入力して保存。  ファイルサイズは233バイト。 3.パーフォーマンスモニターの取得結果は以下の通り。 <ゲストOS> 05/08/2016 15:30:33.846 Process - noteepad - IO Read Bytes/sec 11935.4557023155 05/08/2016 15:30:34.845 Process - noteepad - IO Read Bytes/sec 33440.2069889622 05/08/2016 15:30:35.843 Process - noteepad - IO Read Bytes/sec 0 05/08/2016 15:30:36.842 Process - noteepad - IO Read Bytes/sec 0 05/08/2016 15:30:37.840 Process - noteepad - IO Read Bytes/sec 0 05/08/2016 15:30:38.854 Process - noteepad - IO Read Bytes/sec 0 05/08/2016 15:30:39.852 Process - noteepad - IO Read Bytes/sec 0 05/08/2016 15:30:33.846 Process - noteepad - IO Write Bytes/sec 232.593508856549 05/08/2016 15:30:34.845 Process - noteepad - IO Write Bytes/sec 0 05/08/2016 15:30:35.843 Process - noteepad - IO Write Bytes/sec 0 05/08/2016 15:30:36.842 Process - noteepad - IO Write Bytes/sec 0 05/08/2016 15:30:37.840 Process - noteepad - IO Write Bytes/sec 0 05/08/2016 15:30:38.854 Process - noteepad - IO Write Bytes/sec 0 05/08/2016 15:30:39.852 Process - noteepad - IO Write Bytes/sec 233.301822567856 <ホストOS> 05/08/2016 15:30:33.465 Process - vmware-vmx - IO Read Bytes/sec 0 05/08/2016 15:30:34.456 Process - vmware-vmx - IO Read Bytes/sec 340451.766678853 05/08/2016 15:30:35.464 Process - vmware-vmx - IO Read Bytes/sec 0 05/08/2016 15:30:36.458 Process - vmware-vmx - IO Read Bytes/sec 0 05/08/2016 15:30:37.468 Process - vmware-vmx - IO Read Bytes/sec 12165.7359110562 05/08/2016 15:30:38.465 Process - vmware-vmx - IO Read Bytes/sec 0 05/08/2016 15:30:39.464 Process - vmware-vmx - IO Read Bytes/sec 205006.798730384 05/08/2016 15:30:33.465 Process - vmware-vmx - IO Write Bytes/sec    0 05/08/2016 15:30:34.456 Process - vmware-vmx - IO Write Bytes/sec   130.16371248332 05/08/2016 15:30:35.464 Process - vmware-vmx - IO Write Bytes/sec    0 05/08/2016 15:30:36.458 Process - vmware-vmx - IO Write Bytes/sec  84729.5811126003 05/08/2016 15:30:37.468 Process - vmware-vmx - IO Write Bytes/sec  16439.782291918 05/08/2016 15:30:38.465 Process - vmware-vmx - IO Write Bytes/sec    0 05/08/2016 15:30:39.464 Process - vmware-vmx - IO Write Bytes/sec 202060.827008394 05/08/2016 15:30:33.465 Process - vmwareplayer - IO Read Bytes/sec 0 05/08/2016 15:30:34.456 Process - vmwareplayer - IO Read Bytes/sec 130.16371248332 05/08/2016 15:30:35.464 Process - vmwareplayer - IO Read Bytes/sec 0 05/08/2016 15:30:36.458 Process - vmwareplayer - IO Read Bytes/sec 259.542563187743 05/08/2016 15:30:37.468 Process - vmwareplayer - IO Read Bytes/sec 218.801077176386 05/08/2016 15:30:38.465 Process - vmwareplayer - IO Read Bytes/sec 0 05/08/2016 15:30:39.464 Process - vmwareplayer - IO Read Bytes/sec 129.130258965916 05/08/2016 15:30:33.465 Process - vmwareplayer - IO Write Bytes/sec 0 05/08/2016 15:30:34.456 Process - vmwareplayer - IO Write Bytes/sec 0 05/08/2016 15:30:35.464 Process - vmwareplayer - IO Write Bytes/sec 0 05/08/2016 15:30:36.458 Process - vmwareplayer - IO Write Bytes/sec 0 05/08/2016 15:30:37.468 Process - vmwareplayer - IO Write Bytes/sec 0 05/08/2016 15:30:38.465 Process - vmwareplayer - IO Write Bytes/sec 0

noname#242248
質問者

補足

実際に仮想基盤上のストレージの寿命を延ばすためIOPS制限の話がでているので、それは理解しています。 パフォーマンスモニターでサーバーの「Disk Queue Length」をのパフォーマンス情報を取得した際、あまりにパフォーマンスが出ていないと思ったらストレージ側でIOPS制限しており、それによって遅延が発生していた こともありました。 IOPS制限以外にディスクへのIOを減らす技術があるとは知りませんでした。 自分はあるベンダーに入って仕事をしていますが、VDIを管理しているのは別のベンダーで実際に聞いても教えて頂けるかわからないですし、自分が所属しているベンダーのプライドもあるので聞いてはダメという話になる可能性が高いので、ここで教えて頂いたことは大変勉強になりました。 VDIのOS上で5MBのWord文書をディスクに保存した場合、バイナリレベルで同じであれば書き込みを行わないこともあり、書き込みを行う場合でも、共有部分と共有でない部分が判断されて保存されるため、仮にVDIのOS側で5MBの書き込みを行っていても、ストレージレベルでとらえた場合、バイナリレベルが同じのため書き込みしない場合もあるし、共有でない部分だけ書き込まれる場合がある。 そのため、VDIのOS上でのパフォーマンス情報を取得しても正しい情報が得られない場合があるので、ストレージ側でパフォーマンス情報を取得したほうがいいと理解致しました。 時間が出来たら、VMWare PlayerがインストールされているPCのパフォーマンスモニターに「VMware」というカウンターがあり、「Virtual Disk Bytes Read /sec」「Virtual Disk Bytes Write /sec」があるので、ゲストOSにインストールしたアプリからファイルの作成、上書きをしたとき、ホストOSとゲストOSのディスクIOを見れば、差があるともうので確認をしてみようと思います。 実際に使用しているVMware Horizon(with View)は本番利用なため、勉強したいから試させてくれということはできないので、VMWare Playerで確認を考えています。アプリケーションとして動作しているかハイパーバイザーで動作しているかの違いはあるものの、今回の件について目で見て理解することはできるのではと考えています。 WindowsServerはもちろんサーバーOSですが、Windows7などのOSもある意味サーバーOSであると思っています。 サーバーOSの定義としてはサービスを提供するとあるので、Windows7でのOfficeなどによる文書・表計算作成もサービスであると思っています。 実際にOffice365もありますし。 Windows10が最後のWindowsと言われているので、シンクラからVDIを使用しているのと同じようにデスクトップ環境はサービスとして提供されていくのではと思っています。

その他の回答 (4)

回答No.4

仮想環境はどうしても時刻がずれがちです。 特にWindowsは特定の時点(起動時のRTCから読み取った時刻や、NTPサーバーなど別のマシンと同期した時刻)からの経過時間という形で時刻を管理しているので、数マイクロ秒でも仮想マシンが停止していると、時刻が遅れます。当然、仮想環境用に調整機能は入っていますが、逆に調整される前後で一気に(と言ってもマイクロ秒単位でですが)時計が進むことになります。 CPUはコア単位で実行されていても、ディスクIOなどは排他処理が必要となり、実マシンと同レベルで時間進行させることは困難です。 このため、単位時間当たりの処理の統計をとる場合は、仮想環境の時間を元にすると不正確になる可能性があります。

noname#242248
質問者

補足

ありがとうございます。 ディスクIOなどは排他処理ですが、以下の理解であっておりますでしょうか。 ・VDIで使用されているストレージはFATとは異なり、共有されている。 ・分かりやすい例で「Oracle VirtualBox」を例にすると、「Oracle VirtualBox」上にゲストOS1(Windows7), ゲストOS(Windows8.1)があり、それぞれに仮想ディスク(.vhd)がある。ゲストOS1、ゲストOS2でディスクへの IOが発生した場合、ディスクへの読み込み/書き込みは「Oracle VirtualBox」が排他制御を行い、処理をしている。 そのため、制御している側でパフォーマンス情報を見る必要がある。 (例として出しました、「Oracle VirtualBox」では「Oracle VirtualBox」側からゲストOSのパフォーマンス情報を 見ることはできませんが、VMwareの場合は、管理サーバーから確認することができる。)

  • IDii24
  • ベストアンサー率24% (1597/6506)
回答No.3

まずVDIの資料をあさるべきでは? そもそもVDIよりユーザーにとってはローカルPCの方が絶対使いやすいです。 VDIにする意味って管理コストの削減とノンストップ運用、セキュリティ強化によって貢献するという事でしかないと思います。それをなす為には使いやすさを犠牲にしない必要があり、VDIは単なる仮想PCではなく、パフォーマンスと運用管理の容易さを確保する仕組みが施された環境です。 単に使いやすいだけならPCをそのまま仮想にすればよいだけです。でもそれを何百人に提供するには大量のサーバーが必要でコストだけが膨れ上がり、なるべくコストを下げて現実的なコストまで持っていく。それだけの努力なんですね。実は結構無駄な努力をしているわけです。サーバーが安くて運用も自動なら実はこんな努力はいらないのです。しかし現在はそこまでではないから複雑な設定が必要なのです。 ユーザーの環境が壊れた場合すぐ次の環境を割り当てれば、ユーザーは今まで通り使える。切り替えは数分。そのためにプロファイルは中央で管理し、すぐに次の環境に適応されます。また今まで使っていたファイルも中央のフォルダーにリダイレクトしているので、再リダイレクトすることでそのまま使えます。(マイドキュメントとかDeskTop、お気に入りなど) またディスク容量を節約するためOSファイルや共通ソフトファイルも中央で同じものを全員が使えるようになってます。つまりProgram Filesなどです。レジストリはユーザーごとに管理されます。スワップ領域やこれらのファイルの読み込みは結局取り合いなのですよ。そうなると待ち時間を節約するにはSSDしかないのです。 先に書いたストレージがこの共有を管理するというのは、ストレージ筐体に機能があり書き込みファイルを分析してバイナリが一緒のものは書き込まないと言うもの。つまりプログラムもWINOSも一つです。さらに個別のファイル。例えばFAX送信テンプレートのヘッダーとかは企業で同じですからこれも自動で一つにしてしまう。 ユーザーは自分の書いたFAX文書を保存したと思っていても、じつはこの部分は保存せず本文だけを保存しているというものです。 要するに読み込み時にはOS,ソフト、ファイルまで共有部分から読み込むので、もし一斉に立ち上げるとバッティングするという事です。 VDI導入企業で朝全員がメールを読むのでメールが遅いとかいうクレームがあるのはこういった仕組みだからです。メーラーは同じところから読み込んでいるので。 こういった事を考えず、ローカルPCそのまま仮想にしている企業もありますが少数です。中小か部門だけどか。そういった構成を考慮せずにパフォーマンス測定はできないということです。

noname#242248
質問者

補足

ありがとうございます。 中々、探している情報にたどりつかないので質問をさせて頂きましたが、 ご教示頂きました情報を元に探していたら、今使用している環境に恐らく 近いであろうという以下のサイトにたどりつきました。 ---------------------------------------------------------- 04 シンクライアントの構築・運用フェーズに検討すべきこと 仮想PC型(VDI)シンクライアント『Horizon View』編 http://sandi.jp/column/corpus-thinclient/20140930.html ---------------------------------------------------------- VDIのOSはWindowsですが、FATと比べるとPOSTなどハードウェアチェックもなく、起動、電源オフも逆に早くFATが使いやすいという声は周りから聞こえてこないです。 FATで例えるなら、MacPCと同じように起動、電源オフが早いです。 アプリについてはEXCEL操作中に固まることもありますが、FATでも起こるのであまり気にしてはいません。 「管理コストの削減」については、FATの場合、故障したら修理、OS再セットアップの工数がかかりますので、管理コスト削減のためにVDIを導入を検討する理由は理解できます。 「セキュリティ強化」はFATの場合はそれぞれの端末が行う通信を監視したりしないといけないですが、VDIは仮想基盤上にあるので、仮想基盤の監視を行うことで一括監視できるし、マスタイメージのクローンが展開されるため、FATと比べてセキュリティパッチが適用されていないということがないのでそれも理解できます。 今使用している環境ですが、シンクラを起動して、VDIにログインするとブラウザのお気に入り、個人ドライブが割り当てられますので、恐らく、リダイレクトされていると思います。 ログオフするとデスクトップにおいたファイルは次回ログインすると消えているので、Refeshを行っているのだと思います。また、毎回同じデスクトップに接続されないので、非永続プールを使用しているようです。 >またディスク容量を節約するためOSファイルや共通ソフトファイルも中央>で同じものを全員が使えるようになってます。 Citrix XenAppではないため、中央で同じものを使っていないようです。 マスタイメージ(OS、アプリ、パッチが適用済)が定期的に作成するRecomposeを行っており、ログインするとマスタイメージ がクローンとしてVDIにコピーされます。 >ストレージがこの共有を管理するというのは、ストレージ筐体に機能があ>り書き込みファイルを分析してバイナリが一緒のものは書き込まないと言>うもの。つまりプログラムもWINOSも一つです。さらに個別のファイ >ル。例えばFAX送信テンプレートのヘッダーとかは企業で同じですからこ>れも自動で一つにしてしまう。 例えば、「ユーザーA」と「ユーザーB」が同じ「文書A」を自分の個人フォルダにコピーした場合、「文書A」のバイナリ情報は同じのため、保存はしないということも行われるということでしょうか。 その場合、同じ文書ではあるが「ユーザーA」と「ユーザーB」の個人フォルダの場所は違うので、同じ文書へのリンクが個人フォルダに保存されるということでしょうか。 また、コピーした文書のファイル名のみを変更した場合、中身は変わりませんが、ファイル名が変わることによって別のバイナリファイルとして扱われることはないのでしょうか。 >OS,ソフト、ファイルまで共有部分から読み込むので、もし一斉に立ち上>げるとバッティングするという事です。 ログインするとマスタイメージがクローンとしてVDIにコピーされますが、マスターイメージの読込が失敗する可能性があるということでしょうか。 マスターイメージのクローンの失敗は今のところ聞いてはいないです。 >VDI導入企業で朝全員がメールを読むのでメールが遅いとかいうクレーム>があるのはこういった仕組みだからです。 >メーラーは同じところから読み込んでいるので。 メーラーが遅いのは、Outlookで例えた場合、個人のPSTファイルがプロファイルサーバーから読み込まれるため、メール起動が遅いということでしょうか。 管理サーバー上でディスクのIOを確認する理由としてですが、OSディスクとは別にディスポーザブルディスクにページファイル、tempファイルが作成されるため、VDIのOS上で確認するよりも管理サーバーで確認したほうがいいとサイトを見て思いましたが、そういうことではないのでしょうか。

  • IDii24
  • ベストアンサー率24% (1597/6506)
回答No.2

ディスクIOはVDI最大のネックであり、だからHDDよりもSSDが好まれるわけで、オールSSD製品ばかりになってます。先にも書いた通りリダイレクトしている領域を見るには管理サーバー側でしか見れません。まあ当然と言えば当然。だからなんでもかんでもリダイレクトさせないで、しなくてよい部分は仮想イメージ側に残すのも必要。プログラムフォルダも同じで立ち上げ時に取り合いにならないように考えるのは最初からする必要がある。 プロファイルをMOVEさせれば復旧は楽だけど、VDIには負担。そういうことも含めて設計が大事。朝全員が起動させると立ち上がらないから時間をずらして立ち上げるようにとか笑い話もある。 ストレージが共有させる機能はまだ出始めだけど、あれも良く分からない。例えばWORDのヘッダーだけが共有されたり、EXCELのスタイルだけが共有されたりでもはや管理は不能。機械任せでよいものなのか。まあそれを見れるのは管理サーバーだけなので。

noname#242248
質問者

補足

ありがとうございます。 仮想基盤上にあるサーバーはIOPSが高いSAS SSDが使用されるようですが、VDIの場合も同様にSAS SSDが使用されるということでしょうか。 ------------------------------------------------------------------------------------- ハードドライブとソリッドステートドライブの違いと選定のポイント http://h50146.www5.hp.com/products/servers/proliant/storage/sata_sas.html#difference -------------------------------------------------------------------------------------- VDIは詳しくないのですが、マスタ作成 -> 再構成 (Recompose)してそれをクローンとして数百台に展開しているようです。 >リダイレクトさせないで、しなくてよい部分は仮想イメージ側に残すのも>必要。プログラムフォルダも同じで立ち上げ時に取り合いにならないよう>に考えるのは最初からする必要がある。 詳しくなくて大変申し訳ないのですが、上記のご説明頂きました内容についてどういった構成をされている場合に問題になる可能性があるということでしょうか。 プロファイルは別のサーバーにあり、シンクラを起動してユーザー、パスワードを入力してログインするとVDIに接続しますが、そのとき、プロファイルサーバーからプロファイルがコピーされるようです。 VDIを使用するユーザーは多く、かなりの人が朝、シンクラからVDIに接続していますが、繋がらないといった声は聞こえてこないです。 設計したのは、別の会社のようですが設計がしっかりしているということなのでしょうか。 ディスクのIOの場合は、管理サーバーからパフォーマンスを見る必要があるとのことですが、VDIに割り当てされるCPU(vCPU)、メモリ(vMEM)は管理サーバーからパフォーマンスを見なくてもVDIのOS上から見ても差はあまりないということでしょうか。 サーバーの場合だとオーバーコミット、バルーン、圧縮ページングなどサイジングする場合がありますが、VDIの場合、このようなサイジングはされず、オーバーコミットは一般的にはされないということでしょうか。 マスタ作成 -> 再構成 (Recompose)してそれをクローンとして数百台に展開していて、マスタにアプリも入っている場合、プログラムフォルダの取り合いはあるのでしょうか。

  • IDii24
  • ベストアンサー率24% (1597/6506)
回答No.1

なんのパフォーマンスを見るのかって目的の違いだと思いますよ。 単純に環境のパフォーマンスだけを見るならWINのパフォーマンスモニターでも全然問題ありません。でもそれを見たからと言って解決策の洗い出しにはなりませんよね。なぜなら問題は管理サーバー側の設定やハードにあるからです。 VDIでは設定によってはユーザープロファイルを移動式にしたり、同じアプリや環境を共有部分に持ったりしてますから、その共有部分のIOなどを計測しないとボトルネックがわかりません。当然それらが管理サーバーのどの部分を占めているのかによって問題の解決策は変わります。 最近ではストレージ自体がバイナリベースで共有をしてくれる製品もあり、一外にVDIの性能だけで分かるというものでもなくなっています。 まあ単純にWIN7をそのままイメージとして丸ごと載せるというのは、非効率なのであまりないので、複雑な設定をせざるを得ないのが現状ですから。 WIN7をそのままリモート使用したいなら、ブレードPCで十分ですからね。わざわざVDIにしたいというのは、あくまでも節約したいという意味ですから。その節約には工夫が必要ってことです。

noname#242248
質問者

補足

ありがとうございます。 CPU使用率、メモリ容量は仮想デスクトップ(VDI)のOS上から取得して指摘はありませんでしたが、ディスクへの「IO Read Bytes/sec」「IO Write Bytes/sec」はOS上から取得した結果と、仮想デスクトップ管理サーバーから仮想デスクトップ(VDI)のディスクへの「IO Read Bytes/sec」「IO Write Bytes/sec」を取得する結果が異なるという話を聞きました。 ユーザープロファイルは別のサーバーに保存しています。 仮想デスクトップ(VDI)は仮想基盤上にあり、仮想基盤上からディスクへの「IO Read Bytes/sec」「IO Write Bytes/sec」が発生するため、仮想基盤からも確認する必要があるということでしょうか。

関連するQ&A