クラスター ノードの待避について
GitHub Enterprise Server のクラスターの構成では、ノードをオフラインにする前にノードを待避できます。 待避することで、サービス レベル内の残りのノードに、サービスのすべてのデータが確実に含まれます。 たとえば、クラスター内のノードの仮想マシンを置き換える� �合は、最初にノードを待避する必要があります。
GitHub Enterprise Server のノードとサービス レベルについて詳しくは、「クラスター ノードについて」をご覧く� さい。
警告:
-
データが失われるのを避けるため、GitHub は、ノードをオフラインにする前にノードを待避することを強くお勧めします。
-
データ サービス クラスターにノードが 3 つしかない� �合、
ghe-spokes
でコピーを作成する別の� �所がないため、ノードを待避することはできません。 4 つ以上ある� �合は、ghe-spokes
によって待避元のノードからすべてのリポジトリが移動されます。
クラスタノードからの待避
オフラインにする予定のノードで、git-server
、pages-server
、storage-server
などのデータ サービス ロールが実行されている� �合は、ノードをオフラインにする前に各ノードを待避します。
-
クラスタ内のいずれかのノードにSSHで接続してく� さい。 詳細については、「管理シェル (SSH) にアクセスする」を参照してく� さい。
-
待避するノードの UUID を見つけるには、次のコマンドを実行します。
HOSTNAME
は、ノードのホスト名に置き換えます。$ ghe-config cluster.HOSTNAME.uuid
-
GitHub Enterprise Server がデータをコピーしている間、ノードの状態を監視します。 コピーが完了するまで、ノードをオフラインにしないでく� さい。 ノードの状態を監視するには、次のいずれかのコマンドを実行します。
UUID
は、ステップ 2 の UUID に置き換えます。-
Git:
$ ghe-spokes evac-status git-server-UUID
-
GitHub Pages :
$ echo "select count(*) from pages_replicas where host = 'pages-server-UUID'" | ghe-dbconsole -y
-
ストレージ:
$ ghe-storage evacuation-status storage-server-UUID
-
-
コピーが完了したら、次のいずれかのコマンドを実行して、ノードを待避できます。
UUID
は、ステップ 2 の UUID に置き換えます。-
Git:
$ ghe-spokes server evacuate git-server-UUID \'REASON FOR EVACUATION\'
-
GitHub Pages :
$ ghe-dpages evacuate pages-server-UUID
-
ストレージ の� �合は、最初に次のコマンドを実行してノードをオフラインにします。
$ ghe-storage offline storage-server-UUID
ストレージ ノードがオフラインになった後、次のコマンドを実行してノードを待避できます。
$ ghe-storage evacuate storage-server-UUID
-