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가 노드가 비정상적이라고 생각하게 됩니다. 로그에서 Praefect 오류 # 오류가 발생
