새 홈 서버를 위한 안전한 Immich 마이그레이션 체크리스트

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

안전한 Immich 마이그레이션은 무엇을 반드시 보존해야 하는지 확인하는 것에서 시작합니다. 복사하기 전에 사진 파일, 데이터베이스, 그리고 새 호스트에서 이 둘을 다시 연결하는 배포 설정을 확인해야 합니다.

홈 서버에서는 이러한 요소를 서로 다른 시점에 옮기거나, 잘못된 경로로 대상 서버를 시작할 때 마이그레이션 위험이 발생하는 경우가 많습니다. 기존 서버를 롤백용 복사본으로 유지하고, 피할 수 있는 쓰기 작업을 일시 중지하며, 현재 버전과 스토리지 매핑을 기록한 다음, 검증된 데이터 세트를 새 장비로 옮기세요. 아래 체크리스트는 새 인스턴스에서 로그인하고, 기존 라이브러리를 찾고, 작업을 처리하며, 빈 상태로 되돌아가지 않고 재부팅을 완료할 수 있을 때까지 작업을 되돌릴 수 있도록 구성되어 있습니다.

소스 서버를 동결하고 정상 상태를 기록하세요

새 서버가 아니라 현재 정상적으로 작동하는 서버에서 시작하세요. Immich 버전, Compose 또는 앱 스토어 정의, 데이터베이스와 스토리지 경로를 제어하는 환경 변수, 사진 라이브러리 위치, 데이터베이스 위치, 외부 라이브러리 마운트를 기록하세요. 현재 서버 URL과 검증에 사용할 사용자 계정도 적어 두세요.

이 목록의 목적은 마이그레이션이 업그레이드, 경로 재설계, 네트워크 변경을 동시에 진행하는 작업으로 조용히 변질되는 것을 막는 데 있습니다. 복원이 검증될 때까지 애플리케이션 버전과 논리적 스토리지 레이아웃을 최대한 안정적으로 유지하세요. 버전 변경은 대상 서버가 정상임을 확인한 후 처리할 수 있습니다.

복사하기 전에 가정에서 감당할 수 있다면 새 업로드를 중지하거나 일시 중지하세요. 이것이 현실적으로 어렵다면 전환 시간을 정하고 마지막으로 짧은 동기화를 수행할 계획을 세우세요. 이 단계의 완료 조건은 원본 파일이 어디에 있고, 데이터베이스 상태가 어디에 있으며, 동일한 관계를 재현하는 설정이 무엇인지 답할 수 있는 서면 소스 맵입니다.

데이터베이스, 에셋, 설정을 하나의 마이그레이션 세트로 확보하세요

데이터베이스와 미디어 파일을 서로 독립적인 두 개의 백업이 아니라 하나의 복구 세트로 취급하세요. 현재 Immich 데이터베이스 백업에는 메타데이터와 파일 참조가 포함되지만 사진이나 동영상 자체는 포함되지 않습니다. 따라서 데이터베이스 백업은 UPLOAD_LOCATION의 일치하는 콘텐츠 및 별도로 관리하는 외부 라이브러리 데이터와 함께 이동해야 합니다.

사용 가능한 마이그레이션 세트에는 에셋, PostgreSQL 상태, 그리고 이를 다시 연결하는 설정이 필요합니다. 완전한 Immich 백업 세트에는 업로드된 에셋, 지원되는 데이터베이스 백업, 배포 설정이 포함되며, 복원 테스트를 통해 세트가 작동하는지 확인합니다. 대상 서버를 하나의 복구 시점에 맞출 수 있도록 이러한 요소를 함께 보관하세요.

대상 서버를 건드리기 전에 마이그레이션 세트를 검증하세요. 데이터베이스 덤프가 비어 있지 않은지 확인하고, 복사한 라이브러리에서 원본 파일을 여러 개 표본으로 선택해 확인하며, Compose 파일과 환경 변수 파일을 같은 마이그레이션 폴더나 문서 세트에 보관하세요. 어떤 구성 요소라도 검증할 수 없다면 여기서 중단하고 새로 복사하세요. 새 서버에서 임시로 보완하려 하지 마세요.

서로 충돌하는 상태를 만들지 않고 새 호스트를 준비하세요

