InfoGrab Docs

Gitaly 클러스터(Praefect) 복구 옵션 및 도구

Gitaly 클러스터(Praefect) 복구 옵션 및 도구에 대해 설명합니다.

Gitaly 클러스터(Praefect)는 프라이머리 노드 장애 및 사용할 수 없는 저장소에서 복구할 수 있습니다. Gitaly 클러스터(Praefect)는 데이터 복구를 수행할 수 있으며 Praefect 추적 데이터베이스 도구를 갖추고 있습니다. Gitaly 클러스터(Praefect)의 Gitaly 노드 관리 # Gitaly 클러스터(Praefect)에서 Gitaly 노드를 추가하고 교체할 수 있습니다. 새 Gitaly 노드 추가 # 새 Gitaly 노드를 추가하려면: 문서 에 따라 새 Gitaly 노드를 설치합니다. praefect['virtual_storages'] 아래의 Praefect 구성 에 새 노드를 추가합니다. 다음 명령을 실행하여 Praefect를 재구성하고 다시 시작합니다: gitlab-ctl reconfigure gitlab-ctl restart praefect 복제 동작은 복제 계수 설정에 따라 다릅니다. 사용자 정의 복제 계수 # 사용자 정의 복제 계수가 설정된 경우 Praefect는 기존 저장소를 새 Gitaly 노드에 자동으로 복제하지 않습니다. set-replication-factor Praefect 명령을 사용하여 각 저장소에 대해 복제 계수 를 설정해야 합니다. 새 저장소는 복제 계수 를 기반으로 복제됩니다. 기본 복제 계수 # 기본 복제 계수를 사용하는 경우 Praefect는 복제 계수를 유지하기 위해 구성에 추가된 모든 새 Gitaly 노드에 모든 데이터를 자동으로 복제합니다. 기존 Gitaly 노드 교체 # 기존 Gitaly 노드를 동일한 이름 또는 다른 이름의 새 노드로 교체할 수 있습니다. 이전 노드를 제거하기 전에: 복제 계수가 설정된 경우 데이터 손실을 방지하기 위해 1보다 커야 합니다. 복제 계수가 설정되지 않은 경우 저장소는 가상 스토리지 아래의 모든 노드에 복제됩니다. 프라이머리 Gitaly 노드가 제거되면 해당 노드에서 관리하는 저장소는 다음 중 하나가 될 때까지 사용할 수 없게 됩니다: 노드가 교체되고 복제됩니다. 교체된 프라이머리 노드의 데이터가 포함된 새 교체 노드가 사용 가능해집니다. 노드를 사용할 수 없는 동안 영향받은 저장소에 대한 읽기 요청은 404 오류와 함께 실패합니다. Gitaly는 영향받은 저장소에 다음 번 쓰기 시도 시 새 프라이머리 노드를 설정하기 위한 페일오버를 트리거하여 이 상황을 자동으로 해결합니다. 동일한 이름의 노드로 교체 # 교체 노드에 동일한 이름을 사용하려면 저장소 검증기 를 사용하여 스토리지를 검사하고 연결이 끊어진 메타데이터 레코드를 제거합니다. 프로세스를 가속화하기 위해 교체된 스토리지의 수동 우선순위 검증 을 수행합니다. 다른 이름의 노드로 교체 # Gitaly 클러스터(Praefect)에서 노드를 다른 이름의 노드로 교체하는 단계는 복제 계수 가 설정되어 있는지에 따라 다릅니다. 사용자 정의 복제 계수가 설정된 경우 praefect set-replication-factor 를 사용하여 새 스토리지가 할당되도록 저장소별 복제 계수를 다시 설정합