Skip to main content

이 버전의 GitHub Enterprise는 다음 날짜에 중단되었습니다. 2023-01-18. 중요한 보안 문제에 대해서도 패치 릴리스가 이루어지지 않습니다. 성능 향상, 향상된 보안, 새로운 기능을 위해 최신 버전의 GitHub Enterprise로 업그레이드합니다. 업그레이드에 대한 도움말은 GitHub Enterprise 지원에 문의하세요.

클러스터 노드 바꾸기

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. 모든 노드에서 실패한 노드를 오프라인으로 표시하려면 관련 노드 섹션에서 [클러스터 구성 파일](/enterprise/admin/guides/clustering/initializing-the-cluster/#about-the-cluster-configuration-file)(`cluster.conf`)을 수정하여 `offline = true` 텍스트를 포함합니다.

    예를 들어 이 수정된 cluster.confghe-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 파일은 새로 프로비저닝된 클러스터 노드 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를 프로비저닝하고 설치합니다. 1. 관리 셸 또는 DHCP를 사용하여 대체 노드의 IP 주소 구성합니다. 다른 설정은 구성하지 마세요. 1. 모든 노드에서 실패한 노드를 오프라인으로 표시하려면 관련 노드 섹션에서 클러스터 구성 파일(cluster.conf)을 수정하여 offline = true 텍스트를 포함합니다.

    예를 들어 이 수정된 cluster.confghe-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 파일은 새로 프로비저닝된 클러스터 노드 ghe-replacement-data-node-1을 기본 MySQL 및 Redis 노드로 지정합니다.

    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)”를 참조하세요.