Et NAS som kjører en uoffisiell DSM-bygg fungerer helt fint, helt til den dagen det ikke gjør det. En oppdatering kan knekke bootloaderen, og plutselig sitter du der med data du ikke kommer til. Jeg byttet bort fra en slik bygg og over til TrueNAS Scale. Her er hvorfor, og hva migreringen faktisk koster deg i praksis.
Hvorfor ZFS er hele poenget

Den egentlige grunnen ligger i filsystemet. ZFS gir deg noen ting et vanlig NAS rett og slett ikke har:
- Checksummet dataintegritet. Hver eneste blokk har en checksum. Leser ZFS tilbake noe som ikke stemmer med den, så vet den om det med en gang.
- Self-healing. Har du redundans i poolen, retter en scrub opp stille bitråte på egen hånd ved å hente den korrekte kopien.
- Snapshots. Så godt som gratis og øyeblikkelige. De redder deg både fra fingerfeil og fra ransomware.
- Replikering. Send snapshots til et annet ZFS-system med én enkelt kommando.
En scrub bør kjøre jevnlig og går gjennom hele poolen for deg:
zpool scrub tank
zpool status tank # se fremdrift, feil og reparerte blokker
Forutsigbarhet
En uoffisiell bygg later som den kjører på maskinvare den egentlig ikke gjør. Det funker, men du er hele tiden prisgitt at neste oppdatering ikke river bort noe under føttene på deg. TrueNAS Scale er derimot laget for å kjøre på helt vanlig maskinvare. Du bytter altså ut en skjør avhengighet med et system som er ment å bare stå der og gjøre jobben.
Migreringen: ingen snarvei

Det finnes ingen in-place-oppgradering fra en DSM-bygg til TrueNAS. Filsystemet er et helt annet, så dataene må rett og slett ut og inn igjen. Det er tre steg:
- Parker dataene. Du trenger et midlertidig sted med plass til alt sammen. Har du ikke det, finnes det heller ingen trygg migrering.
- Bygg poolen på nytt. Installer TrueNAS Scale og lag en ZFS-pool med den redundansen du faktisk vil ha, enten speil eller RAIDZ.
- Kopier tilbake. Flytt dataene inn i den nye poolen og sett opp delingene på nytt.
Selve overføringen går greit over nettverket med et verktøy som tar vare på rettighetene underveis:
rsync -aH --info=progress2 /kilde/ /mnt/tank/maal/
Velg redundans etter antall disker
speil (mirror) 2 disker, en kan dø rask, enkel
RAIDZ1 3+ disker, en kan dø mest plass av de sikre
RAIDZ2 4+ disker, to kan dø trygt for store pooler
Hele poenget med øvelsen er at ZFS fanger opp og retter feil før de rekker å spre seg. Et vanlig NAS sier ikke fra når en fil har råtnet på disken. ZFS gjør det, og har du redundans, ordner den opp selv.
Er det verdt jobben?
Avveiningen er egentlig ganske grei: en engangs migreringsjobb mot langsiktig dataintegritet og forutsigbarhet. For data du faktisk bryr deg om, veier integritet, snapshots og self-healing tungt nok til å forsvare bryet. For rene bruk-og-kast-data er det ærlig talt overkill. Men for alt som ikke lar seg gjenskape, mener jeg det er verdt det.


