Skip to main content
ドキュメントには� �繁に更新が� えられ、その都度公開されています。本ページの翻訳はま� 未完成な部分があることをご了承く� さい。最新の情� �については、英語のドキュメンテーションをご参照く� さい。本ページの翻訳に問題がある� �合はこちらまでご連絡く� さい。

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2022-06-03. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてく� さい。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してく� さい。

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

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

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

関数ノードの入れ替え

  1. 入れ替えノードにユニークなホスト名を付けてGitHub Enterprise Serverをプロビジョニングしてインストールしてく� さい。

  2. 管理シェルもしくは DHCP を使い、置き換えノードの IP アドレスのみを設定してく� さい。 その他の設定は行わないでく� さい。

  3. 新たにプロビジョニングされた置き換えノードを追� するには、任意のノードで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
    
  4. cluster.confを修正したノードの管理シェルからghe-cluster-config-initを実行してく� さい。 これで、クラスタに新たに追� されたノードが初期化されます。

  5. 同じノードからghe-cluster-config-applyを実行してく� さい。 これで設定ファイルが検証され、クラスタ内の各ノードにコピーされ、変更されたcluster.confに従って各ノードが設定されます。

  6. cluster.confにgit-server = trueと設定されているノードをオフラインにするなら、ノードからの退避を行ってく� さい。 詳しい情� �については"クラスタノードからの退避"を参照してく� さい。

  7. 障害が起きたノードをオフラインとしてマークするには、任意のノードでクラスタ設定ファイル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
    
  8. cluster.confを修正したノードの管理シェルからghe-cluster-config-applyを実行してく� さい。 これで設定ファイルが検証され、クラスタ内の各ノードにコピーされ、そのノードがオフラインとしてマークされます。

  9. プライマリのMySQLもしくはRedisノードを置き換えようとしているなら、cluster.confmysql-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
    

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

  1. 入れ替えノードにユニークなホスト名を付けてGitHub Enterprise Serverをプロビジョニングしてインストールしてく� さい。

  2. 管理シェルもしくは DHCP を使い、置き換えノードの IP アドレスのみを設定してく� さい。 その他の設定は行わないでく� さい。

  3. 障害が起きたノードをオフラインとしてマークするには、任意のノードでクラスタ設定ファイル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
    
  4. cluster.confを修正したノードの管理シェルからghe-cluster-config-applyを実行してく� さい。 これで設定ファイルが検証され、クラスタ内の各ノードにコピーされ、そのノードがオフラインとしてマークされます。

  5. 新たにプロビジョニングされた置き換えノードを追� するには、任意のノードで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
    
  6. プライマリのMySQLもしくはRedisノードを置き換えようとしているなら、cluster.confmysql-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
    
  7. cluster.confを修正したノードの管理シェルからghe-cluster-config-initを実行してく� さい。 これで、クラスタに新たに追� されたノードが初期化されます。

  8. 同じノードからghe-cluster-config-applyを実行してく� さい。 これで設定ファイルが検証され、クラスタ内の各ノードにコピーされ、変更されたcluster.confに従って各ノードが設定されます。

  9. cluster.confにgit-server = trueと設定されているノードをオフラインにするなら、ノードからの退避を行ってく� さい。 詳しい情� �については"クラスタノードからの退避"を参照してく� さい。