Een fototijdlijn die er gezond uitziet, bewijst niet dat de originelen, database en gegenereerde previews allemaal intact zijn.
Een zelfgehoste galerij kan gecachte miniaturen blijven weergeven nadat een origineel is verdwenen, of perfecte originelen behouden terwijl workers geen nieuwe afgeleiden kunnen genereren. Scheid vereiste status van opnieuw op te bouwen status, verifieer originele bytes buiten de app, stem bestanden af op databasegegevens en genereer slechts één canary voordat je een geïsoleerde hersteltest uitvoert. Stop onmiddellijk wanneer checksums veranderen, de bronopslag instabiel wordt of een taak naar originelen schrijft.
Definieer vereiste status en opnieuw genereerbare status
Neem originelen, geüploade video's, sidecars, database, configuratie, geheimen, gebruikersaccounts, albums, bewerkingen en deelgegevens op in de vereiste status. Vermeld miniaturen, getranscodeerde video, gezichtsinsluitingen en zoekindexen afzonderlijk als afgeleiden die alleen opnieuw kunnen worden gegenereerd als originelen en applicatiestatus intact blijven.
Een zelfgehoste implementatie plaatst de bibliotheek vaak op opslag met hoge capaciteit en de database of het werkpad op snellere media. Een praktische Immich-opslagbeschrijving behandelt de splitsing tussen bibliotheek- en hot-path-opslag, en daarom moet een integriteitscontrole elk gekoppeld pad omvatten, niet alleen de map die gebruikers bekijken.
Leg de applicatieversie, containerimage, mountdefinities, databasestatus, vrije opslagruimte en status van de taakwachtrij vast. Stop als een vereist pad ontbreekt of onverwacht alleen-lezen is; een regeneratietaak mag niet starten zolang de bron van waarheid onzeker is.
Bewijs de originele bytes onafhankelijk van de galerij
Genereer of hergebruik een vertrouwd checksummanifest voor originelen en vergelijk dit in alleen-lezenmodus met de huidige structuur. Stem het aantal bestanden, het totale aantal bytes, onleesbare bestanden, onverwachte objecten van nul bytes en verweesde paden op elkaar af. Open buiten de galerij een gestratificeerde steekproef met JPEG, HEIC, RAW, video, oudere jaren en recente uploads.
Leid de gezondheid van originelen niet af uit zichtbare miniaturen. Een galerij kan gecachte afgeleiden blijven weergeven nadat een origineel verloren is gegaan, en een gezond origineel kan verborgen blijven wanneer de preview-pijplijn faalt. Het onderscheid tussen originelen en opnieuw genereerbare afgeleiden maakt de controle van bestanden rechtstreeks de eerste veiligheidsbarrière.
Als hashes veranderen of leesbewerkingen mislukken, pauzeer dan import, opschoning en het regenereren van afgeleiden. Herstel of maak een image van de falende opslag voordat je databasegegevens wijzigt. De fase is geslaagd wanneer vereiste originelen leesbaar zijn en onverklaarde verschillen een eigenaar, reden en herstelactie hebben.
Stem records, paden en taken voor afgeleiden op elkaar af
Vergelijk databasegegevens van assets met bestandspaden in beide richtingen: records zonder bestanden en bestanden zonder records. Controleer UID en GID, bind mounts, roots van externe bibliotheken, hoofdlettergevoeligheid en hernoemde mappen voordat je assets als ontbrekend beschouwt. Bewaar lijsten met verweesde items in plaats van een van beide kanten automatisch te verwijderen.
Neem vervolgens steekproeven van taken voor miniaturen, previews, transcodering, metadata-extractie en machine learning. Een onafhankelijk probleemoplossingsartikel over intacte originelen met mislukte afgeleiden laat zien hoe intacte uploads kunnen samengaan met grijze tegels wanneer opslag, workers of paden voor afgeleiden falen.
Genereer slechts één canary-afgeleide nadat het origineel en de databaseregel overeenkomen. Een geslaagde test levert een nieuwe preview op met de verwachte eigenaar en het verwachte pad, plus een correct antwoord van de client; een mislukte test blijft beperkt tot workerlogs, decoder, uitvoeropslag of wachtrijstatus. Start nooit een rebuild van de volledige bibliotheek voordat deze canary na een herstart correct blijft.
Herstel de volledige bibliotheek naar een geïsoleerd doel
Herstel originelen, database, configuratie, geheimen en vereiste sidecars naar een wegwerpomgeving met andere poorten en paden. Start afhankelijkheden in de juiste volgorde, verifieer gebruikers en albums en laat vervolgens alleen de afgeleidentaken toe die nodig zijn voor de steekproef. Laat de testinstantie niet verwijzen naar productieopslag die schrijfbaar is.
Test het inloggen, de tijdlijn, zoeken, lidmaatschap van albums, het downloaden van originele bytes, één bewerking, één gedeeld item en het afspelen van een video. Vergelijk hashes van gedownloade bestanden met het manifest en controleer of een tweede herstart geen padkoppelingen verliest of vereiste status opnieuw aanmaakt onder de verkeerde eigenaar.
Verklaar de integriteit pas bewezen wanneer de actieve bibliotheek en de geïsoleerde herstelomgeving overeenkomen voor de vereiste status en de canary-afgeleiden opnieuw worden opgebouwd vanuit originelen. Schaal mismatches tussen database en bestanden, oplopende checksumfouten of taken die originelen wijzigen op; bewaar manifesten en logs zodat herstel geen ongedocumenteerde herimport wordt.
Ondersteuning & Tips
Meer om te lezen

NAS-share toont oude bestanden na vervanging van opslag: controles en oplossingen
Vergelijk de lokale opslag met de actieve share en een schone client. Herstel alleen de laag waarvan is aangetoond dat die verouderd is en...

Onderhoudsgids voor mini-pc-koeling: ventilatoren, ventilatieopeningen en thermische basiswaarden
Gebruik herhaalbare metingen bij inactiviteit en belasting. Reinig eerst de externe luchtstroom, controleer het ventilatorgedrag en open de behuizing alleen wanneer het bewijs standhoudt...

Checklist voor firmware-updates van de thuisserver voor BIOS, opstartvolgorde en apparaten
Leg eerst versies, UEFI-vermeldingen, opslag- en passthroughstatus vast. Werk laag voor laag bij en behoud console- en rollbacktoegang totdat de validatie is geslaagd.

