メンテナンスモードの有効化とスケジューリング
標準的なメンテナンス手順のうち、GitHub Enterprise Server インスタンス のアップグレードやバックアップの復元などは、通常の使用のためにインスタンスをオフラインにしなければならないものがあります。
ここには以下の内容があります:
- メンテナンスモードについて
- メンテナンスモードの即時有効化あるいは後のためのメンテナンスウィンドウのスケジューリング
- GitHub Enterprise Server APIでのメンテナンスモードのスケジューリング
- クラスタ内の全ノードでのメンテナンスモードの有効化もしくは無効化
メンテナンスモードについて
操作の種類によっては、GitHub Enterprise Server インスタンス をオフラインにしてメンテナンスモードにする必要があります。
- GitHub Enterprise Server の新規バージョンにアップグレードする
- 仮想マシンに割り当てられている CPU、メモリ、またはストレージリソースを拡大する
- ある仮想マシンから別の仮想マシンへデータを移行する
- GitHub Enterprise Serverバックアップユーティリティ スナップショットからデータを復元する
- 特定の種類の重要なアプリケーション問題のトラブルシューティング
メンテナンスウィンドウのスケジュールは、ユーザに準備時間を与えるために少なくとも30分は先にすることをおすすめします。 メンテナンスウィンドウがスケジューリングされると、すべてのユーザにはサイトにアクセスしたときにバナーが表示されます。

インスタンスがメンテナンスモードに入ると、通常のHTTP及びGitアクセスはすべて拒否されます。 Git fetch、clone、pushの操作も、サイトが一時的に利用できなくなっていることを示すエラーメッセージと共に拒否されます。 サイトにブラウザーでアクセスすると、メンテナンスページが表示されます。

メンテナンスモードの即時有効化あるいは後のためのメンテナンスウィンドウのスケジューリング
-
任意のページの右上で をクリックします。

-
左のサイドバーでManagement Consoleをクリックしてください。

-
Management Consoleの上部でMaintenance(メンテナンス)をクリックしてください
![[Maintenance] タブ](https://github.github.com/docs-ghes-2.16/assets/images/enterprise/management-console/maintenance-tab.png)
-
"Enable and schedule(有効化とスケジュール)"の下で、即時にメンテナンスモードを有効化するか、将来にメンテナンスウィンドウをスケジューリングするかを決めてください。
- メンテナンスモードを直ちに有効にするには、プルダウンメニューを使用して [now] をクリックします。

- 今後のメンテナンス時間枠をスケジュール設定するには、ドロップダウンメニューを使用して開始時間をクリックします。

- メンテナンスモードを直ちに有効にするには、プルダウンメニューを使用して [now] をクリックします。
-
Enable maintenance mode(メンテナンスモードの有効化)を選択してください。

-
左のサイドバーの下でSave settings(設定の保存)をクリックしてください。

GitHub Enterprise Server APIでのメンテナンスモードのスケジューリング
GitHub Enterprise Server APIでは、様々な時間や日付にメンテナンスをスケジューリングできます。 詳しい情報についてはGitHub 開発者ドキュメンテーションの"管理コンソール"を参照してください。
クラスタ内の全ノードでのメンテナンスモードの有効化もしくは無効化
ghe-cluster-maintenanceユーティリティを使えば、クラスタ内のすべてのノードでメンテナンスモードの設定や解除ができます。
$ ghe-cluster-maintenance -h
# オプションの表示
$ ghe-cluster-maintenance -q
# 現在のモードの問い合わせ
$ ghe-cluster-maintenance -s
# メンテナンスモードの設定
$ ghe-cluster-maintenance -u
# メンテナンスモードの解除