Oracle Virtual Desktop Infrastructure (VDI) は、データセンターでホストされている仮想デスクトップへのアクセスを提供します。Oracle VDI は、次の内容を実行することで、完全なデスクトッププロビジョニングと配布サービスを提供できます。
仮想マシンを作成、実行、および格納する。
ユーザーを認証し、そのユーザーを仮想デスクトップに接続する。
クライアントデバイスが仮想デスクトップを表示できるようにする。
図2.1「Oracle VDI のアーキテクチャー」に示すように、Oracle VDI システムには仮想化、ストレージ、管理、およびデスクトップアクセスの 4 つの要素があります。
次のセクションでは、これらの要素について説明します。
仮想化は Oracle VDI の基盤となるものです。これは、仮想化によってデスクトップを作成および管理する機能が提供されるためです。デスクトップとは、仮想化プラットフォームで実行するオペレーティングシステムのインスタンスを表します。Oracle VDI では、仮想化プラットフォームをデスクトッププロバイダとして構成します。デスクトッププロバイダを構成する場合は、次の内容を指定します。
プロバイダタイプ: 仮想デスクトップに使用するプラットフォーム。
プロバイダホスト: 実際にデスクトップを実行するサーバー、および関連するストレージ。
Oracle VDI では複数のタイプのデスクトッププロバイダをサポートしています。このタイプは次のカテゴリに分類できます。
ハイパーバイザベースのプロバイダ: VMware ESX Server などのベアメタルハイパーバイザ、または Oracle VM VirtualBox などのホスト済みのハイパーバイザによってホストされている、仮想マシンのデスクトップへのアクセスを提供します。
セッションベースのプロバイダ: Microsoft リモートデスクトップサービス (RDS) などのリモートコンピュータによってホストされている、デスクトップセッションへのアクセスを提供します。
デスクトッププロバイダ用に構成されるプロバイダホストは、Oracle VDI とは別にインストールされ、独自のプラットフォームで実行されます。プロバイダホストは、デスクトップを管理するための手段に加えて、CPU やメモリーなどのデスクトップを実行するための物理リソースを提供します。プロバイダホストが使用するストレージについては、「ストレージについて」で説明します。
Oracle VDI は、1 つの仮想化プラットフォームのみに限定されていません。さまざまなデスクトッププロバイダタイプを混在させたまま使用し、必要な数のデスクトッププロバイダを作成することができます。Oracle VDI がデスクトッププロバイダと通信する方法はプロバイダタイプによって異なります。この方法については、次のセクションで詳しく説明します。
使用可能なハイパーバイザベースのデスクトッププロバイダを次に示します。
Oracle VDI
Microsoft Hyper-V
VMware vCenter
Oracle VDI デスクトッププロバイダは仮想化プラットフォームとして Oracle VM VirtualBox を使用します。また、Oracle VM VirtualBox ソフトウェアは Oracle VDI と一緒に配布されます。ほかのデスクトッププロバイダとは異なり、Oracle VM VirtualBox では Windows デスクトップに加えて UNIX および Linux プラットフォームのデスクトップも実行できます。また、Oracle VM VirtualBox にはリモートデスクトッププロトコル (RDP) 用に統合された独自のサーバーがあります。RDP を使用すると、ローカルで実行しているようにリモートの仮想マシンに接続したり、リモートの仮想マシンを制御できます。
Oracle VDI は、Oracle VDI と Microsoft Hyper-V デスクトッププロバイダを使用して、プロバイダホストを直接管理します。Oracle VDI は、仮想マシンの構成情報を含めてデスクトップをプロバイダホストに登録する要求を送信します。また、デスクトップの起動、停止、および状態の保持など、デスクトップを管理するための要求も送信します。Oracle VDI プロバイダでは、Oracle VDI は Oracle VM VirtualBox の Web サービスアプリケーションプログラミングインタフェース (API) を使用してプロバイダホストと通信します。Microsoft Hyper-V プロバイダでは、Windows リモート管理 (WinRM) が使用されます。Oracle VDI とプロバイダホスト間の通信は、セキュリティー保護された Hypertext Transfer Protocol (HTTPS) 接続上で行われます。これらのデスクトッププロバイダが所有できるホスト数には制限がありません。また、Oracle VDI は、最適なパフォーマンスを得るために使用可能なホスト間でデスクトップの負荷を分散させます。
VMware vCenter デスクトッププロバイダを構成する場合は、個々のプロバイダホストではなく VMware vCenter サーバーを指定します。これは、プロバイダホストが VMware インフラストラクチャによって管理されているためです。Oracle VDI はデスクトップの要求を vCenter サーバーに送信し、vCenter サーバーはその要求をグループ内の vSphere サーバーに送信します。Oracle VDI は、VMware Infrastructure SDK の Web サービス API を使用して vCenter サーバーと通信します。また、通信は HTTPS 上で行われます。VMware Infrastructure はすべてのデスクトップ操作を担当しますが、Oracle VDI はその負荷を監視したり、デスクトップの作成時に特定のデータストアを選択して使用することができます。
使用可能なセッションベースのデスクトッププロバイダを以下に示します。
Microsoft リモートデスクトップ
Sun Ray キオスク
汎用
Microsoft リモートデスクトッププロバイダは個々のデスクトップを提供していません。代わりに、Oracle VDI はユーザーを RDS サーバーで作成されたデスクトップセッションに接続します。プロバイダホストには、1 つのスタンドアロンの RDS サーバーまたは RDS ファームのサーバーグループを使用できます。RDS サーバーまたはファームは、ユーザー用の新しい RDS デスクトップセッションの作成、または既存のデスクトップセッションへのユーザーの再接続 (セッションブローカが構成されている場合)、およびセッションの負荷分散を担当します。オプションで、Oracle VDI の管理ツールにセッション、CPU、およびメモリーの負荷情報を表示できるように、RDS サーバーを構成できます。
Sun Ray キオスクデスクトッププロバイダは、Oracle VDI 自身で使用できないセッションタイプに対するアクセス (たとえば、Sun Ray VMware Connector などの異なるブローカを使用したリモートデスクトップへの接続) を提供したり、ロックダウンされた Web ブラウザの Web ベースアプリケーションに対するアクセスを提供します。
汎用デスクトッププロバイダは、物理コンピュータまたは仮想マシンで RDS デスクトップセッションを実行します。通常、汎用プロバイダはユーザーを既存の Windows PC に接続するために Oracle VDI によって使用されます。また、デスクトップを Oracle VDI ソリューションに移行する場合の戦略の一部としても使用されます。
通常、デスクトッププロバイダにはデスクトップに使用する仮想ディスクを作成および格納する場所が必要であるため、ストレージは仮想化と密接に関連しています。仮想ディスクに使用される形式は、仮想化プラットフォームがサポートするネイティブの形式です。ストレージの要件およびストレージの管理方法は、デスクトッププロバイダのタイプにより異なります。
Oracle VDI と Microsoft Hyper-V デスクトッププロバイダにはストレージが必要です。Oracle VDI は Sun Unified Storage Systems または Oracle Solaris ホストの Zettabyte File System (ZFS) ストレージプールをサポートしています。また、Oracle VDI は必要なストレージを直接管理します。
VMware vCenter デスクトッププロバイダにもストレージは必要ですが、このストレージは Oracle VDI ではなく VMware Infrastructure によって管理されます。ただし、Oracle VDI は vCenter に使用可能なストレージに関してクエリーを送信することができます。また、仮想ディスクの作成時には使用するデータストアを選択できます。
その他すべてのデスクトッププロバイダでは、ストレージは Oracle VDI とは無関係に管理されます。
デスクトッププロバイダは、高可用性 (HA) を提供するために複数のストレージサーバーを構成できます。Sun Unified Storage Systems を使用してストレージクラスタを作成し、ストレージサーバーのハードウェアコンポーネントに冗長性を持たせることもできます。
Oracle VDI は、最適なパフォーマンスを提供して負荷を分散させるために、ストレージサーバーを選択して使用可能な空き領域と現在のワークロードに基づいて仮想ディスクを複製およびホストします。仮想ディスクが作成されると、その仮想ディスクが削除されるまでストレージサーバーに残ります。
デスクトップに必要な仮想ディスクを作成するには、Oracle VDI からストレージ サーバーへの SSH ルートアクセスが必要です。Sun Unified Storage Systems では、仮想ディスクを複製したり仮想ディスクを ZFS プールに格納するのに Sun Unified Storage のコマンド行が使用されます。Oracle Solaris ホストでは、これらのタスクを実行するのに ZFS コマンドが使用されます。各仮想ディスクは、ストレージサーバーの iSCSI ターゲットとして構成されます。
ユーザーがデスクトップを要求すると、Oracle VDI は仮想マシンをデスクトッププロバイダホストに登録します。これには、仮想ディスクの iSCSI ターゲットアドレスが含まれます。デスクトッププロバイダがデスクトップを起動する場合、図2.2「ストレージと Oracle VDI」に示すように、iSCSI を使用してデスクトップが仮想ディスクに接続されます。これにより、仮想マシンはローカルファイルシステムに存在する場合と同様に仮想ディスクにアクセスできます。
管理者はストレージサーバーの保守モードを有効にすることができます。このモードでは、ストレージサーバーが無効になり、実行中のすべてのデスクトップが停止または中断されます。このモードを有効にすると、ストレージサーバーで保守を実行できます。また、このモードは、たとえばハードウェアを交換するためにストレージサーバーをレプリケートおよび交換する場合に便利です。
管理要素は Oracle VDI の主要な部分です。この要素は、大規模な仮想マシンの配備を構築する場合や、ユーザーにデスクトップに対するアクセスを提供する場合に必要なすべての機能を提供します。管理要素には次のコンポーネントが含まれます。
VDI サービス
Oracle VDI Center エージェント
Oracle VDI Web サーバー
MySQL データベース
RDP ブローカ
Sun Ray Software
RDP ブローカおよび Sun Ray Software コンポーネントは、ユーザーが自分のテスクトップにアクセスするための手段を提供します。これについては「デスクトップアクセスについて」で説明します。次のセクションでは、その他のコンポーネントの目的について説明します。
VDI サービスは、Oracle VDI. の最も重要なコンポーネントです。VDI サービスは、デスクトッププロバイダの作成と管理、およびユーザーの認証とユーザーへのデスクトップの割り当てに使用されます。VDI サービスは共通エージェントコンテナ (Cacao) の vda モジュールとして配備されます。Cacao とは Java 管理アプリケーションを実行するためのシステムデーモンです。VDI サービスは VDA サービスと呼ばれる場合もあります。
Oracle VDI では、デスクトップはプールにまとめられます。プールとは、特定のデスクトッププロバイダタイプによってホストされるデスクトップのグループです。個々のデスクトップを 1 つのプールにインポートしたり、デスクトップをテンプレートとしてインポートできます。テンプレートは、必要な数のデスクトップを作成する場合に複製されます。プールは、プール内のすべてのデスクトップに構成設定のグループを適用する場合 (たとえばデスクトップが配置されているサブネットを指定したり、仮想マシンが使用するリソースを管理する場合) にも使用されます。
プール内のデスクトップは、次のいずれかのタイプです。
個人: このデスクトップは個々のユーザーに割り当てられ、デスクトップが削除されるか、管理者によって別のユーザーに割り当てられるまで、個々のユーザーが所有します。
フレキシブル: このデスクトップは、一時的に個々のユーザーに割り当てられます。ユーザーがログアウトするか、デスクトップが使用されなくなると、別のユーザーに割り当てることができるように、そのデスクトップはリサイクルされるか削除されます。
デスクトップのライフサイクルを完全に管理できるように、次の方法で VDI サービスを構成できます。
仮想マシンを作成する
仮想マシンを起動する
デスクトップをユーザーに割り当てる
デスクトップの使用状況と仮想マシンの状態を監視する
デスクトップをリサイクルする
仮想マシンをシャットダウンする
仮想マシンを削除する
Oracle VDI は、外部のユーザーディレクトリに保持されているデータを利用して、ユーザーを認証したりユーザーにデスクトップを割り当てることができます。これにより、組織内の既存のユーザーやグループに個々のデスクトップまたはプールを割り当てることができます。VDI サービスでは Active Directory および LDAP タイプのディレクトリをサポートしています。複数のディレクトリを構成できます。これにより、1 つの Oracle VDI の配備から複数の会社にデスクトップを提供したり、複数ドメインを持つ複数のツリーフォレストのような複雑な Active Directory 構造を持つ会社と統合することができます。また、スマートカード (Oracle VDI ではトークンと呼ぶ) を使用して、ユーザーにデスクトップを割り当てることもできます。トークンとユーザーディレクトリを一緒に使用したり、個別に使用できます。
Oracle VDI には VDI サービスを構成および管理するためのツールが 2 つあります。
Oracle VDI Manager: Web ベースのグラフィカルアプリケーションです。
vda コマンド: デスクトッププロバイダやプールなどの個々の領域を管理するためのサブコマンドファミリを持つ、コマンド行ツールです。
VDI サービス自体は、コマンド行から vda-service コマンドを使用した場合のみ、起動および停止できます。
Oracle VDI Center エージェントは、共通エージェントコンテナ (Cacao) の vda.center.agent モジュールとして配備されます。これにより、Oracle VDI はユーザーのサポートを拡大したり、信頼性と可用性が高いサービスを提供することができます。
Oracle VDI ホストを組み合わせて Oracle VDI Center を作成できます。最初に構成されたホストが Oracle VDI Center を作成します。このホストは一次ホストと呼ばれます。その他のホストは二次ホストとして構成され、Oracle VDI Center に追加されます。Oracle VDI Center エージェントは、Oracle VDI Center 内のホスト間にセキュリティー保護された通信を提供します。また、ホスト間の Oracle VDI Center に関する情報の整理を担当します。
複数のホストを持つ Oracle VDI Center はホスト間でデスクトップセッションを分散できるため、信頼性の高いサービスを提供できます。1 つのホストに障害が発生しても別のホストによりデスクトップセッションのホストが継続され、ユーザーの作業の中断が最小限に抑えられます。一次ホストが使用できなくなった場合、Oracle VDI Center エージェントは二次ホストを自動的に昇格させて新しい一次ホストにします。また、これらの変更を Oracle VDI Center 内のほかのホストに伝達します。これをフェイルオーバーと呼びます。
Oracle VDI には構成情報と実行時情報を格納するための MySQL データベースが必要です。Oracle VDI Center を構成するときに、Oracle VDI ソフトウェアに付属している組み込みの MySQL サーバーデータベースを使用するように選択できます。または、独自の MySQL データベースを使用できます。
組み込みの MySQL データベースを使用する場合、Oracle VDI Center の一次ホストが Oracle VDI のマスターデータベースを実行します。高可用性を提供するには、Oracle VDI Center の二次ホストがスレーブデータベースを実行します。スレーブデータベースは一次ホストからレプリケーションの更新情報を受け取ります。一次ホストが使用できなくなった場合、Oracle VDI Center エージェントは二次ホストを自動的に昇格させて一次ホストにします。また、二次ホストのデータベースがマスターデータベースになります。独自の MySQL データベースを使用する場合は、高可用性を提供するために独自のプロビジョニングを行う必要があります。
データベースに格納される構成データには、ユーザーディレクトリとトークンに関する情報と、デスクトッププロバイダ、プール、テンプレート、ストレージなどのデスクトップ情報が含まれます。実行時情報には、ログインしたユーザー、ユーザーが使用しているデスクトップ、そのデスクトップの状態、実行中の複製ジョブの詳細に関する情報が含まれます。
Oracle VDI Web サーバーは Apache Tomcat サーバーであり、Oracle VDI で使用されるグラフィカル管理ツールの実行に使用されます。Oracle VDI Manager のほかにも Sun Ray 管理ツールがあります。管理ツールはそれぞれ独自の Tomcat インスタンスを使用し、異なるポート番号を使用してアクセスされます。
Oracle VDI Web サーバーも、「デスクトップアクセスについて」で説明する Oracle VDI の Web サービスを実行します。
Oracle VDI を使用すると、デスクトップセッションは常に仮想ホストで実行され、クライアントデバイスでは実行されません。ユーザーは、次のいずれかのクライアントを使用してデスクトップにアクセスできます。
Oracle Sun Ray クライアント (Oracle Virtual Desktop Client を含む)
リモートデスクトッププロトコル (RDP) クライアント (セキュリティー保護された、Oracle Secure Global Desktop を使用する Web アクセスを含む)
Web サービスクライアント (通常は Web アプリケーション)
デスクトップにアクセスするためのすべての要求は、VDI サービスによって処理されます。ユーザーがデスクトップを所有すると、デスクトップセッションの接続と表示には RDP プロトコルが使用されます。ユーザーがデスクトップにアクセスする方法は、デスクトップへのアクセスに使用されるクライアントによって異なります。この方法については、次のセクションで説明します。
ユーザーは、Oracle Sun Ray クライアントまたは Oracle Virtual Desktop Client を使用してデスクトップにアクセスできます。Sun Ray クライアントは、サーバーにホストされたデスクトップを表示するための、セキュリティー保護された、消費電力の少ないハードウェアのシンクライアントデバイスです。Oracle Virtual Desktop Client は共通のクライアント オペレーティング システムをインストールするアプリケーションであり、Sun Ray クライアントのソフトウェアバージョンです。どちらのクライアントも、Appliance Link Protocol (ALP) を使用して Oracle VDI ホストで実行している Sun Ray Software に接続します。
Sun Ray Software は、Sun Ray クライアントにデスクトップを表示するための基盤を提供します。Sun Ray Software は Oracle VDI のキオスクセッションを実行します。キオスクセッションは、デスクトップセレクタプログラムと Sun Ray Windows コネクタプログラムを実行します。デスクトップセレクタは VDI サービスにユーザーの資格を送信し、ユーザーに割り当てられたデスクトップを要求します。Sun Ray Windows コネクタは、Sun Ray 環境の RDP クライアントであり、デスクトップを実行している仮想マシンにユーザーを接続します。ユーザーは、ユーザー名とパスワード、オプションで Windows ドメインを使用するか、スマートカードを挿入して自分自身を認証し、デスクトップにアクセスします。認証が成功すると、ユーザーはデスクトップに接続されます。ユーザーに複数のデスクトップが割り当てられている場合、接続するデスクトップを選択できる画面が表示されます。ユーザーが自分のデスクトップに自動的にログインできるように、ユーザーの資格を Windows オペレーティングシステムに渡すこともできます。
Oracle VDI には、リモートデスクトッププロトコルを使用して RDP クライアントをデスクトップに接続できる RDP ブローカが含まれます。サポートされている RDP クライアントには、Oracle Secure Global Desktop に付属のリモートデスクトップクライアント、または Microsoft のリモートデスクトップ接続が含まれます。
ユーザーは、RDP クライアントを実行するか、接続する Oracle VDI ホストを指定して、デスクトップにアクセスします。RDP ブローカは、ユーザー名、パスワード、およびオプションでドメイン名を含む受信要求を受け取り、ユーザーを認証してデスクトップを要求する VDI クライアントコマンド行ツールを実行します。VDI サービスは VDI クライアントツールにデスクトップの IP アドレスとポートを返します。VDI クライアントツールはこの情報を RDP ブローカに渡します。RDP ブローカは RDP クライアントをリダイレクトし、指定された IP アドレスとポートのデスクトップに接続します。
Oracle Secure Global Desktop は、ブラウザを使用して、ユーザーがリモートデスクトップに安全にアクセスできるようにすることで、従来の RDP クライアントの範囲を拡張しています。
VDI クライアントのコマンド行ツールには Web サービスのアプリケーションプログラミングインタフェース (API) があります。アプリケーション開発者やシステムインテグレータは、HTTP や SOAP プロトコルを使用して、Oracle VDI からデスクトップを要求するための独自のソリューションを開発できます。Web サービスは Oracle VDI Web サーバーによってホストされます。