8.11. Oracle VDI Center とフェイルオーバー

8.11.1. Oracle VDI Center 内でロールを持つホストの識別
8.11.2. フェイルオーバーを発生させないマスターデータベースホストのリブート
8.11.3. マスターデータベースホストの変更
8.11.4. レプリケーションデータベースホストの変更
8.11.5. 自動フェイルオーバーの調整
8.11.6. 手動でのフェイルオーバーのトリガー
8.11.7. Oracle VDI Center からの応答しないホストの削除
8.11.8. Sun Ray プライマリサーバーの変更
8.11.9. Sun Ray グループ署名とデータストアパスワードの同期

複数のホストを含む Oracle VDI Center を構成すると、高可用性が有効になります。

組み込みの MySQL データベースを使用している場合は、機能するレプリケーションデータベースホストが存在する場合のみ、データベースの高可用性が有効になります。フェイルオーバーはマスターデータベースの障害によってトリガーされます。フェイルオーバーの実行中に、レプリケーションデータベースを実行しているホストが自動的に昇格され、マスターデータベースを実行するようになります。元のマスターデータベースホストは、接続が復元されると、レプリケーションデータベースをホストします。

警告

マスターデータベースホストのリブートは、フェイルオーバーをトリガーする可能性があるため、行わないでください。マスターデータベースホストを安全にリブートするには、「フェイルオーバーを発生させないマスターデータベースホストのリブート」を参照してください。

リモート MySQL データベースを使用している場合は、データベースのフェイルオーバーは使用できず、データベースの高可用性を提供するために独自のプロビジョニングを行う必要があります。これは Oracle VDI の外部で構成されます。

Sun Ray Software の高可用性にフェイルオーバーは必要ありません。データベースのフェイルオーバー時に、Sun Ray プライマリサーバーの自動再構成は行われません。

マスターデータベースホストと Sun Ray プライマリサーバーが同じホストの場合、そのホストは従来 Oracle VDI プライマリホストと呼ばれています。データベースのフェイルオーバー後に、Oracle VDI プライマリホストを維持するために Sun Ray プライマリホストを手動で再構成できます。

8.11.1. Oracle VDI Center 内でロールを持つホストの識別

次のように、Oracle VDI Center 内の複数のホストがロールを持つ場合があります。

  • マスターデータベースホスト

    Oracle VDI Center のマスターデータベースを実行するホスト。

    リモート MySQL データベースを使用している場合は、マスターデータベースホストは設定されません。

    識別情報:

    • Oracle VDI マネージャー で、Oracle VDI Center の「サマリー」タブで (「設定」の下)。

    • コマンド行で:

      #  /opt/SUNWvda/sbin/vda-center getprops -p db.master.host

      あるいは、vda-db-status または vda-center status コマンドを使用します。

  • レプリケーションデータベースホスト

    Oracle VDI Center のレプリケーションデータベースを実行するホスト。

    リモート MySQL データベースを使用している場合は、レプリケーションデータベースホストは設定されません。

    識別情報:

    • Oracle VDI マネージャー で、Oracle VDI Center の「サマリー」タブで (「設定」の下)。

    • コマンド行で:

      #  /opt/SUNWvda/sbin/vda-center getprops -p db.replication.host

      あるいは、vda-db-status または vda-center status コマンドを使用します。

  • Sun Ray プライマリサーバー

    Sun Ray フェイルオーバーグループのプライマリサーバーとして構成されているホスト。

    デフォルトでは、これはマスターデータベースホストと同じホストです。

    識別情報:

    • Oracle VDI マネージャー には表示されません。

    • コマンド行で:

      #  /opt/SUNWvda/sbin/vda-center getprops -p srs.primary.host

      あるいは、/opt/SUNWut/sbin/utreplica -l コマンドを使用します。

  • Oracle VDI プライマリホスト

    組み込みの MySQL サーバーデータベースを使用している場合、プライマリホストは、マスターデータベースホストを実行し、かつ、Sun Ray プライマリサーバーとして構成されているホストです。マスターデータベースホストと Sun Ray プライマリサーバーが同じでない場合、Oracle VDI プライマリホストは設定されません。

    リモート MySQL データベースを使用している場合、デフォルトでは、Oracle VDI プライマリホストは Sun Ray プライマリサーバーと同じです。

    識別情報:

    • Oracle VDI マネージャー には表示されません。

    • コマンド行で:

      #  /opt/SUNWvda/sbin/vda-center getprops -p vda.primary.host

8.11.2. フェイルオーバーを発生させないマスターデータベースホストのリブート

Oracle VDI Center がマスターデータベースを実行しているホストへの接続を失うと、フェイルオーバーが発生し、レプリケーション (スレーブ) データベースを実行しているホストが自動的に昇格され、マスターデータベースを実行するようになります。

