빠른 Immich 복구는 표면적인 CPU 속도보다 완전한 상태, 호환되는 서비스, 읽을 수 있는 백업, 그리고 반복 훈련된 복원 절차에 더 크게 좌우됩니다.
서버가 빠르게 부팅되더라도 데이터베이스가 없거나 미디어 경로가 다르거나 파생 파일을 다시 생성해야 하면 사용할 수 없는 상태로 남을 수 있습니다. 복구 시간은 컨테이너가 처음 정상 상태를 보고하는 시점이 아니라, 대표적인 가정용 워크플로가 다시 작동하는 시점까지로 계산해야 합니다.
복구는 올바른 영구 상태에서 시작됩니다
Immich의 영구 데이터에는 원본 미디어와 사용자, 자산, 앨범, 관계, 처리 상태를 설명하는 데이터베이스 레코드가 포함됩니다. 파일만 복원하면 사진은 보존할 수 있지만 동일한 애플리케이션 라이브러리를 재구성할 수 없습니다. 데이터베이스만 복원하면 경로가 해당 미디어에 더 이상 연결되지 않는 레코드가 만들어질 수 있습니다.
ZimaSpace의 Immich 백업 가이드는 종합적인 백업에 업로드된 사진과 동영상뿐 아니라 Immich 데이터베이스도 필요하다고 설명합니다. 이 두 요소의 조합은 복구 시간 계획의 기반입니다. 필요한 요소 중 하나라도 빠지면 이후의 하드웨어 및 자동화 개선은 아무런 의미가 없기 때문입니다.
모든 영구 저장 위치를 나열하고 각각을 복원 대상 위치에 매핑하세요. 외부에서 관리되는 원본, 프로필 데이터, 시크릿, 마운트와 식별자를 재현하는 데 필요한 구성도 포함하세요. 파생 파일은 별도로 표시하세요. 다시 생성할 수 있지만, 이를 백업에서 제외하면 백업 용량이 줄어드는 대신 복원 후 처리 시간이 길어질 수 있습니다.
소프트웨어 호환성이 상태를 시작할 수 있는지 결정합니다
백업은 특정 애플리케이션, 데이터베이스 엔진, 확장 기능, 컨테이너 구성, 경로 레이아웃에 의해 해석됩니다. 호환되지 않는 스택에 데이터를 복원하면 하드웨어 속도가 영향을 미치기도 전에 실패할 수 있습니다. 따라서 복구 키트에는 compose 정의, 고정된 버전 또는 문서화된 업그레이드 경로, 시크릿, 저장소 매핑이 필요합니다.
한 커뮤니티 보고서는 주요 버전 변경 후 손상된 Immich 배포의 원인을 데이터베이스 벡터 확장 기능 불일치로 설명합니다. 하나의 보고서가 모든 업그레이드를 대표하지는 않지만, 이는 “최신 컨테이너와 기존 데이터”만으로는 완전한 복구 절차가 될 수 없는 이유를 보여 줍니다.
마지막으로 정상 작동했던 소프트웨어 구성 목록과 목표 복구 구성 목록을 보존하세요. 격리된 테스트 환경에서는 먼저 호환되는 버전으로 복원하고 라이브러리를 확인한 다음 필요한 마이그레이션을 수행하세요. 재해 복구와 검증되지 않은 업그레이드를 결합하면 실패 원인을 파악하기 어려워지고 핵심 경로가 길어집니다.
읽기 처리량과 소규모 I/O 지연 시간이 복원 시간을 결정합니다
복구 과정에서는 데이터를 이동하고 검증하며, 데이터베이스 레코드를 복원하고, 파생 파일을 다시 생성할 수 있습니다. 대용량 원본은 순차 처리량의 영향을 크게 받는 반면, 데이터베이스 복원과 수백만 개의 작은 파일은 지연 시간과 메타데이터 작업에 민감할 수 있습니다. 원격 백업을 사용하면 네트워크 대역폭, 재전송, 인증 과정도 핵심 경로에 추가됩니다.
실전 Immich 백업 글에서는 데이터베이스 덤프와 미디어 디렉터리를 분리하고 외부 복사 대상을 사용합니다. 이러한 구조는 서로 다른 두 가지 복원 작업을 드러냅니다. 따라서 대용량 파일 복사만 측정하면 데이터베이스 재생과 작은 파일 복원이 완료되는 속도를 과대평가할 수 있습니다.
가져오기, 체크섬, 데이터베이스 복원, 미디어 배치, 시작, 파생 파일 재생성의 각 단계를 독립적으로 측정하세요. 가장 느린 단계에서 CPU, 장치 지연 시간, 네트워크 처리량을 확인하세요. 더 빠른 프로세서가 모든 복구 단계를 가속한다고 가정하지 말고, 측정된 핵심 단계의 시간을 줄이는 자원을 업그레이드하세요.
시간을 측정하는 복원 훈련이 구성 요소를 실제 복구로 전환합니다
빈 저장 공간이 있고 운영 환경의 쓰기 경로에 접근할 수 없는 격리된 대상을 만드세요. 백업을 가져오기 전에 시간을 측정하기 시작하세요. 문서화된 의존성 순서에 따라 데이터베이스와 필요한 파일을 복원한 다음, 일반 클라이언트에서 로그인, 타임라인 표시, 원본 다운로드, 앨범 소속, 알려진 검색이 정상적으로 작동하는지 확인하세요.
상세한 독립 Immich 백업 가이드는 반드시 필요한 원본 및 데이터베이스 백업과 다시 생성할 수 있는 썸네일 및 인코딩된 동영상을 구분합니다. 이 구분을 통해 훈련에서는 두 가지 목표를 측정할 수 있습니다. 먼저 대체할 수 없는 콘텐츠와 관계를 보호하는 데 걸리는 시간을 측정하고, 그다음 편의 기능과 파생 파일이 완전히 준비될 때까지 추가로 걸리는 시간을 측정합니다.
미리 정한 워크플로가 통과될 때까지 훈련을 종료하지 말고, 전체 시간과 모든 수동 결정을 기록하세요. 빠른 복사 후 경로를 수리하는 데 몇 시간이 걸린다면 그것은 느린 복구입니다. 버전, 저장소 레이아웃, 인증 또는 백업 도구를 변경한 후에는 다시 반복하세요. 각각의 변경이 이전 결과를 무효화할 수 있기 때문입니다.
기술 및 AI 허브
더 읽어보기

Immich 상태란 무엇이며, 어떤 부분을 영구 보존해야 하나요?
Immich 상태에는 원본, 데이터베이스 관계, ID, 구성 및 파생 데이터가 포함되므로, 각각 재구성 가능한지에 따라 영속화해야 합니다.

Immich는 로컬 및 원격 세션에서 인증을 어떻게 처리하나요?
Immich는 클라이언트 세션과 함께 서버 측 ID를 사용하므로, 프록시 헤더, 오리진, OIDC 리디렉션에 따라 로컬 환경과 원격 환경의 동작이 달라질 수 있습니다.

데이터가 늘어날수록 Immich 검색 또는 쿼리 결과가 느려지는 원인은 무엇인가요?
Immich의 성장은 인덱스를 키우고, 자주 사용되는 페이지를 내보내며, 필터를 복잡하게 만들고, 미디어 전달을 지연시킬 수 있으므로 튜닝하기 전에 이러한 단계를 분리하세요.

