일반 Geo 오류 문제 해결
Geo 문제를 진단하고 해결하는 방법으로, 상태 점검, 데이터베이스 복제 문제, 사이트 연결 및 오류 해결 절차를 다룹니다.
기본 문제 해결 # 고급 문제 해결을 시도하기 전에: Geo 사이트의 상태 점검 . PostgreSQL 복제가 작동 중인지 확인 . Geo 사이트 간 요청 추적 # Geo 문제를 해결할 때 보조 사이트에서 기본 사이트로, 또는 그 반대로 요청을 추적해야 할 수 있습니다. GitLab은 서비스 전반의 관련 로그 항목을 연결하기 위해 상관 ID를 사용합니다. 기본적으로 각 사이트는 요청을 받을 때 자체 상관 ID를 생성합니다. 동일한 상관 ID를 사용하여 두 사이트 간의 단일 요청을 추적하려면 각 수신 사이트의 Workhorse가 다른 Geo 사이트의 들어오는 상관 ID를 수락하도록 구성해야 합니다. 모든 Geo 사이트에서: Linux package (Omnibus) Helm chart (Kubernetes) /etc/gitlab/gitlab.rb 를 편집합니다: gitlab_workhorse[ 'propagate_correlation_id' ] = true gitlab_workhorse[ 'trusted_cidrs_for_propagation' ] = %w(<secondary-site-ip>/32) 파일을 저장하고 GitLab을 재구성합니다: sudo gitlab-ctl reconfigure Helm 값을 업데이트합니다: gitlab: webservice: workhorse: extraArgs: "-propagateCorrelationID" trustedCIDRsForPropagation: [ "<secondary-site-ip>/32" ] 변경 사항을 적용합니다. 이 설정을 활성화하면 보조 사이트에서 기본 사이트로 전송된 요청이 로그에서 동일한 상관 ID를 공유하므로 두 사이트 간의 요청을 추적할 수 있습니다. Geo 사이트 상태 점검 # 기본 사이트에서: 오른쪽 상단 모서리에서 Admin 을 선택합니다. Geo > Sites 를 선택합니다. 각 보조 사이트에서 다음 상태 점검을 수행하여 문제가 있는지 식별하는 데 도움을 줍니다: 사이트가 실행 중입니까? 보조 사이트의 데이터베이스가 스트리밍 복제로 구성되어 있습니까? 보조 사이트의 추적 데이터베이스가 구성되어 있습니까? 보조 사이트의 추적 데이터베이스가 연결되어 있습니까? 보조 사이트의 추적 데이터베이스가 최신 상태입니까? 보조 사이트의 상태가 1시간 미만입니까? 사이트 상태가 1시간 이상 된 경우 사이트가 "Unhealthy"로 표시됩니다. 이 경우 영향을 받는 보조 사이트의 Rails 콘솔 에서 다음을 실행해 보세요: Geo::MetricsUpdateWorker .new.perform 오류가 발생하면 해당 오류가 작업 완료를 방해하고 있을 수도 있습니다. 1시간 이상 걸리면 상태가 간헐적으로 또는 지속적으로 "Unhealthy"로 표시될 수 있으며, 상태가 가끔 업데이트되더라도 마찬가지입니다. 이는 사용량 증가, 시간이 지남에 따른 데이터 증가 또는 누락된 데이터베이스 인덱스와 같은 성능 버그로 인해 발생할 수 있습니다. top 또는 htop 과 같은 유틸리티로 시
