마운트된 공유 폴더에서 미디어 라이브러리 스캔 시 영화가 누락되는 이유는 무엇인가요?

에바 왕기술 작가 그리고 이자 ZimaSpace의 상주 장인입니다. 평생을 기술에 열정을 가진 사람으로서 홈랩과 오픈소스 소프트웨어에 열정을 가지고 있으며,복잡한 기술 개념을 쉽게 이해할 수 있는 실습 가이드로 번역하는 데 전문성을 가지고 있습니다.에바는 셀프 호스팅이 어렵지 않고 재미있어야 한다고 믿습니다. 그녀의 튜토리얼을 통해 커뮤니티가 하드웨어 설정의 신비를 풀도록돕고 있습니다. 첫 NAS 구축부터 Docker 컨테이너 마스터링까지.

서버가 마운트된 경로를 탐색하지 못하거나, 다른 경로를 인식하거나, 식별 과정에서 파일을 거부하면 미디어 스캔에서 영화가 누락됩니다.

홈 NAS에서 “공유 폴더가 마운트되어 있다”는 말은 호스트 셸에서 디렉터리가 보인다는 의미에 불과할 수 있습니다. 미디어 서버 프로세스가 Docker 내부에서 실행되거나, 다른 바인드 경로를 사용하거나, 다른 UID로 실행되거나, 원격 공유 연결이 끊긴 뒤 남은 비어 있는 로컬 마운트 지점을 스캔하고 있을 수 있습니다. 경로, 권한, 이름 지정 또는 파서 문제를 해결하지 못하는 전체 스캔을 반복해서 실행하기보다, 저장소부터 애플리케이션까지 누락된 영화 하나를 기준으로 진단하세요.

지금 마운트된 공유 폴더에 영화가 실제로 있는지 확인하기

호스트에서 라이브러리의 정확한 소스 경로를 확인하고, 누락된 영화 하나를 전체 파일명으로 나열하세요. 마운트 지점 디렉터리가 단순히 존재한다는 사실을 믿지 말고 파일 시스템 유형, 마운트 소스, 마운트 옵션, 여유 공간 및 확인된 파일 개수를 점검하세요.

연결이 끊긴 네트워크 공유는 동일한 마운트 지점에 일반적인 빈 디렉터리를 남길 수 있으며, 이 경우 미디어를 찾지 못한 채 스캔이 완료될 수 있습니다. Jellyfin 보고서에는 대상이 0개 항목으로 확인되었음에도 성공한 것처럼 보인 스캔이 설명되어 있습니다.

누락된 파일의 일부를 읽어 보고 상위 디렉터리를 나열하세요. 공유 폴더가 사라졌다면 스캔하기 전에 마운트를 복구하고, 원격 파일 시스템을 사용할 수 있게 된 후에만 미디어 서비스가 시작되도록 구성하세요. 비어 있는 로컬 마운트 지점을 두 번째 라이브러리 경로로 추가하지 마세요.

미디어 서버 컨테이너 내부에서 경로 확인하기

실행 중인 컨테이너에 접속하여 라이브러리에 구성된 정확한 경로를 확인하세요. 호스트에서는 /mnt/media/movies를 사용하더라도 컨테이너에서는 /media/movies로 보일 수 있습니다. 애플리케이션에는 컨테이너 내부 경로만 입력해야 합니다.

실행 중인 컨테이너가 더 이상 현재 호스트 경로를 보지 못하거나 오래된 마운트 내용을 사용하면 기존 항목은 계속 재생되더라도 새 미디어가 보이지 않을 수 있습니다. 한 Jellyfin 사례에서는 반복해서 스캔한 후에도 새 미디어가 나타나지 않았습니다.

컨테이너의 마운트 정의를 런타임에 표시되는 실제 마운트와 비교하세요. 바인드 소스가 상위 디렉터리나 오래된 경로가 아니라 실제로 마운트된 공유 폴더인지 확인하세요. 영구 구성과 데이터베이스 마운트가 변경되지 않았음을 확인한 후에만 컨테이너를 다시 생성하세요.

실제 서비스 사용자로 디렉터리 탐색 테스트하기

미디어 서버의 UID와 GID를 사용하여 라이브러리 루트부터 영화 파일까지 모든 디렉터리를 나열하세요. 파일을 읽을 수 있는 것만으로는 충분하지 않습니다. 프로세스가 경로를 탐색하려면 각 상위 디렉터리에 대한 실행 권한도 필요합니다.

