클러스터 노드 교체 정보
클러스터의 기능 노드를 바꾸거나 예기치 않게 실패한 노드를 바꿀 수 있습니다.
경고: 충돌을 방지하려면 교체 노드에서 이전에 클러스터에서 사용되지 않은 새 호스트 이름을 사용해야 합니다.
기능 노드 바꾸기
-
대체 노드에 고유한 호스트 이름을 사용하여 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. , `pages-server`또는 `storage-server`와 같은 데이터 서비스를 제공하는 노드를 오프라인으로 `git-server`전환할 경우 노드를 제거합니다. 자세한 내용은 "[AUTOTITLE](/admin/enterprise-management/configuring-clustering/evacuating-a-cluster-node-running-data-services)"을 참조하세요. 1. 모든 노드에서 실패한 노드를 오프라인으로 표시하려면 관련 노드 섹션에서 [클러스터 구성 파일](/admin/enterprise-management/configuring-clustering/initializing-the-cluster#about-the-cluster-configuration-file)(`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
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
응급 상황에서 노드 바꾸기
-
대체 노드에 고유한 호스트 이름을 사용하여 GitHub Enterprise Server를 프로비저닝하고 설치합니다. 1. 관리 셸 또는 DHCP를 사용하여 대체 노드의 IP 주소만 구성합니다. 다른 설정은 구성하지 마세요. 1. 모든 노드에서 실패한 노드를 오프라인으로 표시하려면 관련 노드 섹션에서 클러스터 구성 파일(
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
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. , `pages-server`또는 `storage-server`와 같은 데이터 서비스를 제공하는 노드를 오프라인으로 `git-server`전환할 경우 노드를 제거합니다. 자세한 내용은 "[AUTOTITLE](/admin/enterprise-management/configuring-clustering/evacuating-a-cluster-node-running-data-services)"을 참조하세요.