GitHub Enterprise Server 클러스터 노드 대체 정보
GitHub Enterprise Server 클러스터의 기능 노드를 대체하거나 예기치 않게 실패한 노드를 대체할 수 있습니다.
경고: 충돌을 방지하기 위해, 이전에 클러스터의 노드에 할당된 호스트 이름을 다시 사용하지 마세요.
기능 노드 바꾸기
클러스터의 기존 기능 노드를 대체할 수 있습니다. 예를 들어 VM(가상 머신)에 추가 CPU, 메모리 또는 스토리지 리소스를 제공할 수 있습니다.
기능 노드를 대체하려면 새 VM에 GitHub Enterprise Server 어플라이언스를 설치하고, IP 주소를 구성하고, 클러스터 구성 파일에 새 노드를 추가하고, 클러스터를 초기화하고 구성을 적용한 다음, 대체된 노드를 오프라인으로 전환합니다.
-
대체 노드에 고유한 호스트 이름을 사용하여 GitHub Enterprise Server를 프로비저닝하고 설치합니다.
-
관리 셸 또는 DHCP를 사용하여 대체 노드의 IP 주소만 구성합니다. 다른 설정은 구성하지 마세요.
-
모든 노드에서 새로 프로비저닝된 대체 노드를 추가하려면
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
-
수정된
cluster.conf를 사용하여 노드의 관리 셸에서ghe-cluster-config-init를 실행합니다. 그러면 클러스터에서 새로 추가된 노드가 초기화됩니다. -
동일한 노드에서
ghe-cluster-config-apply를 실행합니다. 이렇게 하면 구성 파일의 유효성이 검사되고, 클러스터의 각 노드에 복사되고, 수정된cluster.conf파일에 따라 각 노드가 구성됩니다. -
git-server,pages-server, 또는storage-server등의 데이터 서비스를 제공하는 노드를 오프라인으로 전환하는 경우 해당 노드를 이동하세요. 자세한 내용은 "데이터 서비스를 실행하는 클러스터 노드 이동"을 참조하세요. -
모든 노드에서 실패한 노드를 오프라인으로 표시하려면 관련 노드 섹션에서 클러스터 구성 파일(
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
-
수정된
cluster.conf를 사용하여 노드의 관리 셸에서ghe-cluster-config-apply를 실행합니다. 이렇게 하면 구성 파일의 유효성이 검사되고, 클러스터의 각 노드에 복사되며, 노드가 오프라인으로 표시됩니다. -
기본 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
응급 상황에서 노드 바꾸기
클러스터에서 실패한 노드를 대체할 수 있습니다. 예를 들어 소프트웨어 또는 하드웨어 문제가 노드의 가용성에 영향을 줄 수 있습니다.
긴급 상황에서 노드를 대체하려면 새 VM에 GitHub Enterprise Server 어플라이언스 설치하고, IP 주소를 구성하고, 실패한 노드를 오프라인으로 전환하고, 구성을 적용하고, 클러스터 구성 파일에 새 노드를 추가하고, 클러스터를 초기화하고 구성을 적용하고, 필요에 따라 실패한 노드를 제거합니다.
-
대체 노드에 고유한 호스트 이름을 사용하여 GitHub Enterprise Server를 프로비저닝하고 설치합니다.
-
관리 셸 또는 DHCP를 사용하여 대체 노드의 IP 주소만 구성합니다. 다른 설정은 구성하지 마세요.
-
모든 노드에서 실패한 노드를 오프라인으로 표시하려면 관련 노드 섹션에서 클러스터 구성 파일(
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
-
수정된
cluster.conf를 사용하여 노드의 관리 셸에서ghe-cluster-config-apply를 실행합니다. 이렇게 하면 구성 파일의 유효성이 검사되고, 클러스터의 각 노드에 복사되며, 노드가 오프라인으로 표시됩니다. -
모든 노드에서 새로 프로비저닝된 대체 노드를 추가하려면
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
-
기본 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
-
수정된
cluster.conf를 사용하여 노드의 관리 셸에서ghe-cluster-config-init를 실행합니다. 그러면 클러스터에서 새로 추가된 노드가 초기화됩니다. -
동일한 노드에서
ghe-cluster-config-apply를 실행합니다. 이렇게 하면 구성 파일의 유효성이 검사되고, 클러스터의 각 노드에 복사되고, 수정된cluster.conf파일에 따라 각 노드가 구성됩니다. -
git-server,pages-server, 또는storage-server등의 데이터 서비스를 제공하는 노드를 오프라인으로 전환하는 경우 해당 노드를 이동하세요. 자세한 내용은 "데이터 서비스를 실행하는 클러스터 노드 이동"을 참조하세요.