InfoGrab DocsInfoGrab Docs

Gitaly 클러스터(Praefect) 문제 해결

Gitaly 클러스터(Praefect) 문제 해결에 대해 설명합니다.

Gitaly 클러스터(Praefect) 문제를 해결할 때 아래 정보를 참고합니다. Gitaly 문제 해결에 대한 정보는 Gitaly 문제 해결 을 참고합니다. 사전 요구 사항 # 관리자 액세스 권한이 있어야 합니다. 클러스터 상태 확인 # check Praefect 하위 명령은 Gitaly 클러스터(Praefect)의 상태를 확인하는 일련의 검사를 실행합니다. gitlab-ctl praefect check Praefect 차트로 Praefect를 배포한 경우에는 바이너리를 직접 실행합니다. /usr/local/bin/praefect check 다음 섹션에서는 실행되는 검사를 설명합니다. Praefect 마이그레이션 # Praefect 마이그레이션이 최신 상태인지 확인합니다. Praefect가 올바르게 동작하려면 데이터베이스 마이그레이션이 최신 상태여야 합니다. 이 검사가 실패하면 다음을 수행합니다. 데이터베이스의 schema_migrations 테이블에서 어떤 마이그레이션이 실행됐는지 확인합니다. praefect sql-migrate 를 실행해 마이그레이션을 최신 상태로 만듭니다. 노드 연결 및 디스크 액세스 # Praefect가 모든 Gitaly 노드에 연결할 수 있는지, 각 Gitaly 노드가 모든 스토리지에 읽기·쓰기 권한이 있는지 확인합니다. 이 검사가 실패하면 다음을 수행합니다. 네트워크 주소와 토큰이 올바르게 설정돼 있는지 확인합니다. Praefect 구성에서 확인합니다. 각 Gitaly 노드의 구성에서 확인합니다. Gitaly 노드에서 gitaly 프로세스가 git 사용자로 실행되는지 확인합니다. 권한 문제로 Gitaly가 스토리지 디렉터리에 액세스하지 못할 수 있습니다. Praefect와 Gitaly 노드를 연결하는 네트워크에 문제가 없는지 확인합니다. 데이터베이스 읽기 및 쓰기 액세스 # Praefect가 데이터베이스를 읽고 쓸 수 있는지 확인합니다. 이 검사가 실패하면 다음을 수행합니다. Praefect 데이터베이스가 복구 모드인지 확인합니다. 복구 모드에서는 테이블이 읽기 전용일 수 있습니다. 확인하려면 다음을 실행합니다. select pg_is_in_recovery() Praefect가 PostgreSQL에 연결할 때 사용하는 사용자에게 데이터베이스 읽기·쓰기 권한이 있는지 확인합니다. 데이터베이스가 읽기 전용 모드로 설정됐는지 확인합니다. 확인하려면 다음을 실행합니다. show default_transaction_read_only 액세스할 수 없는 리포지터리 # 프라이머리 할당이 없거나 프라이머리를 사용할 수 없어 액세스할 수 없는 리포지터리 수를 확인합니다. 이 검사가 실패하면 다음을 수행합니다. 다운된 Gitaly 노드가 있는지 확인합니다. praefect ping-nodes 를 실행해 확인합니다. Praefect 데이터베이스의 부하가 높은지 확인합니다. Praefect 데이터베이스의 응답이 느리면 상태 검사 결과가 데이터베이스에 기록되지 못해, Praefect가 노드를 비정상으로 판단합니다. 오류: autho