Geo 자주 묻는 질문

Tier: 프리미엄, 얼티밋 Offering: Self-managed

Geo를 실행하는 데 필요한 최소 요구 사항은 무엇인가요?

요구 사항은 인덱스 페이지에 나열되어 있습니다.

Geo는 어떻게 동기화할 프로젝트를 알 수 있나요?

secondary 사이트에는 GitLab 데이터베이스의 읽기 전용 복제본이 있습니다. secondary 사이트에는 또한 동기화된 프로젝트를 저장하는 추적 데이터베이스가 있습니다. Geo는 두 데이터베이스를 비교하여 아직 추적되지 않은 프로젝트를 찾습니다.

시작할 때 이 추적 데이터베이스는 비어 있으므로 Geo는 GitLab 데이터베이스에서 볼 수 있는 모든 프로젝트에서 업데이트를 시도합니다.

각 프로젝트를 동기화하려면:

  1. Geo는 최신 정보를 얻기 위해 git fetch geo --mirror를 실행합니다. 변경 사항이 없으면 동기화가 빠릅니다. 그렇지 않으면 최신 커밋을 가져와야 합니다.
  2. secondary 사이트는 동기화된 프로젝트를 이름별로 추적 데이터베이스를 업데이트합니다.
  3. 모든 프로젝트가 동기화될 때까지 반복합니다.

누군가가 primary 사이트로 커밋을 푸시하면 GitLab 데이터베이스에서 해당 리포지토리가 변경되었다는 이벤트가 생성됩니다. secondary 사이트는 이 이벤트를 감지하고 해당 프로젝트를 변경되었음으로 표시하고 프로젝트를 다시 동기화하기로 예약합니다.

파이프라인에 문제가 발생하지 않도록(예: 동기화가 너무 많이 실패하거나 작업이 손실되는 경우) 프로젝트 동기화가 영구적으로 중지되지 않도록 Geo는 주기적으로 추적 데이터베이스를 확인하여 변경되었음으로 표시된 프로젝트를 확인합니다. 이 확인은 동시 동기화가 repos_max_capacity보다 낮아지고 동기화 대기 중인 새 프로젝트가 없는 경우에 발생합니다.

또한 Geo에는 모든 Git 참조에 대해 SHA 값에 대한 SHA256 합계를 실행하는 체크섬 기능이 있습니다. 참조가 primary 사이트와 secondary 사이트에서 일치하지 않는 경우 secondary 사이트는 해당 프로젝트를 변경되었음으로 표시하고 다시 동기화를 시도합니다. 따라서 추적 데이터베이스가 오래된 경우라도 유효성 검사가 활성화되어 리포지토리 상태의 불일치를 발견하고 다시 동기화해야 합니다.

재해 복구 상황에서 Geo를 사용할 수 있나요?

네, 그러나 복제하는 데이터에는 제한이 있습니다(secondary 사이트로 복제되는 데이터는 무엇인가요? 참조).

재해 복구에 대한 문서를 읽어보세요.

secondary 사이트로 무엇이 복제되나요?

전체 레일즈 데이터베이스, 프로젝트 리포지토리, LFS 객체, 생성된 첨부 파일, 아바타 등이 복제됩니다. 사용자 계정, 이슈, 병합 요청, 그룹 및 프로젝트 데이터와 같은 정보가 쿼리할 수 있게 됩니다.

Geo에 의해 복제되는 데이터 유형에 대한 포괄적인 목록은 지원되는 Geo 데이터 유형 페이지를 참조하십시오.

secondary 사이트로 git push할 수 있나요?

직접 secondary 사이트로 푸시(git push)할 수 있습니다(HTTP와 SSH, Git LFS 포함).

커밋이 secondary 사이트로 복제되는 데 얼마나 걸리나요?

모든 복제 작업은 비동기적으로 처리되고 전송을 위해 대기열에 들어갑니다. 따라서 트래픽 양, 커밋 크기, 사이트 간 연결성, 하드웨어 등 여러 요소에 달려 있습니다.

SSH 서버가 다른 포트에서 실행되는 경우 어떻게 되나요?

전혀 문제가 없습니다. primary 사이트에서 secondary 사이트로 저장소 변경 사항을 가져오기 위해 HTTP(s)를 사용합니다.

secondary 사이트용 컨테이너 레지스트리를 만들 수 있나요?

네, 그러나 이 기능은 재해 복구 시나리오에서만 지원됩니다. secondary 사이트용 컨테이너 레지스트리를 참조하십시오.

secondary 사이트에 로그인할 수 있나요?

네, 그러나 secondary 사이트는 기본 인스턴스로부터 모든 인증 데이터(사용자 계정 및 로그인과 같은)를 받습니다. 즉, 인증을 위해 기본 페이지로 리디렉션된 후 다시 경로로 돌아옵니다.

모든 Geo 사이트가 주 서버와 동일해야 하나요?

아니요, Geo 사이트는 서로 다른 참조 아키텍처를 기반으로 할 수 있습니다. 예를 들어, 기본 사이트가 3K 참조 아키텍처를 기반으로 하고, 하나의 secondary 사이트는 3K 참조 아키텍처를 기반으로 하고 다른 하나는 1K 참조 아키텍처를 기반으로 할 수 있습니다.

Geo는 보관된 프로젝트를 복제하나요?

네, 선택적 동기화를 통해 제외되지 않는 한 보관된 프로젝트도 복제합니다.

Geo는 개인 프로젝트를 복제하나요?

네, 선택적 동기화를 통해 제외되지 않는 한 개인 프로젝트도 복제합니다.

지연 삭제 프로젝트는 secondary 사이트로 복제되나요?

네, 지연된 삭제에 의해 삭제 예정인 프로젝트는 아직 영구적으로 삭제되지 않았더라도 secondary 사이트로 복제됩니다.