フェイルオーバーを発生させずにマスターデータベースホストをリブートするには、次の手順を実行します。

注意

マスターデータベースホストがふたたび使用可能になるまで、Oracle VDI サービスと Oracle VDI マネージャー は実行できません。ユーザーはどのデスクトップにもアクセスできません。

組み込みの MySQL サーバーデータベースではなくリモート MySQL データベースを使用している場合は、リモートデータベースではフェイルオーバーは発生しないため、プライマリホストを安全にリブートできます。

手順

  1. レプリケーションデータベースを実行しているホストを特定します。

    vda-db-status または vda-center status コマンドを使用して、レプリケーションデータベースの場所を特定します。Oracle VDI マネージャー では、この情報は Oracle VDI Center の「データベース」タブに表示されます (「設定」の下)。

  2. レプリケーションデータベースを実行しているホストの Oracle VDI サービスを停止します。

    レプリケーションデータベースホストで、root として次のコマンドを実行します。

    # /opt/SUNWvda/sbin/vda-service stop
  3. マスターデータベースホストをリブートします。

  4. マスターデータベースホストが使用可能であることを確認します。

    vda-db-status または vda-center status コマンドを使用して、データベースのステータスを確認します。Oracle VDI マネージャー では、この情報は Oracle VDI Center の「データベース」タブに表示されます (「設定」の下)。これは、Oracle VDI Center 内の任意のホストで実行できます。

  5. レプリケーションデータベースホストの Oracle VDI サービスを起動します。

    レプリケーションデータベースホストで、root として次のコマンドを実行します。

    # /opt/SUNWvda/sbin/vda-service start

8.11.3. マスターデータベースホストの変更

組み込みの MySQL サーバーデータベースを使用している場合は、Oracle VDI Center のメンバーとして構成する最初のホストがマスターデータベースを実行します。デフォルトでは、このホストは、Sun Ray フェイルオーバーグループの Sun Ray プライマリサーバーとしても構成されます。

マスターデータベースホストはいつでも変更できます。これを行うときは、Oracle VDI Center 内に単一のプライマリホストを維持するために、Sun Ray プライマリサーバーの変更も検討するようにしてください。

Sun Ray Software プライマリサーバーを変更するたびに、Sun Ray サービスが短時間中断され (ウォームリスタート)、すべての Sun Ray クライアントが切り離されます。このため、ユーザーは再度ログインするか、画面のロックを解除しなければならない場合があります。

Oracle VDI マネージャー を使用してマスターデータベースホストを変更することはできません。

コマンド行の手順

  1. root として vda-center setprops コマンドを使用して、プライマリホストを変更します。

    マスターデータベースホストと Sun Ray プライマリサーバーを変更するには、root として次のコマンドを実行します。

    # /opt/SUNWvda/sbin/vda-center setprops -p vda.primary.host=<host>
    

    マスターデータベースホストだけを変更するには、root として次のコマンドを実行します。

    # /opt/SUNWvda/sbin/vda-center setprops -p db.master.host=<host>
    
  2. root として vda-center コマンドを使用して、変更が反映されていることを確認します。

    # /opt/SUNWvda/sbin/vda-center status

8.11.4. レプリケーションデータベースホストの変更

組み込みの MySQL サーバーデータベースを使用している場合は、Oracle VDI Center のプライマリホストがマスターデータベースを実行します。Oracle VDI Center に追加された 1 つ目のセカンダリホストは、レプリケーション (スレーブ) データベースを実行します。レプリケーションデータベースホストを変更するには、これらの手順に従います。マスターデータベースを実行するホストを変更するには、「マスターデータベースホストの変更」を参照してください。

Oracle VDI マネージャーでレプリケーションデータベースホストを変更できるのは、root としてログインしている場合だけです。root がプライマリ管理者として構成されていない場合は、コマンド行でのみレプリケーションデータベースホストを変更できます。

Oracle VDI マネージャー の手順

  1. Oracle VDI マネージャー で「設定」を選択し、Oracle VDI Center を選択します。

  2. データベース」タブをクリックします。

    Oracle VDI Center 内のホストのリストが表示されます。

  3. ホストを選択し、「VDI データベースレプリケーションの有効化」をクリックします。

    新しいレプリケーションホストが有効になったことを示すメッセージが表示されます。

コマンド行の手順

  1. root として vda-center setprops コマンドを使用して、レプリケーションホストを変更します。

    # /opt/SUNWvda/sbin/vda-center setprops -p db.replication.host=<host>
    

    空の <host> を指定すると、データベースのレプリケーションおよび高可用性がオフになります。

  2. root として vda-center コマンドを使用して、変更が反映されていることを確認します。

    # /opt/SUNWvda/sbin/vda-center status

8.11.5. 自動フェイルオーバーの調整

プロパティーを調整して、Oracle VDI Center の自動フェイルオーバーの動作を調整できます。次の表に、使用可能なプロパティーと、そのプロパティーが制御する内容を示します。これらの設定を一覧表示および編集するには、vda-center getprops および vda-center setprops コマンドを使用します。

表8.3 自動フェイルオーバーの調整用のプロパティー

プロパティー説明

db.connection.timeout

データベース接続の接続タイムアウト (ミリ秒)。

Oracle VDI データベースへの接続の試行がこのタイムアウトより長くかかった場合、Oracle VDI サービスは Oracle VDI Center エージェントにデータベースエラーを報告します。

デフォルトは 1000 ミリ秒です。

db.failover.timeout

フェイルオーバーを開始する前に Oracle VDI Center エージェントが待機する時間 (秒)。

Oracle VDI Center エージェントは Oracle VDI サービスからのデータベースエラーレポートを監視します。この時間に連続してデータベースエラーが報告された場合、そのデータベースに障害が発生したと見なされます。組み込みの Oracle VDI MySQL サーバーデータベースが使用されている場合、フェイルオーバーがトリガーされます。

デフォルトは 15 秒です。

db.replication.config

Oracle VDI Center エージェントが自動的にデータベースレプリケーションを構成するかどうか。

使用できる値は true または false です。

true を設定すると、Oracle VDI Center にセカンダリホストが追加されたとき、またはフェイルオーバーが実行されたときに、ホストでレプリケーションデータベースの自動構成が実行されます。

false を設定すると、レプリケーションデータベースの自動構成は実行されません。管理者が手動でレプリケーションデータベースホストを構成するまで、高可用性は無効になります (「レプリケーションデータベースホストの変更」を参照してください)。これによりレプリケーションデータベースに使用するホストをより強力に管理できますが、高可用性を手動で構成しなければならないことを意味しています。

デフォルトは true です。

srs.primary.autofailover

フェイルオーバー時に Sun Ray プライマリサーバーが自動的に再構成されるかどうか。

使用できる値は true または false です。

true を設定すると、フェイルオーバーが実行されたときに、Oracle VDI Center のマスターデータベースを実行するホストが自動的に Sun Ray プライマリサーバーとして構成されます。これによって Sun Ray サービスが短時間中断され (ウォームリスタート)、すべての Sun Ray クライアントが切り離されます。このため、ユーザーは再度ログインするか、画面のロックを解除しなければならない場合があります。

false を設定すると、フェイルオーバーが実行されたときに、Sun Ray プライマリサーバーは変更されません。Sun Ray プライマリサーバーは手動で変更できます (「Sun Ray プライマリサーバーの変更」を参照)。

デフォルトは false です。


8.11.6. 手動でのフェイルオーバーのトリガー

自動ファイルオーバーが失敗した場合など、一部の状況ではフェイルオーバーを手動でトリガーしたい場合があります。

フェイルオーバーを手動でトリガーするには、マスターデータベースホストを変更します。詳細については、「マスターデータベースホストの変更」を参照してください。

8.11.7. Oracle VDI Center からの応答しないホストの削除

通常、Oracle VDI Center に対してホストを追加および削除するには、vda-config コマンドを使用します。ただし、ホストが応答不能になった場合は、このコマンドを使用できないことがあります。このような場合は、Oracle VDI Center からそのホストを強制的に削除できます。

コマンド行の手順

  1. Oracle VDI Center の構成を確認し、必要に応じて再構成します。

    Oracle VDI Center に複数のホストが含まれている場合は、root として次のコマンドを実行して、マスターデータベースホスト、レプリケーションデータベースホスト、および Sun Ray プライマリサーバーを特定します。

    # /opt/SUNWvda/sbin/vda-center getprops \
    -p db.master.host,db.replication.host,srs.primary.host

    応答していないホストがこのコマンドの出力に表示された場合は、次のように Oracle VDI Center を再構成します。

    • マスターデータベースホスト (db.master.host)

      別のホストをマスターデータベースホストとして構成します。詳細については、「マスターデータベースホストの変更」を参照してください。

    • レプリケーションデータベースホスト (db.replication.host)

      高可用性を維持するために、レプリケーションデータベースを実行する別のホストを構成します。詳細については、「レプリケーションデータベースホストの変更」を参照してください。

    • Sun Ray プライマリサーバー (srs.primary.host)

      ホストがマスターデータベースホスト (db.master.host) ではない場合、別のホストを Sun Ray プライマリサーバーとして構成します。詳細については、「Sun Ray プライマリサーバーの変更」を参照してください。

  2. Oracle VDI Center からホストを削除します。

    Oracle VDI Center 内の残りのホストから、root として次のコマンドを実行します。

    # /opt/SUNWvda/sbin/vda-center purge <host>
  3. root として vda-center コマンドを使用して、変更が反映されていることを確認します。

    # /opt/SUNWvda/sbin/vda-center status

