Esta versão do GitHub Enterprise foi descontinuada em 2021-06-09. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, melhorar a segurança e novos recursos, upgrade to the latest version of GitHub Enterprise. Para ajuda com a atualização, contact GitHub Enterprise support.

Substituir um nó de cluster

Para substituir um nó do GitHub Enterprise Server, você deve marcar os nós afetados offline no arquivo de configuração do cluster (cluster.conf) e adicionar os nós de substituição. Fazer isso pode ser necessário em caso de falha de algum nó ou para adicionar nós com mais recursos a fim de melhorar o desempenho.

Aviso: para evitar conflitos, o nó de substituição deve usar um nome de host exclusivo no cluster.

Substituir um nó funcional

  1. Provision and install GitHub Enterprise Server com um nome de host exclusivo no nó de substituição.

  2. Usando o shell administrativo ou DHCP, configure only (somente) o endereço IP de cada nó. Não altere outras configurações.

  3. Para adicionar o novo nó de substituição provisionado, em qualquer nó, modifique o arquivo cluster.conf para remover o nó com falha e adicionar o nó de substituição. Por exemplo, este arquivo modificado cluster.conf substitui ghe-data-node-3 pelo novo nó provisionado, 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. A partir do shell administrativo do nó modificado cluster.conf, execute ghe-cluster-config-init. Isto irá inicializar o nó recém-adicionado no cluster.

  5. No mesmo nó, execute ghe-cluster-config-apply. Isto irá validar o arquivo de configuração, copiá-lo para cada nó do cluster, e configurar cada nó de acordo com o arquivo cluster.conf.

  6. Se você estiver usando um nó offline que tenha git-server = true definido em cluster.conf, remova o nó. Para obter mais informações, consulte "Evacuating a cluster node."

  7. Para marcar a falha do nó offline, em qualquer nó, modifique o cluster configuration file (cluster.conf) na seção nó relevante para incluir o texto offline = true.

    Por exemplo, esta modificação cluster.conf irá marcar o nó ghe-data-node-3 como offline:

    [cluster "ghe-data-node-3"]
    hostname = ghe-data-node-3
    offline = true
    ipv4 = 192.168.0.6
    # ipv6 = fd12:3456:789a:1::6
    
  8. A partir do shell administrativo do nó modificado cluster.conf, execute ghe-cluster-config-apply. Isso irá validar o arquivo de configuração, copiá-lo para cada nó do cluster e marcar o nó offline.

  9. Se você estiver substituindo o nó primário do MySQL ou Redis, no cluster.conf, modifique o valor de mysql-master ou redis-master com o nome do nó de substituição.

    Por exemplo, o arquivo cluster.conf modificado especifica um novo nó de cluster provisionado, ghe-replacement-data-node-1 como o nó principal do MySQL e do Redis:

    mysql-master = ghe-replacement-data-node-1
    redis-master = ghe-replacement-data-node-1

Substituir um nó em caso de emergência

  1. Provision and install GitHub Enterprise Server com um nome de host exclusivo no nó de substituição.

  2. Usando o shell administrativo ou DHCP, configure only (somente) o endereço IP de cada nó. Não altere outras configurações.

  3. Para marcar a falha do nó offline, em qualquer nó, modifique o cluster configuration file (cluster.conf) na seção nó relevante para incluir o texto offline = true.

    Por exemplo, esta modificação cluster.conf irá marcar o nó ghe-data-node-3 como offline:

    [cluster "ghe-data-node-3"]
    hostname = ghe-data-node-3
    offline = true
    ipv4 = 192.168.0.6
    # ipv6 = fd12:3456:789a:1::6
    
  4. A partir do shell administrativo do nó modificado cluster.conf, execute ghe-cluster-config-apply. Isso irá validar o arquivo de configuração, copiá-lo para cada nó do cluster e marcar o nó offline.

  5. Para adicionar o novo nó de substituição provisionado, em qualquer nó, modifique o arquivo cluster.conf para remover o nó com falha e adicionar o nó de substituição. Por exemplo, este arquivo modificado cluster.conf substitui ghe-data-node-3 pelo novo nó provisionado, 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. Se você estiver substituindo o nó primário do MySQL ou Redis, no cluster.conf, modifique o valor de mysql-master ou redis-master com o nome do nó de substituição.

    Por exemplo, o arquivo cluster.conf modificado especifica um novo nó de cluster provisionado, ghe-replacement-data-node-1 como o nó principal do MySQL e do Redis:

    mysql-master = ghe-replacement-data-node-1
    redis-master = ghe-replacement-data-node-1

  7. A partir do shell administrativo do nó modificado cluster.conf, execute ghe-cluster-config-init. Isto irá inicializar o nó recém-adicionado no cluster.

  8. No mesmo nó, execute ghe-cluster-config-apply. Isto irá validar o arquivo de configuração, copiá-lo para cada nó do cluster, e configurar cada nó de acordo com o arquivo cluster.conf.

  9. Se você estiver usando um nó offline que tenha git-server = true definido em cluster.conf, remova o nó. Para obter mais informações, consulte "Evacuating a cluster node."