Citrix虚拟应用和桌面

データベース

Citrix虚拟应用サイトおよびCitrix虚拟桌面サイトでは,次の3つのSQL Serverデータベースを使用します:

  • サイト:(别名:サイト构成)実行中のサイト构成に加えて,その时点でのセッションの状态と接続情报を格纳します。
  • 构成ログ:(別名:ログ)サイト構成の変更や管理タスクに関する情報を格納します。このデータベースは,構成ログ機能が有効化(デフォルトは有効)されているときに使用されます。
  • モニター:セッションや接続情報などのデータを格納するために,导演により使用されます。

各交付控制器はサイトデータベースと通信します。控制器とデータベース間の接続にはWindows認証が必要です。任意の控制器をシャットダウンしても,そのサイトのほかの控制器には影響しません。しかしながら,これはサイトデータベースが単一障害点になりうることを意味します。このデータベースサーバーで障害が発生しても,既存の接続は,ユーザーがログオフまたは切断するまでは機能し続けます。サイトデータベースが利用不可能な場合の接続動作について詳しくは,”ローカルホストキャッシュ“を参照してください。

データベースのバックアップを定期的に作成して,データベースサーバーに障害が発生してもバックアップから復元できるようにすることをCitrixではお勧めします。各データベースを異なる方法でバックアップしなければならない場合があります。手順については,CTX135207を参照してください。

サイトに复数のゾーンが含まれている场合は,プライマリゾーンには必ずサイトデータベースを格纳してください。すべてのゾーンのコントローラーは,このデータベースと通信します。

高可用性

自動フェールオーバーを確実にするために,数種類の高可用性ソリューションがあります。

  • AlwaysOn的可用性グループ机能(基本的な可用性グループを含む):SQL Server 2012中で导入されたエンタープライズレベルの高可用性および障害回复ソリューション。これにより,1つまたは复数のデータベースの可用性を最大化できます.AlwaysOn可用性グループ机能では,Windows Server故障转移群集(WSFC)ノード上にSQL服务器インスタンスが存在する必要があります。详しくは,「SQL服务器での的Windows Serverフェールオーバークラスタリング“を参照してください。
  • SQL Serverデータベースのミラーリング:データベースをミラーリングすると,アクティブなデータベースサーバーが停止しても自動フェールオーバー処理が実行され,ユーザーは通常,停止の影響を受けません。各データベースサーバー上に完全なSQL Serverライセンスが必要になるため,ほかのソリューションよりも費用が高くつきます。SQL Server Expressエディションを使用してデータベースをミラーリングすることはできません。
  • SQLクラスタリング:微软のSQLクラスタリングテクノロジを使用して,任意のサーバーに障害が起きた場合に別のサーバーが自動的にタスクや実行内容を引き継ぐようにできます。ただし,このソリューションのセットアップは複雑で,SQLミラーリングなどほかのソリューションよりも自動フェールオーバー処理には一般的に時間がかかります。
  • ハイパーバイザーの高可用性机能の使用:この方法では,仮想マシンとしてデータベースを展開し,ハイパーバイザーの高可用性機能を使用します。このソリューションでは既存のハイパーバイザーソフトウェアを使用でき,またSQL Server Expressエディションも使用できるため,ミラーリングよりも費用が安いというメリットがあります。ただし,データベースの新しい仮想マシンの起動に時間がかかるため,自動フェールオーバー処理が遅くなり,ユーザーへのサービスが中断する可能性があります。

ローカルホストキャッシュ機能は,SQL Serverの高可用性のベストプラクティスを補完します。ローカルホストキャッシュによりユーザーは、サイトデータベースに接続できない状態でも、アプリケーションやデスクトップに接続および再接続できます。詳しくは、「ローカルホストキャッシュ“を参照してください。

サイト内のすべての控制器で障害が起きた场合,VDAが高可用性モードで动作するように构成できます。これにより,ユーザーは障害発生后もデスクトップやアプリケーションにアクセスして使用することができます。高可用性モードでは,控制器を経由しない,VDAへの直接ICA接続が可能になります.Controllerとのすべての通信に失败した场合にのみ,この机能を使用してください。この机能を他の高可用性ソリューションの代わりに使用しないでください。详しくは,CTX 127564を参照してください。

