━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ケーススタディ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Horizon 7 Connection Server TIPS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
お客様から私たちサポート部門によくいただく質問について、 Horizon 7 環境の中心となる Connection Server (接続サーバ) に関して、役立つ TIPS をまとめてご紹介いたします。
1.接続サーバとは
Horizon 環境は複数のコンポーネントが多数連携して構成され、接続サーバはその中心的な役割を担います。仮想マシンは、ESXi ホストやストレージで構成される基板上に配置され、エンドユーザ様ご利用のクライアント端末デバイスから仮想デスクトップで使用するために、Horizon の中核となる接続サーバと連携をします。また、接続サーバはドメインを管理する Windows Active Directory 環境とも連携しています。
万が一、接続サーバの再起動が必要になった場合、接続サーバの停止中は運用影響として下記の制限があります。
(1)新規に仮想デスクトップへ接続することができません。
(2)ご利用中の既存セッションについては、直接接続の場合は仮想デスクトップをそのままご利用いただけます。間接接続の場合はセッションが切断されます。
※直接/間接接続の設定は、管理コンソールの View Administrator の [インベントリ ] - [サーバ] で接続サーバを選択して、[全般] タブで確認できます。[PCoIP Secure Gateway] または [Blast Secure Gateway] にチェックがない場合は直接接続、チェックがある場合は間接接続です。
(3)ご利用中の既存セッションについて、仮想デスクトップのログオフ操作ができません。 ログオフの操作をした場合は、セッションは切断されますがログオフされずに残ります。接続サーバの起動後、対象の仮想デスクトップへ再接続することができます。
2.接続サーバのログバンドル
ログバンドルには、接続サーバアプリケーションのデバッグログのほかに、Windows コマンドの systeminfo, ipconfig, netstat 等で採取されたシステム情報や Windows イベントログも含まれており、トラブルシューティングで最も重要な情報になります。
VMware Horizon のログおよび診断情報の収集 (1017939)
接続サーバのデバッグログは下記フォルダに debug-YYYY-MM-DD-hhmmss.log のファイル名で保存されています。
C:\ProgramData\VMware\VDM\logs
VMware View のログ ファイルの場所 (1027744)
(1)ログの注意事項
ログを最大活用するために、ログがローテーションされないように注意が必要です。ログには、常に新しい情報が書き込まれ古い情報が破棄されるようにローテートされています。障害が発生した際にはログが大量に出力される場合がありますので、事象発生時の必要なログがローテートされて消えてしまわないように、事象発生後すぐにログ採取することをお願いします。また、ログを長期間保持できるようにあらかじめログ保持数を調整しておきます。
VMware View コンポーネントでログ ファイルの動作を変更する (1025887)
(2)ログバンドル収集に時間がかかっているのは netstat コマンドだった
netstat コマンドは通信中の TCP 接続の状態を表示させる Windows コマンドです。接続サーバのログバンドル収集にあたって、通信中の TCP 接続のローカルアドレス及び外部アドレスをホスト名で表示するため、DNS サーバへアクセスして IP アドレスから名前を求める逆引きの名前解決を行います。このため、DNS サーバの応答のパフォーマンスによって時間がかかる場合があります。
この問題を回避するには、 netstat コマンドを -n オプション付きで実行します。
netstat コマンドに -n オプションを付けた場合、ローカルアドレス及び外部アドレスが ホスト名の文字列ではなく、IP アドレス(数値)で表示されます。名前解決が不要となり DNS サーバへアクセスしないので、コマンドの応答がかなり早くなります。
これには、接続サーバのログバンドル収集スクリプトを次のように編集します。
[スクリプトの場所] C:\Program Files\VMware\VMware View\Server\DCT\vdm-support.vbs
・[変更前] RunCmd "netstat -abov", strSysConfigDir & "\netstat-abov.txt"
・[変更後] RunCmd "netstat -abovn", strSysConfigDir & "\netstat-abovn.txt"
3.接続サーバの再起動手順
(1)全台再起動
接続サーバにホットパッチを適用した場合や、vCenter Server をアップグレードした場合は、一旦全ての接続サーバをシャットダウンし、順番に1台ずつ接続サーバを起動します。
Restart order of the View environment to clear ADLDS (ADAM) synchronization in Horizon View (2068381)
ただ、クラスタを構成する接続サーバの台数が多い場合、例えば5台構成の場合は、 初期起動時の ADAM データベース同期の待ち時間の影響で、 接続サーバの起動完了を1台ずつ待つと時間がかかりますので、下記手順のとおり1台目のパワーオンから 10 分待機とします。
- (a) 5 台全てのコネクションサーバをシャットダウンします。
- (b) 1 台パワーオンします。
- (c) 1 台目のパワーオンから 10 分待機します。
- (d) 2 台目をパワーオンします。
- (e) 2 台目パワーオン後、1 台目との同期が完了したか確認します。
- (f) 1 台目と 2 台の同期が完了し、View関連サービス起動確認します。
- (g) 3 台目〜 5 台目は、OS パワーオン後、3 分間隔で順次パワーオンします。
(2)ローリング再起動
複数台の接続サーバでクラスタを構成している場合に、1台目を再起動し、1台目が起動完了したら、2台目を再起動します。順番に再起動して、全台を再起動します。
ローリング再起動は以下のような場合に有効です。
・再構成 (Recompose)、更新 (Refresh) の処理が進まない場合。
・仮想マシンがパワーオンしない場合。
(3)サービス再起動
接続サーバサービスだけを再起動することもできます。接続サーバのサービスにレジストリ設定等のサーバ単体の設定を反映させる場合に有効です。
・接続サーバに管理者権限でログインします。
・ [スタート] - [コントロールパネル] - [管理ツール] - [サービス] を選択します。
・ [VMware Horizon View 接続サーバ] サービスを再起動します。
4.接続サーバの ADAM データベース
(1)ADAM データベースへの接続
ADAM は Active Directory Application Mode の略で、接続サーバは仮想デスクトッププールの管理のために Windows の Active Directory のデータベース機能を使用しています。 ADSI エディタを利用しADAM データベースへ接続することで、デスクトッププールの設定やステータスの閲覧及び編集ができます。
View ADAM データベースへの接続 (2012377)
例えば、次の KB の pae-DirtyVMPolicy オプションのようにデスクトッププールのオプション設定が可能です。
[仮想マシンの表示] にアクセスすることができず、View Administrator コンソールに仮想マシンのステータスが「使用中」と表示される (1000590)
(2)ADAM データベースのレプリケーション
複数の接続サーバでクラスタを構成している場合には、接続サーバ同士が LDAP プロトコルで通信して定期的に ADAM データベースの同期を行うレプリケーションが動作しています。レプリケーションのトラブルシューティングにてよく参照される KB を下記にご案内します。
View 接続サーバをレプリケートできない (2014488)
ADAM データベース間でレプリケーションを強制する (1021805)
5.接続サーバのイベントデータベース (Event DB)
管理 Web コンソール View Administrator で確認するイベントデータは、Microsoft SQL サーバ等の外部データベース上で管理されています。
View_Events データベース テーブルと VMware View Manager の View Manager イベント ビューアを理解する (2007095)
(1)イベントデータの格納先
Current ・・・ View Administrator で参照出来るイベントデータ
・dbo.VEevent
・dbo.VEevent_data
Historical ・・・ 永続的に保持されるイベントデータ
・dbo.VEvent_data_historical
・dbo.VEevent_historical
(2)Current データの保持期間はデフォルト 3ヶ月
View Administrator で変更可能です。
データの削除処理には負荷がかかる為、保持期間を短く設定します。
(3)View Administrator で確認できるイベントデータの件数は、デフォルト 2000 件
2000 件以上を表示させる場合は、ADSI エディタで変更可能です。
Changing the maximum number of event records that View Administrator can display (1026196)
6.接続サーバのアンチウイルスの除外設定
Horizon のパフォーマンスを改善するために、アンチウイルスソフトから特定のプロセスやファイルの除外設定を行ってください。対象のプロセスやファイルは下記のドキュメントをご参照ください。
Antivirus executable exclusion list for VMware Horizon View (2082045)
7.接続サーバの SSL 通信
Horizon Client や仮想デスクトップとの管理用の接続サーバ通信には SSL 通信を使用します。
(1) SSL サーバ証明書インストール時の注意事項
・秘密キーのエクスポートを可能にします。
「このキーをエクスポート可能にする」のチェックの付け忘れにご注意ください。
・インポートした証明書のフレンドリ名を vdm にします。
(2)TLS 1.0 はデフォルトで使用しません。
Horizon 7 のデフォルトでは、TLS 1.0 は無効になっています。TLS 1.0 を有効にする方法については、『Horizon 7 のアップグレード』ドキュメントの「接続サーバからの vCenter Server 接続に対する TLSv1.0 の有効化」および「View Composer からの vCenter Server および ESXi 接続に対する TLSv1.0 の有効化」を参照してください。
8.接続サーバの AD 環境に関する注意点
インスタントクローンデスクトップのプロビジョニング等、AD 環境のドメインコントローラ(以下、DC) と連携する処理では、接続サーバは DNS サーバから DC 一覧を取得し、その中のいずれかの DC をランダムに選択して接続します。このため、 AD 環境内に複数の DC が存在する場合は、AD 環境内のすべての DC に接続サーバの必要な権限を設定するか、または、DNS サーバが返す DC を接続サーバの必要な権限を設定した DC に限定する必要があります。
万が一、DNS サーバに登録している DC の中に接続サーバの必要な権限を設定していない DC が1台でも存在する場合は、DC への接続が拒否されてインスタントクローンデスクトップのプロビジョニングでは AD_FAULT_FATAL エラーで失敗します。
DC の登録は DNS サーバで SRV (サービスロケーション)レコードを設定します。SRV レコードは、特定サービスをホストするコンピューターを識別するために使用されます。インスタントクローンデスクトップのプロビジョニング時に使用する LDAP 及び仮想デスクトップログイン時の Kerberos 認証に使用する KDC (Key Disstribution Center) として、下記 3つの SRV レコードに指定のドメインコントローラを設定します。
・SRV _ldap._tcp.dc._msdcs.<ドメイン名>
・SRV _kerberos._udp.<ドメイン名>
・SRV _kerberos._tcp.<ドメイン名>
※ SRV の設定後、DNS サーバを再起動します。
また、既存の DNS サーバの SRV レコードの設定変更が難しい場合は、代替案として、 Horizon 環境内に専用の DNS サーバ(例: Windows Server 仮想マシン)を新規に構築し、 SRV レコード問合せのみ指定の DC を自身で応答しその他の名前解決等の問合せは既存の DNS サーバへフォワードする方法があります。
9.接続サーバの致命的なバグ情報
Horizon 7.4 は致命的なバグがあり、自動デスクトッププールの再構成や更新処理が停止したり、仮想マシンをパワーオンできない問題があります。今後アップグレードをご予定の場合は、Horizon 7.5 以降をお勧めします。
Error: "Refit operation refresh failed" after upgrading to Horizon Connection Server 7.4 (57253)
最後までご熟読いただきまして、誠にありがとうございました。この記事がトラブルシューティングの時間と労力の節約に、多いに役立ちますと幸いです。
<執筆者 K.U>
|