Geo with Object storage

세부정보: Tier: 프리미엄, 얼티메이트 Offering: Self-managed

객체 저장소에 저장된 파일의 검증은 기본적으로 GitLab 16.4에서 geo_object_storage_verification이라는 플래그로 소개되었으며 기본적으로 활성화되어 있습니다.

Geo는 Object Storage(AWS S3 또는 다른 호환되는 객체 저장소)와 결합하여 사용할 수 있습니다.

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

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

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

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

따라서, Primary Geo 사이트가 객체 저장소를 사용하는 경우 Secondary Geo 사이트도 사용해야 합니다.

GitLab이 관리하는 복제와 제3자 복제 간의 비교에 대해서는 객체 저장소 복제 테스트를 참조하십시오.

GitLab과 객체 저장소 사용에 대한 자세한 내용은 GitLab에서 객체 저장소 사용을 참조하십시오.

GitLab이 관리하는 객체 저장소 복제 활성화

Secondary 사이트는 Primary 사이트에 저장된 파일을 로컬 파일 시스템에 저장되었는지, 객체 저장소에 저장되었는지에 상관없이 복제할 수 있습니다.

GitLab 복제를 활성화하려면:

  1. 왼쪽 사이드바에서 맨 아래에서 관리 영역(Admin Area)을 선택합니다.
  2. Geo > 노드를 선택합니다.
  3. Secondary 사이트에서 편집을 선택합니다.
  4. Synchronization Settings 섹션에서 Allow this secondary node to replicate content on Object Storage(이(가) 된 경우 이 보조 노드가 객체 저장소에서 콘텐츠를 복제할 수 있도록 하는) 확인란을 찾아 활성화합니다.

LFS의 경우, LFS 객체 저장소 설정을 따르십시오.

CI 작업 아티팩트의 경우, 작업 아티팩트 객체 저장소 사용를 구성하는 유사한 문서가 있습니다.

사용자 업로드의 경우, 업로드 객체 저장소 사용를 구성하는 유사한 문서가 있습니다.

Primary 사이트의 파일을 객체 저장소로 마이그레이션하려면 Secondary를 다음과 같은 방법으로 구성할 수 있습니다:

  • 정확히 동일한 객체 저장소 사용.
  • 별도의 객체 저장소 사용하되 해당 객체 저장소 솔루션의 기본 복제 기능을 활용.
  • 별도의 객체 저장소 사용하고 Allow this secondary node to replicate content on Object Storage 설정을 활성화.

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

  • Primary 사이트가 로컬 저장소를 사용하는 경우.
  • Secondary 사이트가 객체 저장소를 사용하는 경우.

제3자 복제 서비스

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

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

수동 동기화 또는 cron에 의해 예약된 경우, 다음을 참조하십시오: