Geo 데이터베이스 복제
Geo 데이터베이스 복제를 설정하여 기본 사이트의 PostgreSQL 데이터베이스를 보조 사이트에 복제하는 최소 단계를 설명합니다.
이 문서에서는 기본 사이트의 GitLab 데이터베이스를 보조 사이트의 데이터베이스로 복제하는 데 필요한 최소한의 단계를 설명합니다. 데이터베이스 설정과 크기 등 속성에 따라 일부 값을 변경해야 할 수 있습니다. Note GitLab 설치에서 외부 PostgreSQL 인스턴스(Linux 패키지 설치로 관리되지 않는 인스턴스)를 사용하는 경우, 역할로는 필요한 모든 구성 단계를 수행할 수 없습니다. 이 경우 외부 PostgreSQL 인스턴스를 사용하는 Geo 프로세스를 대신 사용합니다. 보조 사이트가 기본 사이트와 동일한 버전의 GitLab Enterprise Edition을 실행하는지 확인합니다. 사이트의 GitLab 버전을 확인하려면 sudo gitlab-rake gitlab:env:info 를 실행합니다. 자세한 내용은 GitLab 및 시스템 정보 수집 을 참고합니다. 기본 사이트에 Premium 또는 Ultimate 구독 라이선스를 추가했는지 확인합니다. 테스트 또는 프로덕션 환경에서 이 단계들을 실행하기 전에 모든 단계를 읽고 검토합니다. Note 설정 프로세스의 각 단계는 문서에 나온 순서대로 완료해야 합니다. 그렇지 않다면 진행하기 전에 이전의 모든 단계를 완료 합니다. 데이터베이스 비밀번호 일관성 요구 사항 # 각 데이터베이스 관련 비밀번호 유형은 모든 Geo 사이트(기본 및 보조)에서 동일한 값을 가져야 합니다. 여기에는 다음이 포함됩니다. postgresql['sql_replication_password'] (복제 사용자 비밀번호, MD5) postgresql['sql_user_password'] (GitLab 데이터베이스 사용자 비밀번호, MD5) gitlab_rails['db_password'] (GitLab 데이터베이스 사용자 비밀번호, 평문) patroni['replication_password'] (Patroni 설정용, 평문) patroni['password'] (Patroni API 인증용, 평문) postgresql['pgbouncer_user_password'] (PgBouncer 사용 시, MD5) 예를 들어 기본 사이트에서 구성한 patroni['password'] 값은 모든 보조 사이트의 patroni['password'] 값과 동일해야 합니다. 이 비밀번호는 기본 사이트와 보조 사이트 간의 데이터베이스 인증과 복제에 사용됩니다. 서로 다른 비밀번호를 사용하면 복제 오류가 발생하고 Geo가 정상적으로 동작하지 않습니다. 단일 인스턴스 데이터베이스 복제 # 단일 인스턴스 데이터베이스 복제는 설정이 더 쉬우면서도 클러스터형 대안과 동일한 Geo 기능을 제공합니다. 단일 머신에서 실행하는 설정이나 향후 클러스터형 설치를 위해 Geo를 평가하려는 경우에 유용합니다. 단일 인스턴스는 Patroni를 사용해 클러스터형 버전으로 확장할 수 있으며, 이는 고가용성 아키텍처에 권장되는 방식입니다. 아래 지침에 따라 단일 인스턴스 데이터베이스로 PostgreSQL 복제를 설정합니다. 또는 Patroni 클러스터로 복제를