Så förhindrar du att Immich-säkerhetskopior fångar ett inkonsekvent tillstånd

Eva Wong är Teknisk skribent och den boende fixaren på ZimaSpace. En livslång nörd med en passion för hemma-labb och öppen källkod, hon specialiserar sig på att översätta komplexa tekniska koncept till tillgängliga, praktiska guider. Eva tror att självhosting ska vara roligt, inte skrämmande. Genom sina handledningar ger hon gemenskapen verktyg att avmystifiera hårdvaruinstallationer, från att bygga sin första NAS till att bemästra Docker-containrar.

Förhindra inkonsekventa Immich-säkerhetskopior genom att behandla databasen och mediefilerna som en enda återställningsenhet vars insamlingsordning och skrivaktivitet styrs medvetet.

En säkerhetskopia kan innehålla alla filer som den ombads kopiera och ändå återställas felaktigt om databasen hänvisar till resurser som inte fångades upp, eller om mediekopian representerar en annan tidpunkt än katalogen. Definiera först konsistensgränsen, välj en stoppad eller samordnad metod i drift och validera resultatet isolerat.

Definiera återställningsenheten innan du schemalägger säkerhetskopieringen

Lista PostgreSQL-databasen, uppladdade medier, profildata, distributionskonfiguration, miljövärden, hemligheter och eventuella anpassade lagringssökvägar som krävs för att återskapa tjänsten. Markera genererade miniatyrbilder, kodade videor och modellfiler separat utifrån om din återställningspolicy skyddar eller återskapar dem.

ZimaSpaces jämförelse av säkerhetskopiering av Immich i drift och efter stopp förklarar det grundläggande valet av konsistens. Det här förebyggande arbetsflödet går ett steg längre: oavsett vilken metod du väljer måste den skapa en dokumenterad tidpunkt som kan återställas utan att du behöver gissa vilken databas som hör ihop med vilken mediekopia.

Skriv återställningsordningen bredvid säkerhetskopieringens omfattning. Om planen säger ”återställ foton” men inte anger vilken databasdump, konfiguration, vilka autentiseringsuppgifter och lagringsmappningar som återansluter fotona till användare och album, är definitionen av säkerhetskopieringen ofullständig redan innan den första schemalagda körningen startar.

Använd en stoppad insamling när den enklaste gränsen är acceptabel

För ett mindre hushåll som kan tåla ett kort underhållsfönster bör du pausa uppladdningar och stoppa de applikationstjänster som skriver bibliotekets tillstånd. Skapa databassäkerhetskopian, fånga upp medierna och konfigurationen och starta sedan om först när ögonblicksbilden eller kopieringen har en tydlig tidsstämpel och ett slutföranderesultat.

En stoppad applikation gör inte automatiskt en felaktig sökväg korrekt. Kontrollera att databasexporten lyckades, att de avsedda medieområdena inkluderades och att säkerhetskopieringsmålet är fristående från de aktiva data som det ska återställa. Registrera start- och sluttider så att senare återställningar kan identifiera exakt version.

Metoden är godkänd när inga applikationsskrivningar sker under insamlingen och en teståterställning ger förväntade användare, antal resurser, album och ett urval av originalfiler. Om avbrottet regelbundet överskrider hushållets tolerans bör du gå över till en samordnad metod i drift i stället för att tyst låta uppladdningar återupptas halvvägs genom en filkopiering.

Vid säkerhetskopiering i drift ska du fånga databasen och filerna i en känd ordning

När Immich måste förbli tillgängligt ska du skapa en databasinbyggd konsekvent dump i stället för att kopiera den aktiva PostgreSQL-datakatalogen som vanliga filer. Fånga eller skapa sedan en ögonblicksbild av medieträdet i den dokumenterade ordningen och följ upp uppladdningar som anländer under säkerhetskopieringsfönstret.

Det praktiska arbetsflödet för säkerhetskopiering av Immich-databasen visar den databasanpassade metoden. Kommandon och containernamn kan variera mellan distributioner, så den överförbara principen är att be PostgreSQL om en konsekvent säkerhetskopia i stället för att lita på en aktiv rekursiv kopia av databasfiler.

Föredra en ordning som inte kan lämna den återställda databasen pekande på medier som aldrig kom med i säkerhetskopian. Om filsystemskopian innehåller extra filer som databasen ännu inte känner till kan de stämmas av säkrare än databasposter vars refererade original saknas. Dokumentera alla uppladdningar som passerar gränsen.

Samordna filsystemsögonblicksbilder med databasanrop i stället för att anta atomicitet

Filsystemsögonblicksbilder är värdefulla eftersom de snabbt fångar en volym, men de gör inte två system som ändras oberoende av varandra transaktionsmässigt konsekventa på egen hand. Om databas och medier finns på olika datamängder eller enheter bör du definiera anrop före och efter ögonblicksbilden och synliggöra deras tidpunkt i säkerhetskopieringsloggen.

Ett exempel från 2026 som kombinerar säkerhetskopieringsprogram med Btrfs-anrop för ögonblicksbilder visar varför orkestrering av ögonblicksbilder kräver tydliga applikations- eller databasgränser. Använd idén för att samordna insamlingar, men kopiera inte dess filsystemskommandon blint till en annan layout.

Om verktyget för ögonblicksbilder inte kan samordna tidsgränsen för databas och medier bör du återgå till en logisk databasdump plus mediesäkerhetskopiering i stället för att hävda att återställningen är atomisk. Komplexitet är bara motiverad när återställningsövningen visar att den snabbare insamlingen fortfarande ger ett sammanhängande applikationstillstånd.

Gör återställningstester till en del av säkerhetskopieringsschemat

En lyckad säkerhetskopieringskörning är endast ett bevis på att insamlingen slutfördes. Välj regelbundet en aktuell version, återställ den under ett isolerat värdnamn, anslut den förväntade lagringen och verifiera användare, representativa originalfiler, album, behörigheter, sökbeteende och en ny databassäkerhetskopia från den återställda instansen.

PostgreSQL:s återställningsöversikt om planering för säkerhetskopiering och återställning betonar validering av återställning och återställningsmål i stället för att behandla skapandet av en dump som slutpunkten. Tillämpa samma disciplin på den kombinerade Immich-återställningsenheten.

Underkänn säkerhetskopieringspolicyn om databasåterställningen lyckas men filer saknas, om medier öppnas utan användare eller relationer eller om återställningen är beroende av en hemlighet som endast finns på den havererade värden. Korrigera omfattning, ordning, lagringstid eller oberoende innan du ökar säkerhetskopieringsfrekvensen; fler inkonsekventa kopior skapar inte en tillförlitlig återställningspunkt.

Support och tips

Mer att läsa

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.