Geo 비활성화

Tier: Premium, Ultimate Offering: Self-Managed

테스트 후 일반적인 리눅스 패키지 설치 설정으로 되돌리거나 재해 복구 상황에 마주했을 때 Geo를 일시적으로 비활성화하려면 이 지침을 사용할 수 있습니다.

Geo를 비활성화하면 보조 Geo 사이트를 제거하면서 활성 Geo 설정이 있을 때와 비활성 Geo 사이트가 없을 때의 기능적인 차이가 없어야 합니다.

Geo를 비활성화하려면 다음 단계를 따르세요:

  1. 모든 보조 Geo 사이트 제거.
  2. UI에서 주 사이트 제거.
  3. 보조 복제 슬롯 제거.
  4. Geo 관련 구성 제거.
  5. 선택 사항. PostgreSQL 설정을 암호 사용 및 IP에서 수신하도록 되돌리기.

모든 보조 Geo 사이트 제거

Geo를 비활성화하려면 먼저 모든 보조 Geo 사이트를 제거해야 하며, 이는 이러한 사이트에서 더 이상 복제가 수행되지 않음을 의미합니다. 보조 Geo 사이트 제거 문서를 참고할 수 있습니다.

사용 중인 현재 사이트가 보조 사이트인 경우 먼저 기본 사이트로 승격해야 합니다. 보조 사이트 승격하는 방법을 참고하세요.

UI에서 주 사이트 제거

사이트를 제거하려면:

  1. 모든 보조 Geo 사이트 제거
  2. 왼쪽 사이드바에서 하단에 있는 관리자 영역을 선택합니다.
  3. Geo > 노드를 선택합니다.
  4. 노드에 대해 제거를 선택합니다.
  5. 프롬프트가 나타나면 제거를 선택하여 확인합니다.

보조 복제 슬롯 제거

보조 복제 슬롯을 제거하려면 주 Geo 노드에서 PostgreSQL 콘솔(sudo gitlab-psql)에서 다음 쿼리 중 하나를 실행하세요:

  • 이미 PostgreSQL 클러스터가 있는 경우 동일한 클러스터에서 보조 데이터베이스가 제거되지 않도록 각 복제 슬롯을 이름별로 제거하세요. 다음을 사용하여 모든 이름을 얻고 각 별도의 슬롯을 제거할 수 있습니다:

    SELECT slot_name, slot_type, active FROM pg_replication_slots; -- 현재 복제 슬롯 보기
    SELECT pg_drop_replication_slot('slot_name'); -- slot_name은 위에서 예상한 슬롯명
    
  • 모든 보조 복제 슬롯 제거:

    SELECT pg_drop_replication_slot(slot_name) FROM pg_replication_slots;
    

Geo 관련 구성 제거

  1. 주 Geo 사이트의 각 노드에 대해 루트로 SSH로 로그인합니다:

    sudo -i
    
  2. /etc/gitlab/gitlab.rb를 편집하고 geo_primary_role을 활성화하는 모든 라인을 제거합니다:

    ## 이전 11.5 버전 미리 보기 문서에서 이 역할은 다음과 같이 활성화되었습니다. 이 라인을 제거하세요.
    geo_primary_role['enable'] = true
       
    ## 11.5 이상의 문서에서 역할은 다음과 같이 활성화되었습니다. 이 라인을 제거하세요.
    roles ['geo_primary_role']
    
  3. 이러한 변경을 수행한 후 GitLab을 다시 구성하여 변경 내용이 적용되도록 하세요.

(선택 사항) PostgreSQL 설정을 암호 사용 및 IP에서 수신하도록 되돌리기

만약 PostgreSQL과 관련된 설정을 제거하고 기본값(소켓 사용)으로 되돌리려면 /etc/gitlab/gitlab.rb 파일에서 다음 라인을 안전하게 제거할 수 있습니다:

postgresql['sql_user_password'] = '...'
gitlab_rails['db_password'] = '...'
postgresql['listen_address'] = '...'
postgresql['md5_auth_cidr_addresses'] =  ['...', '...']