SQLクラスター化またはSQLミラー化インストールにおける,ノード上への控制のインストールはサポートされていません。

データベースソフトウェアのインストール

デフォルトでは,初めて交付控制器をインストールしたときに,そのサーバーで他のSQL服务器インスタンスが検知されなかった场合に,SQL Server Express的エディションがインストールされます。通常,概念実证またはパイロット展开では,このデフォルトの动作で十分です。ただし,SQL Server Express的微软はの高可用性机能をサポートしていません。

デフォルトのインストールでは,デフォルトのWindowsサービスアカウントおよび権限を使用します。Windowsサービスアカウントをsysadminロールに追加する方法など,デフォルトの設定について詳しくは,微软社のドキュメントを参照してください。控制器はこの構成で网络服务アカウントを使用します。SQL Serverに追加のロールまたは権限は必要ありません。

必要に応じて,データベースインスタンスで[インスタンスの非表示)を選択できます。工作室でデータベースのアドレスを構成する場合,インスタンス名ではなく,インスタンスの静的ポート番号を入力してください。SQL Serverデータベースエンジンのインスタンスを非表示にする方法について詳しくは,微软社のドキュメントを参照してください。

ほとんどの実稼働環境,および微软の高可用性機能を利用しているすべての環境では,表达以外のサポート対象エディションのSQL Serverのみを使用することをお勧めします。最初の控制器がインストールされているサーバー以外のマシンに,SQL Serverをインストールします。サポートされるSQL Serverのバージョンについては,”システム要件“を参照してください。データベースは1つまたは複数のマシンに常駐できます。

サイトを作成する前に,SQL Serverソフトウェアをインストールしておく必要があります。データベースを作成する必要はありませんが,作成する場合は,必ず空にしておいてください。微软高可用性テクノロジの構成も推奨されます。

Windows更新を使用して,SQL服务器を最新の状态に保ってください。

サイトの作成ウィザードを使ったデータベースのセットアップ

[サイトの作成]ウィザードの[データベース]ページで,データベースの名前とアドレス(場所)を指定します。(「データベースのアドレス形式“を参照してください)。导演がMonitor Serviceをクエリするときのエラーを防ぐため、監視データベースの名前にはスペースを使用しないでください。

[データベース]ページには,自動とスクリプト使用の2つのデータベース設定オプションがあります。工作室ユーザーやCitrix管理者が,必要なデータベースアクセス権を持っている場合は,通常,自動オプションを使用します(“データベースのセットアップに必要な権限“を参照してください)。

構成ログや監視データベースの場所は,サイトの作成後に変更できます。「データベースの場所の変更“を参照してください。

ミラーデータベースを使用するようにサイトを構成するには,以下の手順を完了してから,自動またはスクリプトによるセットアップ手順に進みます。

  1. SQL Serverソフトウェアをサーバー一およびBにインストールします。
  2. サーバーに,プライマリとして使用するデータベースを作成します。サーバー一のデータベースをバックアップしてから,サーバーBにコピーします。
  3. サーバーBでバックアップファイルを復元します。
  4. サーバー一でミラーリングを開始します。

サイトの作成後にミラーリング設定を検証するには,PowerShellコマンドレットget-configdbconnectionを実行して,ミラーに対する接続文字列でフェールオーバーパートナーが設定されていることを確認します。

ミラー化されたデータベース環境で交付控制器を後から追加,移動,または削除する場合は,”交付控制器“を参照してください。

自動セットアップ

必要なデータベース権限を持っている場合は,サイトの作成ウィザードの[データベース]ページにある(工作室でデータベースを作成および設定する]を選択します。次に,プリンシパルデータベースの名前とアドレスを入力します。

指定したアドレスにデータベースが存在する場合,そのデータベースは空でなければなりません。指定されたアドレスにデータベースが存在しない場合,データベースが見つからないというメッセージが表示され,データベースを作成するかどうかの確認を求められます。作成に同意すると,工作室により自動的にデータベースが作成され,プリンシパルデータベースとレプリカデータベースに初期化スクリプトが適用されます。

スクリプトを使ったセットアップ

。必要なデータベース権限がない场合は,データベース管理者など,必要なデータベース権限を持っている人に支援を依頼してください手顺は以下のとおりです:

  1. サイトの作成ウィザードの[データベース]ページで,[スクリプトを生成して手動でセットアップ]を選択します。この操作により,次のプリンシパルデータベースとレプリカデータベースのそれぞれに対して,サイト,監視,およびログのデータベースの3種類のスクリプトが生成されます。

    • 名前に“系统管理员”を含むスクリプト。データベースと交付控制器のログインを作成するスクリプト。これらのタスクには,和securityadmin権限が必要です。
    • 名前に「的dbowner」を含むスクリプト。データベースでユーザー役割を作成し,ログインを追加してから,データベーススキーマを作成するスクリプト。これらのタスクにはdb_ownerの権限が必要です。
    • 名前に“混合”を含むスクリプト。必要な権限に关わらず,1つのスクリプトにすべてのタスクを含めます。

    スクリプトの格納先を指定します。

    注:

    エンタープライズ环境では,データベースのセットアップに,役割(権限)が异なる(是securityadminまたはdb_owner)チームが処理する可能性があるスクリプトが含まれます。該当する場合は,最初に是securityadminロールの管理者が“系统管理员”スクリプトを実行し,次にdb_owner権限を持つ管理者が“DbOwnerスクリプトを実行します。これらのスクリプトの生成には,PowerShellを使用することもできます。詳しくは。”優先データベース権限スクリプト“を参照してください。

  2. これらのスクリプトをデータベース管理者に渡します。この時点で,サイトの作成ウィザードは自動的に停止します。後で戻ってきたときに,サイトの作成を続行するように求められます。

その後,データベース管理者がデータベースを作成します。個々のデータベースには,次の特性が必要です:

  • _CI_AS_KS」で终わる照合顺序を使用します。_100_CI_AS_KSで終わる照合順序を使用することをお勧めします。
  • 最適なパフォーマンスを実現するには,SQL Server授权读取快照を有効化します。詳しくは,CTX137161を参照してください。
  • 构成済みの高可用性机能(该当する场合)。
  • ミラーリングを構成するには,まず,完全復旧モデルを使用するようにデータベースを設定します(デフォルトは簡易モデル)。プリンシパルデータベースをファイルにバックアップして,それをミラーサーバーにコピーします。次に,ミラーサーバーにバックアップファイルを復元します。最後に,プリンシパルサーバーでミラーリングを開始します。

データベース管理者は,SQLCMDコマンドラインユーティリティ,またはSQL Server Management StudioをSQLCMDモードで使用して,以下のことができます:

  • 高可用性的SQL Serverデータベースインスタンスで,各xxx_Replica.sqlスクリプトを実行する(高可用性が構成されている場合)
  • プリンシパルSQL Serverデータベースインスタンスで,各xxx \ _Principal.sqlスクリプトを実行する。

SQLCMDについて詳しくは,微软のドキュメントを参照してください。

すべてのスクリプトが正常に终了したら,データベース管理者は,思杰管理者に3种类のプリンシパルデータベースアドレスを渡します。

サイト作成の続行を求めるメッセージが表示されます。[データベース]ページに戻ります。渡されたアドレスを入力します。データベースをホストしているサーバーのいずれかに接続できない場合、エラーメッセージが表示されます。

データベースのセットアップに必要な権限

データベースを作成し,初期化(または,データベースの場所を変更)するには,ローカル管理者およびドメインユーザーでなければなりません。また,特定のSQL Server権限も必要です。以下の権限は,Active Directoryのグループメンバーシップで明示的に構成または取得できます。工作室を使用する管理者にこれらの権限がない場合,SQL Serverユーザーの資格情報を入力する必要があります。

操作 目的 サーバーロール データベースロール
データベースの作成 空のデータベースを作成します dbcreator
スキーマの作成 サービス固有のすべてのスキーマを作成して,サイトに最初の控制器を追加します 是securityadmin db_owner
控制器の追加 サイトに控制器(2つ目以降)を追加します 是securityadmin db_owner
控制器(ミラーサーバー)の追加 ミラー化されたデータベースのミラーロールのデータベースサーバーに控制器ログインを追加します 是securityadmin
控制器の削除 サイトから控制器を削除します ** db_owner
スキーマの更新 スキーマの更新および热修复补丁を適用します db_owner