Jellyfin 라이브러리 표시 문제 사례에서는 읽기 권한과 디렉터리 실행 권한의 부재가 항목이 나타나지 않는 직접적인 원인으로 확인되었습니다. 중요한 기준은 관리자가 공유 폴더를 탐색할 수 있는지가 아니라 디렉터리 탐색 권한입니다.

서비스에 미디어 읽기 전용 액세스 권한을 부여하는 데 필요한 최소한의 소유권, 그룹 또는 ACL 규칙만 수정하세요. 공유 폴더가 SMB에서는 작동하지만 컨테이너 내부에서는 작동하지 않을 때는 ZimaSpace의 파일을 이동한 후 권한 가이드에서 관련 절차를 확인할 수 있습니다.

누락된 영화 하나와 감지된 영화 하나 비교하기

동일한 마운트 공유 폴더 아래에서 라이브러리가 감지하는 영화 폴더 하나와 감지하지 못하는 영화 폴더 하나를 선택하세요. 파일명, 확장자, 폴더 깊이, 대소문자, 특수 문자, 파일 크기, 심볼릭 링크 사용 여부, 권한, 타임스탬프 및 파일이 완전한지 여부를 비교하세요.

일부 스캐너 오류는 공유 폴더 전체가 아니라 특정 항목에서만 발생합니다. 한 Jellyfin 사례에서는 감지되지 않던 영화를 다른 폴더로 이동한 후에만 영화가 나타났습니다. 이는 전체 재스캔을 다시 실행하는 것보다 감지된 항목과 누락된 항목을 통제된 방식으로 비교하는 것이 더 유용한 이유를 보여 줍니다.

복사한 테스트 항목 하나만 Movies/Movie Name (Year)/Movie Name (Year).mkv와 같이 단순한 구조로 이름을 변경하거나 이동하세요. 복사본이 나타난다면 전체 라이브러리를 변경하기 전에 원래 폴더의 이름 지정, 숨김 표시, 권한 또는 파일 시스템 동작을 점검하세요.

처음 누락된 경로에서 스캐너 로그 읽기

대상 디렉터리에 스캐너가 들어가는 순간부터 로그를 추적하며 집중 스캔을 시작하세요. 액세스 거부, 디렉터리를 찾을 수 없음, I/O 오류, 지원되지 않는 파일, 프로브 실패, 데이터베이스 제약 조건, 메타데이터 제공자 오류 및 스캔 취소 메시지를 검색하세요.

경로 수준의 예외가 발생하면 전체 스캔이 중단되거나 일부 작업을 건너뛸 수 있으며, 사용자 인터페이스에는 불완전한 라이브러리만 표시될 수 있습니다. Jellyfin에는 누락된 디렉터리 예외의 영향을 받은 스캔이 보고되어 있으므로, 최종 진행률 표시보다 처음 발생한 오류가 더 중요합니다.

반복해서 재현되는 가장 이른 오류를 해결한 다음 가능한 한 작은 범위로 다시 스캔하세요. 경로 가시성과 권한이 확인되기 전에는 라이브러리 데이터베이스, 메타데이터 또는 캐시를 삭제하지 마세요. 파괴적인 초기화는 마운트된 공유 폴더를 복구하지 못한 채 진단에 필요한 증거만 제거할 수 있습니다.

통제된 가져오기와 재부팅으로 수정 사항 확인하기

동일한 공유 폴더에 깔끔한 이름의 테스트 영화 하나를 추가하고, 문제가 발생한 라이브러리를 스캔한 뒤 올바른 경로와 메타데이터로 한 번만 나타나는지 확인하세요. 그런 다음 컨테이너를 다시 시작하고 호스트를 재부팅하세요.

재부팅 후 원격 공유 폴더가 미디어 서비스보다 먼저 마운트되는지, 컨테이너가 파일이 채워진 경로를 보는지, 서비스 사용자가 해당 경로를 탐색할 수 있는지, 수동으로 권한을 변경하지 않아도 스캐너가 새 테스트 파일을 감지하는지 확인하세요.

실제 누락된 영화가 의도한 마운트 위치에서 나타나고, 비어 있는 대체 디렉터리가 스캔되지 않으며, 마운트 재연결, 컨테이너 재생성 및 호스트 재시작 후에도 결과가 유지될 때만 복구가 완료된 것입니다. 원래 라이브러리 경로가 안정적인지 확인한 후 테스트 복사본을 삭제하세요.

지원 및 팁

더 읽어보기

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.