Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

クラスタノードの入れ替え

GitHub Enterprise Server ノードを入れ替えるには、クラスター設定ファイル (cluster.conf) 内で対象となるノードをオフラインとしてマークし、入れ替えるノードを追加しなければなりません。 ノードに障害があった場合、あるいはパフォーマンスを高めるためにリソースの多いノードを追加する場合、この作業が必要になることがあります。

警告: 競合を避けるため、入れ替えるノードはそれまでにクラスターで使われていないホスト名を使わなければなりません。

関数ノードの入れ替え

  1. 置き換えノードに一意のホスト名を指定し、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
    

緊急時のノードの入れ替え

  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)」を参照してください。