自動フェイルオーバーの有効化

OpsCenterプライマリ・インスタンスから、指定したOpsCenterバックアップ・インスタンスへの自動OpsCenterフェイルオーバーを構成します。

opscenterd.conf

opscenterd.confファイルの場所は、インストールのタイプによって異なります。

  • パッケージ・インストール:/etc/opscenter/opscenterd.conf
  • tarボール・インストール:install_location/conf/opscenterd.conf

address.yaml

address.yamlファイルの場所は、インストールのタイプによって異なります。

  • パッケージ・インストール:/var/lib/datastax-agent/conf/address.yaml
  • tarボール・インストール:install_location/conf/address.yaml

lcm.db

Lifecycle Managerデータベースlcm.dbの場所は、インストールのタイプによって異なります。

  • パッケージ・インストール:/var/lib/opscenter/lcm.db
  • tarボール・インストール:install_location/lcm.db
注: Lifecycle Managerのデータ(クラスターのトポロジー・モデル、構成プロファイル、認証情報、リポジトリ、ジョブ履歴など)はlcm.dbデータベースに格納されています。データベースのバックアップはそれぞれの組織で行ってください。さらに、lcm.dbをミラーリングするようにフェイルオーバーも構成する必要があります。

lcm.key

Lifecycle Managerデータベースの暗号化キーlcm.keyの場所は、インストールのタイプによって異なります。

  • パッケージ・インストール:/etc/opscenter/lcm.key
  • tarボール・インストール:install_location/keys/lcm.key

passwd.db

OpsCenter認証のパスワード・データベースpasswd.dbのデフォルトの場所は、インストールのタイプによって異なります。

  • パッケージ・インストール:/etc/opscenter/passwd.db
  • tarボール・インストール:install_location/passwd.db

OpsCenterプライマリ・インスタンスから、指定したOpsCenterバックアップ・インスタンスへの自動OpsCenterフェイルオーバーを有効化するには、以下の手順に従います。フェイルオーバーを有効にするには、OpsCenterバックアップ・インスタンス上で最小限の初期設定が必要です。

自動OpsCenterフェイルオーバーを有効にするには:

