Geo with Object storage

Tier: Premium, Ultimate Offering: Self-Managed

객체 스토리지에 저장된 파일의 검증은 GitLab 16.4에서 도입되었으며 geo_object_storage_verification이라는 플래그로 기본으로 활성화되었습니다. (소개됨).

Geo는 객체 스토리지(AWS S3 또는 기타 호환되는 객체 스토리지)와 결합하여 사용할 수 있습니다.

보조 사이트는 다음 중 하나를 사용할 수 있습니다:

  • 사이트와 동일한 저장 버킷.
  • 복제된 저장 버킷.
  • 주 사이트가 로컬 저장을 사용하는 경우 로컬 저장.

파일의 저장 방법(로컬 또는 객체 스토리지)은 데이터베이스에 기록되며 데이터베이스는 Geo 사이트에서 보조 Geo 사이트로 복제됩니다.

업로드된 객체에 액세스할 때 데이터베이스에서 해당 객체의 저장 방법(로컬 또는 객체 스토리지)을 가져오므로 보조 Geo 사이트는 Geo 사이트의 저장 방법과 일치해야 합니다.

따라서 Geo 사이트가 객체 스토리지를 사용하는 경우 보조 Geo 사이트도 사용해야 합니다.

가져야 할 것:

GitLab이 관리하는 복제 및 제3자 복제 사이의 비교에 대해 객체 스토리지 복제 테스트를 참조하세요.

GitLab과 객체 스토리지 사용에 대해 자세히 알아보기.

GitLab이 관리하는 객체 스토리지 복제 활성화

  • GitLab 15.1에서 소개됨(https://gitlab.com/groups/gitlab-org/-/epics/5551).

보조 사이트는 사이트에 저장된 파일을 로컬 파일 시스템이나 객체 스토리지에 저장하더라도 복제할 수 있습니다.

GitLab 복제를 활성화하려면:

  1. 왼쪽 사이드바에서 맨 아래에서 관리 영역을 선택합니다.
  2. Geo > 노드를 선택합니다.
  3. 보조 사이트에서 편집을 선택합니다.
  4. 동기화 설정 섹션에서 이 보조 노드에 Object Storage에서 콘텐츠 복제 허용 확인란을 찾아 활성화합니다.

LFS의 경우 LFS 객체 스토리지 설정를 참조하세요.

CI 작업 아티팩트의 경우 유사한 문서를 참조하여 작업 아티팩트 객체 스토리지 사용을 구성할 수 있습니다.

사용자 업로드의 경우 업로드 객체 스토리지 사용을 구성하기 위한 유사한 문서가 있습니다.

사이트 파일을 객체 스토리지로 마이그레이션하려면 보조를 다음과 같이 구성할 수 있습니다:

  • 정확히 같은 객체 스토리지 사용.
  • 별도의 객체 리포지터리 사용 및 객체 스토리지 솔루션의 기본 복제를 활용.
  • 별도의 객체 리포지터리 사용 및 이 보조 노드에 Object Storage에서 콘텐츠 복제 허용 설정을 활성화.

GitLab은 현재 다음의 경우를 지원하지 않습니다:

  • 사이트가 로컬 저장을 사용하는 경우.
  • 보조 사이트가 객체 스토리지를 사용하는 경우.

제3자 복제 서비스

Amazon S3를 사용하는 경우 사이트에서 사용하는 버킷과 보조 사이트에서 사용하는 버킷 간에 자동 복제하려면 Cross-Region Replication (CRR)를 사용할 수 있습니다.

Google Cloud Storage를 사용하는 경우 Multi-Regional Storage를 고려할 수 있습니다. 또는 Storage Transfer Service를 사용할 수도 있지만, 이는 하루에 한 번 동기화만 지원합니다.

매뉴얼 동기화 또는 cron에 의한 예약을 위해서 다음을 참조하세요: