Geo 자주 묻는 질문
Offering: GitLab Self-Managed
요구 사항은 인덱스 페이지에 나열되어 있습니다. 각 보조 사이트에는 GitLab 데이터베이스의 읽기 전용 복제 복사본이 있습니다. 처음에는 이 추적 데이터베이스가 비어 있으므로 Geo는 GitLab 데이터베이스에서 볼 수 있는 모든 프로젝트에서 업데이트를 시도합니다.
Geo를 실행하기 위한 최소 요구 사항은 무엇인가요?#
요구 사항은 인덱스 페이지에 나열되어 있습니다.
Geo는 동기화할 프로젝트를 어떻게 알 수 있나요?#
각 보조 사이트에는 GitLab 데이터베이스의 읽기 전용 복제 복사본이 있습니다. 보조 사이트에는 동기화된 프로젝트를 저장하는 추적 데이터베이스도 있습니다. Geo는 두 데이터베이스를 비교하여 아직 추적되지 않은 프로젝트를 찾습니다.
처음에는 이 추적 데이터베이스가 비어 있으므로 Geo는 GitLab 데이터베이스에서 볼 수 있는 모든 프로젝트에서 업데이트를 시도합니다.
동기화할 각 프로젝트에 대해:
- Geo는 주 사이트에서 최신 정보를 가져오기 위해
git fetch geo --mirror를 실행합니다. 변경 사항이 없으면 동기화가 빠릅니다. 그렇지 않으면 최신 커밋을 가져와야 합니다. - 보조 사이트는 추적 데이터베이스를 업데이트하여 이름으로 프로젝트를 동기화했다는 사실을 저장합니다.
- 모든 프로젝트가 동기화될 때까지 반복합니다.
누군가가 주 사이트에 커밋을 푸시하면 저장소가 변경되었다는 이벤트가 GitLab 데이터베이스에 생성됩니다. 보조 사이트는 이 이벤트를 보고 해당 프로젝트를 더티로 표시하고 프로젝트를 다시 동기화하도록 예약합니다.
파이프라인 문제(예: 동기화 실패 횟수 초과 또는 job 손실)로 인해 프로젝트 동기화가 영구적으로 중단되지 않도록 Geo는 더티로 표시된 프로젝트에 대해 추적 데이터베이스를 주기적으로 확인합니다. 이 확인은 동시 동기화 수가 repos_max_capacity 아래로 떨어지고 동기화를 기다리는 새 프로젝트가 없을 때 발생합니다.
Geo에는 SHA 값에 대한 모든 Git 참조에서 SHA256 합계를 실행하는 체크섬 기능도 있습니다. 주 사이트와 보조 사이트 사이의 refs가 일치하지 않으면 보조 사이트는 해당 프로젝트를 더티로 표시하고 다시 동기화를 시도합니다. 따라서 추적 데이터베이스가 오래되었더라도 유효성 검사가 활성화되어 저장소 상태의 불일치를 찾고 다시 동기화합니다.
재해 복구 상황에서 Geo를 사용할 수 있나요?#
예, 하지만 복제하는 내용에 대한 제한이 있습니다(보조 사이트에 복제되는 데이터는 무엇인가요?를 참조하세요).
재해 복구 문서를 읽어보세요.
보조 사이트에 복제되는 데이터는 무엇인가요?#
전체 rails 데이터베이스, 프로젝트 저장소, LFS 객체, 생성된 첨부 파일, 아바타 등을 복제합니다. 이는 사용자 계정, 이슈, 머지 리퀘스트, 그룹, 프로젝트 데이터 등의 정보를 쿼리에 사용할 수 있다는 것을 의미합니다.
Geo에서 복제하는 데이터의 포괄적인 목록은 지원되는 Geo 데이터 유형 페이지를 참조하세요.
보조 사이트에 git push할 수 있나요?#
보조 사이트에 직접 푸시(HTTP와 SSH 모두, Git LFS 포함)가 지원됩니다.
커밋이 보조 사이트에 복제되는 데 얼마나 걸리나요?#
모든 복제 작업은 비동기적으로 수행되며 디스패치를 위해 대기열에 추가됩니다. 따라서 트래픽 양, 커밋 크기, 사이트 간 연결 및 하드웨어 등 많은 요소에 따라 달라집니다.
SSH 서버가 다른 포트에서 실행되는 경우는 어떻게 되나요?#
전혀 문제 없습니다. HTTP(S)를 사용하여 주 사이트에서 모든 보조 사이트로 저장소 변경 사항을 가져옵니다.
보조 사이트의 컨테이너 레지스트리를 주 사이트의 미러로 만들 수 있나요?#
예, 하지만 재해 복구 시나리오에서만 지원합니다. 보조 사이트의 컨테이너 레지스트리를 참조하세요.
보조 사이트에 로그인할 수 있나요?#
예, 하지만 보조 사이트는 모든 인증 데이터(예: 사용자 계정 및 로그인)를 주 인스턴스에서 받습니다. 이는 인증을 위해 주 사이트로 리디렉션된 다음 다시 라우팅된다는 것을 의미합니다.
모든 Geo 사이트가 주 사이트와 동일해야 하나요?#
아니요, Geo 사이트는 다른 참조 아키텍처를 기반으로 할 수 있습니다. 예를 들어 주 사이트는 3K 참조 아키텍처를 기반으로 하고, 하나의 보조 사이트는 3K 참조 아키텍처를 기반으로 하고, 다른 하나는 1K 참조 아키텍처를 기반으로 할 수 있습니다.
Geo는 보관된 프로젝트를 복제하나요?#
예, 선택적 동기화를 통해 제외되지 않은 경우에 한합니다.
Geo는 개인 프로젝트를 복제하나요?#
예, 선택적 동기화를 통해 제외되지 않은 경우에 한합니다.
지연된 삭제 프로젝트가 보조 사이트에 복제되나요?#
예, 지연된 삭제로 삭제 예약이 되었지만 아직 영구 삭제되지 않은 프로젝트는 보조 사이트에 복제됩니다.
주 사이트가 다운되면 보조 사이트는 어떻게 되나요?#
주 사이트가 다운되면 주 사이트의 서비스를 복원하거나 보조 사이트에서 프로모션을 수행하지 않는 한 보조 사이트는 UI를 통해 접근할 수 없습니다.