手順

  1. オプション: フェイルオーバーが発生した場合にOpsCenterのブラウザーURLを変更しないで済むように、OpsCenterのプライマリ・インスタンスとバックアップ・インスタンスの間で切り替えるホスト名/IPを設定します。
    フェイルオーバー後にシームレスにURLを切り替えるためのホスト名またはIPを設定しない場合は、OpsCenterにアクセスするための代替URLをOpsCenterユーザーに通知します。
  2. NFSマウントやrysncなどお好みの方法を使用して、OpsCenterプライマリ・インスタンスに格納されている構成ディレクトリーをOpsCenterバックアップ・インスタンスにミラーリングします。
    1. SSLが有効な場合、OpsCenterプライマリ・マシン上のSSL構成ディレクトリーの内容をOpsCenterバックアップ・マシンにミラーリングします。
      • /var/lib/opscenter/ssl(パッケージ・インストール)
      • install_location/ssl(tarボール・インストール)
      scp /var/lib/opscenter/ssl/* secondary:/var/lib/opscenter/ssl
    2. OpsCenterプライマリ・マシン上のメイン構成ディレクトリーの内容をOpsCenterバックアップ・マシンにミラーリングします。
      • /etc/opscenter(パッケージ・インストール)
      • install_location/conf(tarボール・インストール)
      scp /etc/opscenter/* secondary:/etc/opscenter
      注: フェイルオーバーをサポートするようにOpsCenterを構成する場合は、failover_configuration_directoryをOpsCenterのインストール全体にミラーリングしないでください
    3. Repair Service(リペア・サービス)の現在のステータスを示すpersist_directoryの内容をミラーリングします。Repair Service(リペア・サービス)の永続ディレクトリーの場所は、インストールのタイプによって異なります。
      • /var/lib/opscenter/repair_service(パッケージ・インストール)
      • install_location/repair_service(tarボール・インストール)
      scp /var/lib/opscenter/repair_service/* secondary:/var/lib/opscenter/repair_service
      Repair Service(リペア・サービス)の進行状況はファイル・システムに格納されます。ミラーリングにNFSマウントを使用している場合、Repair Service(リペア・サービス)は、フェイルオーバーの後、中断された時点とほぼ同じ箇所から起動します。手動でディレクトリーをコピーした場合やrysncを使用している場合、Repair Service(リペア・サービス)は、Repair Service(リペア・サービス)のディレクトリーが最後に同期された時点から再開されます。それ以外の場合、Repair Service(リペア・サービス)は中断した時点から再開されるのではなく、単に再起動します。
    4. Lifecycle Managerデータベースlcm.dbをミラーリングします。
      • /var/lib/opscenter/lcm.db(パッケージ・インストール)
      • install_location/lcm.db(tarボール・インストール)
      scp /var/lib/opscenter/lcm.db secondary:/var/lib/opscenter/lcm.db
    5. Lifecycle Managerデータベース暗号化キーlcm.keyをミラーリングします。
      • /etc/opscenter/lcm.key(パッケージ・インストール)
      • install_location/keys/lcm.key(tarボール・インストール)
      scp /etc/opscenter/lcm.key secondary:/etc/opscenter/lcm.key
    6. Lifecycle Managerが、ノード間またはクライアントとノード間の暗号化を使用するように構成されたクラスター用の証明書を生成した場合、Lifecycle Manager認証局をミラーリングします。
      • /var/lib/opscenter/ssl/lcm(パッケージ・インストール)
      • install_location/ssl/lcm/cacerts(tarボール・インストール)
      scp -r /var/lib/opscenter/ssl/lcm secondary:/var/lib/opscenter/ssl/
    7. OpsCenterのロールベースのセキュリティが有効になっている場合、ロールとパスワード・データベースpasswd.dbをミラーリングします。
        • /etc/opscenter/passwd.db(パッケージ・インストール)
        • install_location/passwd.db(tarボール・インストール)
      scp /etc/opscenter/passwd.db secondary:/etc/opscenter/passwd.db
    8. 自動スクリプトを作成して実行し、ミラーリングされたディレクトリーを同期します。

      次の例のcronスクリプトはrsyncを実行し、パッケージ・インストールの構成ディレクトリーを5分ごとに同期します。

      */5 * * * * /usr/bin/rsync -az /etc/opscenter <user>@<backup_host>:/etc/opscenter
      */5 * * * * /usr/bin/rsync -az /var/lib/opscenter/ssl <user>@<backup_host>:/var/lib/opscenter/ssl

      次の例のcronスクリプトはrsyncを実行し、tarボール・インストールの構成ディレクトリーを5分ごとに同期します。

      */5 * * * * /usr/bin/rsync -az install_location/conf <user>@<backup_host>:install_location/conf
      */5 * * * * /usr/bin/rsync -az install_location/ssl <user>@<backup_host>:install_location/ssl
      注:

      フェイルオーバーが発生した場合、元のプライマリ上の同期スクリプトを手動で停止し、新しいプライマリ上の同期スクリプトを起動する必要があります。これを行わないと、新しいプライマリ上の構成が元のプライマリの古いファイルで上書きされて変更されます。

  3. オプション: デフォルト値をオーバーライドする場合、OpsCenter構成ファイルopscenterd.conf[failover]セクションを編集します。
    注: opscenterd.confファイルを変更するには、OpsCenterの再起動が必要です。
    1. OpsCenterデーモン・フェイルオーバーのデフォルト構成パラメーター
    オプション 説明 デフォルト
    heartbeat_period OpsCenterプライマリ・インスタンスがOpsCenterバックアップ・インスタンスにハートビートを送信する間隔(秒)。 10
    heartbeat_reply_period OpsCenterバックアップ・インスタンスがOpsCenterプライマリ・インスタンスにハートビートを送信する間隔(秒)。 300
    heartbeat_fail_window ハートビートの欠如によりフェイルオーバーがトリガーされるまでの時間(秒)。 60
    failover_configuration_directory フェイルオーバー固有の構成が格納されるディレクトリーの場所。failover_idファイルも、このフェイルオーバー・ディレクトリーにあります。
    注: フェイルオーバーをサポートするようにOpsCenterを構成する場合、フェイルオーバー構成ディレクトリーをOpsCenterのインストール全体にミラーリングまたはレプリケートしないでください
    • /var/lib/opscenter/failover/(パッケージ・インストール)
    • /opscenterd/failover/(tarボール・インストール)
  4. フェイルオーバー・ディレクトリーのOpsCenterバックアップ・インスタンスで、監視するOpsCenterプライマリ・デーモンのIPアドレスを示すprimary_opscenter_location構成ファイルを作成します。
    • /var/lib/opscenter/failover/primary_opscenter_location(パッケージ・インストール)
    • /opscenterd/failover/primary_opscenter_location(tarボール・インストール)
    primary_opscenter_locationファイルには、OpsCenterプライマリ・インスタンスのIPアドレスのみを含め、それ以外のものは含めないでください。
    cat primary_opscenter_location
    55.100.200.300
    OpsCenterを実行するユーザーには、少なくともprimary_opscenter_locationファイルの読み取りパーミッションが必要です。フェイルオーバー・イベントが発生した場合、OpsCenterバックアップ・インスタンスがOpsCenterプライマリ・インスタンスを引き継ぐ前に、OpsCenterバックアップ・インスタンスは、primary_opscenter_locationファイルを削除します。フェイルオーバーの後、新しく指定されたOpsCenterバックアップ・インスタンス上にprimary_opscenter_locationファイルを再び作成します。
  5. address.yamlの管理をサードパーティの構成管理で行っていないことを確認してください。フェイルオーバー時に、OpsCenterは自動的に、address.yamlstomp_interfaceがopscenterdバックアップ・インスタンスを指すように変更します。別の構成管理システムがaddress.yamlを管理している場合、構成管理システムが次回の更新をプッシュすると、その変更が元に戻る可能性があります。