8.11.8. Sun Ray プライマリサーバーの変更

Oracle VDI Center のメンバーとして構成する最初のホストが、Sun Ray フェイルオーバーグループの Sun Ray プライマリサーバーとして構成されます。

各 Sun Ray サーバーには Sun Ray データストアの独自のローカルコピーがあり、これが Sun Ray クライアントおよびトークン (スマートカード) に関する詳細などの情報を格納するために使用されます。Sun Ray プライマリサーバーはデータストアへの読み取りアクセス権と書き込みアクセス権を持ち、Sun Ray セカンダリサーバーは読み取りアクセス権のみを持ちます。データストアが変更された場合、まずプライマリサーバーで変更が書き込まれたあと、プライマリサーバーがセカンダリに変更をレプリケートします。

Sun Ray プライマリサーバーが使用不可になった場合、データストアへの変更は格納できませんが、Sun Ray のほとんどの動作ではデータストアへの読み取りアクセス権のみが必要なため、Sun Ray システム全体は機能し続けます。ただし、トークンの登録などの一部の機能は使用できません。

Sun Ray プライマリサーバーはいつでも変更できます。これを行うときは、Oracle VDI Center 内に単一のプライマリホストを維持するために、マスターデータベースホストの変更も検討するようにしてください (組み込みの MySQL データベースを使用している場合)。

Sun Ray Software プライマリサーバーを変更するたびに、Sun Ray サービスが短時間中断され (ウォームリスタート)、すべての Sun Ray クライアントが切り離されます。このため、ユーザーは再度ログインするか、画面のロックを解除しなければならない場合があります。

Oracle VDI マネージャー を使用して Sun Ray プライマリサーバーを変更することはできません。

コマンド行の手順

  1. Sun Ray プライマリサーバーを変更します。

    マスターデータベースホストと Sun Ray プライマリサーバーを変更するには、root として次のコマンドを実行します。

    # /opt/SUNWvda/sbin/vda-center setprops -p vda.primary.host=<host>
    

    Sun Ray プライマリサーバーだけを変更するには、root として次のコマンドを実行します。

    # /opt/SUNWvda/sbin/vda-center setprops -p srs.primary.host=<host>
    
  2. 変更が反映されていることを確認します。

    # /opt/SUNWvda/sbin/vda-center getprops -p srs.primary.host

8.11.9. Sun Ray グループ署名とデータストアパスワードの同期

Oracle VDI Center の Sun Ray サーバーには、グループ署名とデータストアパスワードがあります。グループ署名とパスワードが作成され、Oracle VDI Center と Sun Ray サーバー構成の両方に格納されます。Oracle VDI Center エージェントは、Oracle VDI Center のホストの追加と削除を実行するたびに、これらの値を使用します。

Sun Ray 管理ツールを使用してグループ署名またはデータストアパスワードを変更できますが、これらのツールは Oracle VDI Center を更新しません。Oracle VDI Center と Sun Ray サーバーが同期していない場合は、Oracle VDI Center にホストを追加できません。

注意

次のコマンドは、パスワードとグループ署名を平文で表示します。セキュリティー上の理由により、これらのコマンドを実行するときは、だれものぞき見していないことを確認してください。

  1. (オプション) Oracle VDI Center のグループ署名を同期させます。

    root ユーザーで次のコマンドを実行します:

    # echo GroupSignature> | /opt/SUNWvda/sbin/vda-center setprops -s srs.group.signature
    

    グループ署名の変更が有効になったことを確認するには、Oracle VDI Center の各ホスト上で root として次のコマンドを実行します。

    # cat /etc/opt/SUNWut/gmSignature
  2. (オプション) Oracle VDI Center のデータストアパスワードを同期させます。

    root ユーザーで次のコマンドを実行します:

    # echo Password> | /opt/SUNWvda/sbin/vda-center setprops -s srs.password
    

    データストアパスワードの変更が有効になったことを確認するには、Oracle VDI Center の各ホスト上で root として次のコマンドを実行します。

    # /opt/SUNWut/sbin/utpw -p
  3. Oracle VDI Center の各ホスト上で Sun Ray サービスのウォームリスタートを実行します。

    データストアパスワードまたはグループ署名の変更を有効にするには、Oracle VDI Center の Sun Ray サービスのウォームリスタートを実行する必要があります。ウォームリスタートでは、ユーザーの接続が一時的に切り離されるとともに、ユーザーが再度ログインするか、画面のロックを解除しなければならない場合があります。

    Oracle VDI Center の各ホスト上で、root として次のコマンドを実行します。

    # /opt/SUNWut/sbin/utstart