Skip to main content

High Availability設定のリカバリ

GitHub Enterprise Server アプライアンスにフェイルオーバーした後は、単一のアプライアンスに頼るのではなく、できるだけ早く冗長性を取り戻す必要があります。

高可用性構成の復旧について

フェイルオーバーが計画済みのものだったり、アプライアンスの健全性に関係ないものである場合、以前のプライマリアプライアンスを新しいレプリカアプライアンスとして使用できます。 フェイルオーバーがプライマリアプライアンスの問題に関係しているなら、新しいレプリカアプライアンスを作成する方が良いでしょう。 詳しくは、「高可用性レプリカの作成」を参照してください。

警告: 以前のプライマリアプライアンスを新しいレプリカとして構成する前に、メンテナンスモードを有効にする必要があります。 メンテナンスモードを有効にしないと、運用停止が発生します。

以前のプライマリアプライアンスを新しいレプリカとして設定する

  1. SSH を使用して以前のプライマリアプライアンスの IP アドレスに接続します。

    $ ssh -p 122 admin@FORMER PRIMARY IP
  2. 以前のプライマリアプライアンスでメンテナンスモードを有効にします。 詳細については、「メンテナンスモードの有効化とスケジューリング」を参照してください。

  3. 以前のプライマリアプライアンスで、以前のレプリカの IP アドレスを指定して ghe-repl-setup を実行します。

    $ ghe-repl-setup FORMER REPLICA IP
  4. プライマリ アプライアンスの承認されたキーのリストに公開キーを追加するには、https://PRIMARY-HOSTNAME/setup/settings を参照して、レプリカからコピーしたキーをリストに追加します。

  5. 新しいレプリカに対して、新しいプライマリへの接続を確認してレプリカモードを有効にするには、ghe-repl-setup をもう一度実行します。

    $ ghe-repl-setup FORMER REPLICA IP
  6. データ ストアのレプリケーションを開始するには、ghe-repl-start コマンドを使います。

    $ ghe-repl-start

    警告: ghe-repl-start を実行すると、プライマリ サーバーを短時間使えなくなり、その間、ユーザーには内部サーバー エラーが表示されることがあります。 もっとわかりやすいメッセージを表示するには、ghe-repl-start をレプリカ ノードで実行する前にプライマリ ノード上で ghe-maintenance -s を実行し、アプライアンスをメンテナンス モードにします。 レプリケーションを開始したら、ghe-maintenance -u を使ってメンテナンス モードを無効にします。 プライマリ ノードがメンテナンス モードの間、Git レプリケーションは進行しません。