ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2020-11-12. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンの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. Appliances you do not intend to setup replication to that were part of the high availability configuration prior the failover, need to be removed from the high availability configuration by UUID.
    • On the former appliances, get their UUID via cat /data/user/common/uuid.
      $ cat /data/user/common/uuid
    • On the new primary, remove the UUIDs using ghe-repl-teardown. Please replace UUID with a UUID you retrieved in the previous step.
      $ ghe-repl-teardown -u UUNID

参考リンク