InfoGrab Docs

GitLab에서 NFS 사용

GitLab에서 NFS를 설정하고 사용하는 방법을 설명합니다.

NFS는 오브젝트 스토리지의 대안으로 사용할 수 있지만 성능상의 이유로 일반적으로 권장되지 않습니다. LFS, 업로드, 아티팩트와 같은 데이터 오브젝트의 경우 더 나은 성능을 위해 NFS보다 오브젝트 스토리지 서비스 가 권장됩니다. NFS 사용을 제거할 때는 오브젝트 스토리지로 이전하는 것 외에도 추가 단계 가 필요합니다. NFS는 저장소 스토리지에 사용할 수 없습니다. 파일 시스템 성능을 테스트하는 데 사용할 수 있는 단계는 파일 시스템 성능 벤치마킹 을 참조하세요. 인증된 SSH 키의 빠른 조회 # 빠른 SSH 키 조회 기능은 블록 스토리지를 사용하는 경우에도 GitLab 인스턴스의 성능을 향상시킬 수 있습니다. 빠른 SSH 키 조회 는 GitLab 데이터베이스를 사용하여 authorized_keys (in /var/opt/gitlab/.ssh )를 대체합니다. NFS는 대기 시간을 증가시키므로 /var/opt/gitlab 이 NFS로 이동하는 경우 빠른 조회가 권장됩니다. 빠른 조회를 기본값으로 사용하는 것에 대해 조사 중입니다. NFS 서버 # nfs-kernel-server 패키지를 설치하면 GitLab 애플리케이션을 실행하는 클라이언트와 디렉토리를 공유할 수 있습니다: sudo apt-get update sudo apt-get install nfs-kernel-server 필수 기능 # 파일 잠금 : GitLab은 NFS 버전 4에서만 기본적으로 지원되는 권고 파일 잠금이 필요합니다 . NFSv3은 Linux 커널 2.6.5 이상을 사용하는 경우에도 잠금을 지원합니다. 버전 4를 사용하고 NFSv3을 특별히 테스트하지 않는 것을 권장합니다. 권장 옵션 # NFS 내보내기를 정의할 때 다음 옵션도 추가하는 것을 권장합니다: no_root_squash - NFS는 일반적으로 root 사용자를 nobody 로 변경합니다. 이는 NFS 공유가 많은 다른 사용자에 의해 액세스될 때 좋은 보안 조치입니다. 그러나 이 경우 GitLab만 NFS 공유를 사용하므로 안전합니다. GitLab은 파일 권한을 자동으로 관리해야 하기 때문에 no_root_squash 설정을 권장합니다. 이 설정이 없으면 Linux 패키지가 권한을 변경하려고 할 때 오류가 발생할 수 있습니다. GitLab과 기타 번들 구성 요소는 root 가 아닌 비권한 사용자로 실행됩니다. no_root_squash 권장 사항은 Linux 패키지가 필요에 따라 파일의 소유권과 권한을 설정할 수 있도록 하기 위한 것입니다. no_root_squash 옵션을 사용할 수 없는 경우 root 플래그가 동일한 결과를 달성할 수 있습니다. sync - 동기 동작을 강제합니다. 기본값은 비동기이며 특정 상황에서 데이터가 동기화되기 전에 오류가 발생하면 데이터 손실이 발생할 수 있습니다. LDAP를 사용하는 Linux 패키지 실행의 복잡성과 LDAP 없이 ID 매핑을 유지 관리하는 복잡성 때문에 대부분의 경우 시스템 간 권한 관리를 단순화하기 위해 숫자 UID와 GID를 활성화해야 합니다(일부