警告: 競合を避けるため、入れ替えるノードはそれまでにクラスターで使われていないホスト名を使わなければなりません。
関数ノードの入れ替え
-
置き換えノードに一意のホスト名を指定し、GitHub Enterprise Server をプロビジョニングしてインストールします。 1. 管理シェルまたは DHCP を使用して、置換ノードの IP アドレス のみを 構成します。 その他の設定は行わないでく� さい。 1. 任意のノードに対して、新たにプロビジョニングされた置換ノードを追� するには、
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
1. 変更された `cluster.conf` があるノードの管理シェルから、`ghe-cluster-config-init` を実行します。 これで、クラスタに新たに追� されたノードが初期化されます。 1. 同じノードから、`ghe-cluster-config-apply` を実行します。 これにより、構成ファイルが検証され、クラスター内の各ノードにコピーされ、変更された `cluster.conf` ファイルに従って各ノードが設定されます。 1. cluster.conf に `git-server = true` が設定されているノードをオフラインにする� �合は、ノードを退避します。 詳細については、「[クラスター ノードの退避](/enterprise/admin/clustering/evacuating-a-cluster-node)」を参照してく� さい。 1. 障害が発生したノードをオフラインとしてマークするには、`offline = true` というテキストを含むように[クラスター構成ファイル](/enterprise/admin/guides/clustering/initializing-the-cluster/#about-the-cluster-configuration-file) (`cluster.conf`) の関連するノードのセクションを変更します。たとえば、このように変更した
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
1. `cluster.conf` を変更したノードの管理シェルから、`ghe-cluster-config-apply` を実行します。 これで設定ファイルが検証され、クラスタ内の各ノードにコピーされ、そのノードがオフラインとしてマークされます。 1. プライマリ MySQL または Redis ノードを置き換える� �合は、`cluster.conf` で `mysql-master` または `redis-master` の値を置換ノード名に変更します。たとえば、この変更された
cluster.conf
ファイルは、プライマリ MySQL および Redis ノードとして、新しくプロビジョニングされたクラスター ノードghe-replacement-data-node-1
を指定します。mysql-master = ghe-replacement-data-node-1 redis-master = ghe-replacement-data-node-1
緊急時のノードの入れ替え
-
置き換えノードに一意のホスト名を指定し、GitHub Enterprise Server をプロビジョニングしてインストールします。 1. 管理シェルまたは DHCP を使用して、置換ノードの IP アドレス のみを 構成します。 その他の設定は行わないでく� さい。 1. 障害が発生したノードをオフラインとしてマークするには、
offline = true
というテキストを含むようにクラスター構成ファイル (cluster.conf
) の関連するノードのセクションを変更します。たとえば、このように変更した
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
1. `cluster.conf` を変更したノードの管理シェルから、`ghe-cluster-config-apply` を実行します。 これで設定ファイルが検証され、クラスタ内の各ノードにコピーされ、そのノードがオフラインとしてマークされます。 1. 任意のノードに対して、新たにプロビジョニングされた置換ノードを追� するには、`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
1. プライマリ MySQL または Redis ノードを置き換える� �合は、`cluster.conf` で `mysql-master` または `redis-master` の値を置換ノード名に変更します。たとえば、この変更された
cluster.conf
ファイルは、プライマリ MySQL および Redis ノードとして、新しくプロビジョニングされたクラスター ノードghe-replacement-data-node-1
を指定します。mysql-master = ghe-replacement-data-node-1 redis-master = ghe-replacement-data-node-1
1. 変更された `cluster.conf` があるノードの管理シェルから、`ghe-cluster-config-init` を実行します。 これで、クラスタに新たに追� されたノードが初期化されます。 1. 同じノードから、`ghe-cluster-config-apply` を実行します。 これにより、構成ファイルが検証され、クラスター内の各ノードにコピーされ、変更された `cluster.conf` ファイルに従って各ノードが設定されます。 1. cluster.conf に `git-server = true` が設定されているノードをオフラインにする� �合は、ノードを退避します。 詳細については、「[クラスター ノードの退避](/enterprise/admin/clustering/evacuating-a-cluster-node)」を参照してく� さい。