Skip to main content

Esta versão do GitHub Enterprise foi descontinuada em 2022-09-28. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, segurança aprimorada e novos recursos, atualize para a última versão do GitHub Enterprise. Para obter ajuda com a atualização, entre em contato com o suporte do GitHub Enterprise.

Substituir um nó de cluster

Para substituir um nó do GitHub Enterprise Server, você deverá 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: o nó de substituição precisa usar um nome do host que ainda não tenha sido usado no cluster para evitar conflitos.

Substituir um nó funcional

  1. Provisione e instale GitHub Enterprise Server com um nome de host exclusivo no nó de substituição. 1. Usando o shell administrativo ou o DHCP, configure apenas o endereço IP do nó de substituição. Não altere nenhuma outra configuração. 1. Para adicionar o nó de substituição recém-provisionado, em qualquer nó, modifique o arquivo cluster.conf para remover o nó com falha e adicione o nó de substituição. Por exemplo, este arquivo cluster.conf modificado substitui ghe-data-node-3 pelo nó recém-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
    
    1. No shell administrativo do nó com o `cluster.conf` modificado, execute `ghe-cluster-config-init`. Isto irá inicializar o nó recém-adicionado no cluster. 1. No mesmo nó, execute `ghe-cluster-config-apply`. Isso vai validar o arquivo de configuração, copiá-lo para cada nó no cluster e configurar cada nó de acordo com o arquivo `cluster.conf` modificado. 1. Se você estiver colocando um nó offline que tenha `git-server = true` definido em cluster.conf, evacue o nó. Para obter mais informações, confira "[Como evacuar um nó de cluster](/enterprise/admin/clustering/evacuating-a-cluster-node)". 1. Para marcar o nó com falha offline, em qualquer nó, modifique o [arquivo de configuração do cluster](/enterprise/admin/guides/clustering/initializing-the-cluster/#about-the-cluster-configuration-file) (`cluster.conf`) na seção de nó relevante para incluir o texto `offline = true`.

    Por exemplo, este cluster.conf modificado 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
      
    1. No shell administrativo do nó em que você modificou `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. 1. Se você estiver substituindo o nó MySQL ou Redis principal no `cluster.conf`, modifique o valor `mysql-master` ou `redis-master` pelo nome do nó de substituição.

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

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

Substituir um nó em caso de emergência

  1. Provisione e instale GitHub Enterprise Server com um nome de host exclusivo no nó de substituição. 1. Usando o shell administrativo ou o DHCP, configure apenas o endereço IP do nó de substituição. Não altere nenhuma outra configuração. 1. Para marcar o nó com falha offline, em qualquer nó, modifique o arquivo de configuração do cluster (cluster.conf) na seção de nó relevante para incluir o texto offline = true.

    Por exemplo, este cluster.conf modificado 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
      
    1. No shell administrativo do nó em que você modificou `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. 1. Para adicionar o nó de substituição recém-provisionado, em qualquer nó, modifique o arquivo `cluster.conf` para remover o nó com falha e adicione o nó de substituição. Por exemplo, este arquivo `cluster.conf` modificado substitui `ghe-data-node-3` pelo nó recém-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
    
    1. Se você estiver substituindo o nó MySQL ou Redis principal no `cluster.conf`, modifique o valor `mysql-master` ou `redis-master` pelo nome do nó de substituição.

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

    mysql-master = ghe-replacement-data-node-1
    redis-master = ghe-replacement-data-node-1
    
    1. No shell administrativo do nó com o `cluster.conf` modificado, execute `ghe-cluster-config-init`. Isto irá inicializar o nó recém-adicionado no cluster. 1. No mesmo nó, execute `ghe-cluster-config-apply`. Isso vai validar o arquivo de configuração, copiá-lo para cada nó no cluster e configurar cada nó de acordo com o arquivo `cluster.conf` modificado. 1. Se você estiver colocando um nó offline que tenha `git-server = true` definido em cluster.conf, evacue o nó. Para obter mais informações, confira "[Como evacuar um nó de cluster](/enterprise/admin/clustering/evacuating-a-cluster-node)".