먼저 대상 디렉터리와 마운트를 만들고, 새 호스트가 사용하려는 정확한 경로에서 의도한 디스크나 네트워크 공유를 인식하는지 확인하세요. NAS 마운트가 누락되면 그 자리에 일반적인 빈 디렉터리가 생성될 수 있으며, 컨테이너가 이 대체 경로를 기준으로 아무 문제 없이 초기화될 수 있습니다.

런타임을 설치하고 배포 정의를 재현하되, 기존 상태를 복원하기 전에 빈 Immich 인스턴스에 업로드나 설정이 쌓이지 않도록 하세요. 마이그레이션 계획에 통제된 경로 변경이 명시되어 있지 않다면 자격 증명, 데이터베이스 이름, 스토리지 변수, 외부 라이브러리 마운트 대상 경로를 원본과 일치시키세요.

새 서버에 다른 호스트 측 경로가 필요한 경우 컨테이너에서 보이는 경로와 데이터베이스의 예상 사항이 일관성을 유지하도록 의도적으로 매핑하세요. 전체 애플리케이션을 시작하기 전에 유효한 마운트가 복사한 데이터 위치를 가리키고, 모든 경로 변환을 설명할 수 있을 때만 대상 서버가 준비된 것입니다.

상태를 복원하고 모든 스토리지 경로를 다시 연결하세요

백업을 생성한 Immich 버전에 적합한 복구 절차를 사용해 데이터베이스를 복원한 다음, 데이터베이스가 준비된 후에만 나머지 서비스를 시작하세요. 최신 설치에서 다른 복원 절차를 사용하는데도 오래된 가이드의 파괴적인 데이터베이스 명령을 임의로 실행하지 마세요.

전환 중에는 정상적인 사용을 재개하기 전에 데이터베이스와 스토리지의 관계를 유지하세요. 검증된 Immich 마이그레이션 절차도 같은 원칙을 따릅니다. 애플리케이션은 새 라이브러리를 초기화하고 처음부터 다시 구축하는 것이 아니라, 복원된 데이터베이스 상태와 의도한 미디어 경로를 기준으로 열려야 합니다.

시작한 후에는 무거운 백그라운드 작업을 실행하기 전에 스토리지 접근을 확인하세요. 서로 다른 날짜의 오래된 에셋을 여러 개 열고, 썸네일이 로드되는지 확인하며, 마이그레이션 전에 존재했던 앨범과 인물 또는 검색 결과를 하나씩 확인하세요. 외부 라이브러리를 사용한다면 읽을 수 있는지도 확인합니다. 새 온보딩 화면이나 빈 타임라인이 나타나면 작업 중단 신호입니다. 새 상태를 기록하기 전에 데이터베이스와 마운트 매핑을 다시 확인하세요.

기존 서버를 폐기하기 전에 원래 작업 부하를 검증하세요

첫 로그인에 성공했다고 마이그레이션이 끝난 것은 아닙니다. 일반 클라이언트에서 삭제해도 되는 테스트 사진을 하나 업로드하고, 예상한 호스트 스토리지에 표시되는지 확인한 다음 Immich에서 삭제하여 라이브러리가 정상적으로 유지되는지 확인하세요. 이는 기존 데이터를 읽을 수 있다는 것뿐 아니라 전체 쓰기 경로가 작동한다는 사실을 검증합니다.

새 홈 서버를 재부팅하고 가정에서 중요한 항목을 다시 확인하세요. 브라우저 로그인, 모바일 백업 연결, 오래된 사진 여러 장, 검색, 대표적인 동영상, 작업 큐, 일반 설정에 포함된 경우 원격 액세스 등을 점검합니다. 호스트가 재부팅된 후에도 동일한 상태가 유지되고 Immich가 시작되기 전에 스토리지 마운트가 연결될 때에만 마이그레이션이 완료된 것입니다.

기존 서버는 즉시 삭제하지 말고 롤백 기간 동안 전원을 끄되 변경하지 않은 상태로 유지하세요. 새 인스턴스가 예상치 못한 빈 폴더에 쓰기 시작하거나, 재부팅 후 기존 라이브러리를 재현하지 못하거나, 설명할 수 없는 데이터베이스 오류를 표시한다면 새 업로드를 중지하고 마이그레이션 세트를 대조하는 동안 정상 상태인 원본으로 돌아가세요. 대상 서버가 정상적인 사용과 새로운 백업 테스트를 통과한 후에만 기존 호스트를 폐기하세요.

지원 및 팁

더 읽어보기

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.