是securityadminは,技術的にはより限定的なサーバーの役割ですが,実際には系统管理员のサーバーの役割と同等のものとして扱われます。

* *工作室で,または工作室かSDKで生成されたスクリプトを使用して,控制器をサイトから削除すると,データベースサーバーへの控制器ログオンは削除されません。これは,同じマシン上のほかのCitrix製品のサービスで使用されるログオンが削除されるのを防ぐためです。ログオンが不要になった場合は,手動で削除する必要があります。この操作には,是securityadminのサーバーの役割メンバーシップが必要です。

工作室を使用してこれらの操作を実行する场合,工作室ユーザーは,适切なサーバーロールのメンバーとして明示的にデータベースサーバーアカウントを持っているか,またはアカウントの资格情报を提供できることが必要です。

優先データベース権限スクリプト

エンタープライズ环境では,データベースのセットアップに,役割(権限)が异なる(是securityadminまたはdb_owner)チームが処理する必要があるスクリプトが含まれます。

PowerShellを使用して,優先データベース権限を指定することができます。デフォルト以外の値を指定すると,個別のスクリプトが作成されます。1つのスクリプトには,是securityadminの役割が必要なタスクが含まれています。もう1つのスクリプトは,db_ownerの権限のみが必要で,データベース管理者に連絡することなくCitrix管理者が実行できます。

GET-*的dbschemaコマンドレットの-DatabaseRightsオプションで有効な値は以下のとおりです:

  • SA:データベースと交付控制器のログインを作成するスクリプトを生成します。これらのタスクには是securityadminの権限が必要です。
  • DBO:データベースでユーザー役割を作成し,ログインを追加してから,データベーススキーマを作成するスクリプトを生成します。これらのタスクにはdb_ownerの権限が必要です。
  • 混合(デフォルト)必要な権限に関わらず,1つのスクリプトにすべてのタスクを含めます。

詳しくは,コマンドレットのヘルプを参照してください。

データベースのアドレス形式

データベースのアドレスは,以下の形式のいずれかで指定できます。

  • ServerName
  • ServerName \都
  • 服务器名称,端口号

AlwaysOn可用性グループ機能では,場所フィールドにグループのリスナーを指定します。

データベースの場所の変更

构成ログや监视データベースの场所は,サイトの作成后に変更できます(サイトデータベースの场所を変更することはできません)データベースの场所を変更する场合は,以下の点に注意してください。:

  • 変更前のデータベース内のデータは変更后のデータベースにインポートされません。
  • 構成ログデータベースの場所を変更する場合,変更前のデータベースの内容は集約されなくなります。
  • 変更后のデータベースの最初にデータベースの変更を示すログが记录されますが,変更前のデータベースの场所は记录されません。

データベースが切断されているときの構成変更が禁止された環境(必須ログ機能)では,構成ログの場所を変更することはできません。

データベースの场所を変更する场合は,次の手顺に従います。

  1. データベースを常駐させるサーバーに,サポートされているバージョンのMicrosoft SQL Serverがインストールされていることを確認します。必要に応じて,高可用性機能をセットアップします。
  2. 工作室のナビゲーションペインで[構成]を選択します。
  3. 場所を変更するデータベースを選択して,[操作]ペインの[データベースの変更)を選択します。
  4. 変更後の場所とデータベース名を指定します。
  5. 必要な権限を持っているのでデータベースを工作室で作成するという場合は,(好的)をクリックします。確認のメッセージが表示され,(好的)をクリックすると工作室によりデータベースが自動的に作成されます。工作室ユーザーの資格情報を使ってデータベースへのアクセスが試行されます。それが失敗すると,データベースユーザーの資格情報の入力を求められます。アクセスに成功すると,工作室によりデータベーススキーマがデータベースにアップロードされます(資格情報はデータベース作成時のみ保持されます)。
  6. 工作室にデータベースを作成させない场合,または必要な権限がない场合は,[スクリプトを作成)をクリックします。作成されるスクリプトには,データベースおよびミラーデータベース(构成する场合)を手动で作成するためのコマンドが记述されます。スキーマをアップロードする前に,データベースが空であること,および1人以上のユーザーがそのデータベースにアクセスでき,変更できることを确认してください。

詳細情報