MySQL 복제본(replica) 노드의 데이터베이스 시드 연기 정보
Note
데이터베이스 시드를 연기하는 기능을 beta로 사용할 수 있습니다.
주 노드에 7일 이상의 데이터가 있는 경우 클러스터에 새 MySQL 복제본(replica) 노드를 추가하면 데이터베이스 시드가 트리거되며, 이 작업은 일반적으로 데이터 양에 따라 몇 시간이 걸릴 수 있습니다. 데이터베이스 시드를 연기하도록 선택하여 구성 적용 실행이 더 빨리 완료되도록 함으로써 트래픽에 대한 어플라이언스 더 빨리 열 수 있습니다.
이미 하나 이상의 MySQL 복제본(replica)을 구성한 후 추가 MySQL 복제본(replica)을 추가하는 경우에만 데이터베이스 시드를 연기해야 합니다. 그렇지 않으면 시드가 완료될 때까지 MySQL이 이중화되지 않습니다.
데이터베이스 시드를 연기할 때 새 MySQL 복제본(replica)이 복제에 사용되도록 구성되지 않으며 나중에 시드를 수동으로 완료할 때까지 MySQL 주 노드에 데이터 복사본이 없습니다.
새 MySQL 노드를 추가할 때 MySQL 시드 연기 구성
-
대체 노드에 고유한 호스트 이름을 사용하여 GitHub Enterprise Server를 프로비저닝하고 설치합니다.
-
관리 셸 또는 DHCP를 사용하여 대체 노드의 IP 주소만 구성합니다. 다른 설정은 구성하지 마세요.
-
새 MySQL 노드에 대한
cluster.conf
항목을 만들고skip-data-setup = true
필드를 포함합니다. 아래 예제에서는 호스트 이름ghe-data-node-3
및mysql-server
역할을 사용하여 새 노드를 추가합니다.... [cluster "ghe-data-node-3"] hostname = ghe-data-node-3 ipv4 = 192.168.0.9 # ipv6 = fd12:3456:789a:1::7 mysql-server = true skip-data-setup = true ...
-
클러스터에서 새 노드를 초기화하려면 수정된
cluster.conf
를 사용하여 노드의 관리 셸에서ghe-cluster-config-init
를 실행합니다. -
구성 파일의 유효성을 검사하고 수정된
cluster.conf
파일에 따라 각 노드를 복사 및 구성하려면ghe-cluster-config-apply
를 실행합니다.
수동으로 데이터 시드
ghe-cluster-config-apply
를 실행한 후에는 MySQL 서비스가 새 노드에서 실행되지만 복제본(replica)으로 구성되지 않으며 MySQL 주 노드의 데이터로 시드되지도 않습니다. MySQL 주 노드에서 데이터를 시드하려면 수동으로 복제를 구성해야 합니다.
-
새 노드에서 MySQL 주 노드 데이터의 수동 복제를 시작하려면 다음 명령을 실행합니다. 이때
PRIMARY_IP
를 MySQL 주 노드를 실행하는 노드의 IP 주소로 바꿉니다./usr/local/share/enterprise/ghe-mysql-repl-start PRIMARY_IP
데이터베이스 시드에 필요한 시간은 데이터 크기에 따라 다릅니다. 대규모 데이터 세트의 경우 SSH 연결 끊김으로 인한 문제를 방지하려면 screen
세션에서 위의 명령을 실행하는 것이 좋습니다.