このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2021-09-23. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてください。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してください。

レプリカアプライアンスへのフェイルオーバーの開始

メンテナンスやテストのため、またはプライマリアプライアンスが機能しなくなった場合は、コマンドラインを使用して GitHub Enterprise Server レプリカアプライアンスにフェイルオーバーできます。

フェイルオーバーに必要な時間は、レプリカを手動で昇格させてトラフィックをリダイレクトするのにかかる時間によって異なります。 平均的な時間は 2 分から 10 分です。

レプリカを昇格させても、既存のアプライアンスのためのレプリケーションは自動的にセットアップされません。 レプリカを昇格させたあと、希望する場合には新しいプライマリから既存のアプライアンス及び以前のプライマリへのレプリケーションをセットアップできます。

  1. アプライアンスを切り替える前にレプリケーションを終了できるようにするには、プライマリアプライアンスをメンテナンスモードにします。
  2. アクティブな Git 操作の数がゼロになったら、30 秒間待ちます。
  3. すべてのレプリケーションチャネルが OK を報告することを確認するには、ghe-repl-status -vv コマンドを使用します。
    $ ghe-repl-status -vv
  4. レプリケーションを停止してレプリカアプライアンスをプライマリステータスに昇格するには、ghe-repl-encourage コマンドを使用します。 到達可能であれば、これによりプライマリノードも自動的にメンテナンスノードになります。
    $ ghe-repl-promote
  5. レプリカの IP アドレスを指すように DNS レコードを更新します。 TTL 期間が経過すると、トラフィックはレプリカに転送されます。 ロードバランサを使用している場合は、トラフィックがレプリカに送信されるように設定されていることを確認します。
  6. 通常の操作が再開できることをユーザーに通知します。
  7. 必要に応じて、新しいプライマリから既存のアプライアンスや以前のプライマリへのレプリケーションをセットアップします。 詳細は「High Availability の設定について」を参照してください。
  8. フェイルオーバー前に High Availability 設定の一部であり、レプリケーションをセットアップする予定のないアプライアンスは、UUID による High Availability 設定から削除する必要があります。
    • 以前のアプライアンスでは、cat /data/user/common/uuid を介して UUID を取得します。
      $ cat /data/user/common/uuid
    • 新しいプライマリで、ghe-repl-teardown を使用して UUID を削除します。 UUID を前のステップで取得した UUID に置き換えてください。
      $ ghe-repl-teardown -u UUID

参考リンク

問題がまだ解決していませんか?