InfoGrab Docs

저장소 스토리지

GitLab이 저장소 데이터를 저장하는 방법.

GitLab은 저장소 를 저장소 스토리지에 저장합니다. 저장소 스토리지는 다음 중 하나입니다: Gitaly 노드 를 가리키는 gitaly_address 로 구성된 물리적 스토리지. Gitaly 클러스터(Praefect)에 저장소를 저장하는 가상 스토리지 . Warning 저장소 스토리지는 저장소가 저장되는 디렉토리를 직접 가리키는 path 로 구성될 수 있습니다. GitLab이 저장소를 포함하는 디렉토리에 직접 접근하는 것은 더 이상 사용되지 않습니다. 물리적 또는 가상 스토리지를 통해 저장소에 접근하도록 GitLab을 구성해야 합니다. 다음에 대한 자세한 내용은: Gitaly 구성은 Gitaly 구성 을 참조하세요. Gitaly 클러스터(Praefect) 구성은 Gitaly 클러스터(Praefect) 구성 을 참조하세요. 해시 스토리지 # 해시 스토리지는 프로젝트 ID의 해시를 기반으로 하는 위치의 디스크에 프로젝트를 저장합니다. 이렇게 하면 폴더 구조가 변경 불가능해지고 URL에서 디스크 구조로 상태를 동기화할 필요가 없습니다. 즉, 그룹, 사용자 또는 프로젝트의 이름을 변경하면: 데이터베이스 트랜잭션만 비용이 발생합니다. 즉시 적용됩니다. 해시는 또한 디스크에 저장소를 더 고르게 분산시키는 데 도움이 됩니다. 최상위 디렉토리에는 최상위 네임스페이스의 총 수보다 적은 폴더가 포함됩니다. 해시 형식은 SHA256(project.id) 로 계산된 SHA256의 16진수 표현을 기반으로 합니다. 최상위 폴더는 처음 두 문자를 사용하고, 다음 두 문자로 다른 폴더가 이어집니다. 기존 레거시 스토리지 프로젝트와 공존할 수 있도록 특별한 @hashed 폴더에 저장됩니다. 예를 들어: # Project's repository: "@hashed/ #{hash[ 0 .. 1 ]} / #{hash[ 2 .. 3 ]} / #{hash} .git" # Wiki's repository: "@hashed/ #{hash[ 0 .. 1 ]} / #{hash[ 2 .. 3 ]} / #{hash} .wiki.git" 해시 스토리지 경로 변환 # Git 저장소 문제 해결, 훅 추가, 기타 작업에는 사람이 읽을 수 있는 프로젝트 이름과 해시 스토리지 경로 사이를 변환해야 합니다. 다음을 변환할 수 있습니다: 프로젝트 이름에서 해시 경로로 . 해시 경로에서 프로젝트 이름으로 . 프로젝트 이름에서 해시 경로로 # 히스토리 상대 경로 필드가 GitLab 16.3에서 Gitaly 상대 경로 에서 이름이 변경 되었습니다. 관리자는 다음을 사용하여 프로젝트 이름 또는 ID에서 해시 경로를 조회할 수 있습니다: Admin 영역 . Rails 콘솔. Admin 영역에서 프로젝트의 해시 경로를 조회하려면: 오른쪽 상단 모서리에서 Admin 을 선택합니다. 개요 > 프로젝트 를 선택하고 프로젝트를 선택합니다. 상대 경로 필드를 찾습니다. 값은 다음과 유사합니다: "@hashed/b1/7e/b17ef6d19c7a5b1ee83b907c595526dcb1eb06db8227d650d5dda0a