警告:衝突を避けるため、入れ替えるノードはそれまでクラスタ中で使われていないホスト名を使わなければなりません。
関数ノードの入れ替え
-
入れ替えノードにユニークなホスト名を付けてGitHub Enterprise Serverをプロビジョニングしてインストールしてく� さい。
-
管理シェルもしくは DHCP を使い、置き換えノードの IP アドレスのみを設定してく� さい。 その他の設定は行わないでく� さい。
-
新たにプロビジョニングされた置き換えノードを追� するには、任意のノードで
cluster.conf
ファイルを修正し、障害が起きたノードを取り除き、置き換えのノードを追� します。 たとえば以下の修正されたcluster.conf
ファイルは、ghe-data-node-3
を新たにプロビジョニングされたghe-replacement-data-node-3
で置き換えます。[cluster "ghe-replacement-data-node-3"] hostname = ghe-replacement-data-node-3 ipv4 = 192.168.0.7
ipv6 = fd12:3456:789a:1::7
git-server = true pages-server = true mysql-server = true elasticsearch-server = true redis-server = true memcache-server = true metrics-server = true storage-server = true
-
cluster.conf
を修正したノードの管理シェルからghe-cluster-config-init
を実行してく� さい。 これで、クラスタに新たに追� されたノードが初期化されます。 -
同じノードから
ghe-cluster-config-apply
を実行してく� さい。 これで設定ファイルが検証され、クラスタ内の各ノードにコピーされ、変更されたcluster.conf
に従って各ノードが設定されます。 -
cluster.confに
git-server = true
と設定されているノードをオフラインにするなら、ノードからの退避を行ってく� さい。 詳しい情� �については"クラスタノードからの退避"を参照してく� さい。 -
障害が起きたノードをオフラインとしてマークするには、任意のノードでクラスタ設定ファイル(
cluster.conf
)のそのノードのセクションにoffline = true
というテキストを含めてく� さい。たとえば以下の修正された
cluster.conf
は、ghe-data-node-3
ノードをオフラインとしてマークします。[cluster "ghe-data-node-3"] hostname = ghe-data-node-3 offline = true ipv4 = 192.168.0.6 # ipv6 = fd12:3456:789a:1::6
-
cluster.conf
を修正したノードの管理シェルからghe-cluster-config-apply
を実行してく� さい。 これで設定ファイルが検証され、クラスタ内の各ノードにコピーされ、そのノードがオフラインとしてマークされます。 -
プライマリのMySQLもしくはRedisノードを置き換えようとしているなら、
cluster.conf
でmysql-master
もしくはredis-master
の値を置き換えるノード名に変更してく� さい。たとえば、以下の変更された
cluster.conf
ファイルは新しくプロビジョニングされたノードのghe-replacement-data-node-1
をプライマリのMySQL及びRedisノードとして指定しています。mysql-master = ghe-replacement-data-node-1 redis-master = ghe-replacement-data-node-1
緊急時のノードの入れ替え
-
入れ替えノードにユニークなホスト名を付けてGitHub Enterprise Serverをプロビジョニングしてインストールしてく� さい。
-
管理シェルもしくは DHCP を使い、置き換えノードの IP アドレスのみを設定してく� さい。 その他の設定は行わないでく� さい。
-
障害が起きたノードをオフラインとしてマークするには、任意のノードでクラスタ設定ファイル(
cluster.conf
)のそのノードのセクションにoffline = true
というテキストを含めてく� さい。たとえば以下の修正された
cluster.conf
は、ghe-data-node-3
ノードをオフラインとしてマークします。[cluster "ghe-data-node-3"] hostname = ghe-data-node-3 offline = true ipv4 = 192.168.0.6 # ipv6 = fd12:3456:789a:1::6
-
cluster.conf
を修正したノードの管理シェルからghe-cluster-config-apply
を実行してく� さい。 これで設定ファイルが検証され、クラスタ内の各ノードにコピーされ、そのノードがオフラインとしてマークされます。 -
新たにプロビジョニングされた置き換えノードを追� するには、任意のノードで
cluster.conf
ファイルを修正し、障害が起きたノードを取り除き、置き換えのノードを追� します。 たとえば以下の修正されたcluster.conf
ファイルは、ghe-data-node-3
を新たにプロビジョニングされたghe-replacement-data-node-3
で置き換えます。[cluster "ghe-replacement-data-node-3"] hostname = ghe-replacement-data-node-3 ipv4 = 192.168.0.7
ipv6 = fd12:3456:789a:1::7
git-server = true pages-server = true mysql-server = true elasticsearch-server = true redis-server = true memcache-server = true metrics-server = true storage-server = true
-
プライマリのMySQLもしくはRedisノードを置き換えようとしているなら、
cluster.conf
でmysql-master
もしくはredis-master
の値を置き換えるノード名に変更してく� さい。たとえば、以下の変更された
cluster.conf
ファイルは新しくプロビジョニングされたノードのghe-replacement-data-node-1
をプライマリのMySQL及びRedisノードとして指定しています。mysql-master = ghe-replacement-data-node-1 redis-master = ghe-replacement-data-node-1
-
cluster.conf
を修正したノードの管理シェルからghe-cluster-config-init
を実行してく� さい。 これで、クラスタに新たに追� されたノードが初期化されます。 -
同じノードから
ghe-cluster-config-apply
を実行してく� さい。 これで設定ファイルが検証され、クラスタ内の各ノードにコピーされ、変更されたcluster.conf
に従って各ノードが設定されます。 -
cluster.confに
git-server = true
と設定されているノードをオフラインにするなら、ノードからの退避を行ってく� さい。 詳しい情� �については"クラスタノードからの退避"を参照してく� さい。