,

Fra uoffisiell DSM til TrueNAS Scale: hvorfor ZFS er verdt jobben

NAS med ZFS-dataintegritet

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

ZFS sjekker hver datablokk med checksum og retter feil ved en scrub

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

Migreringsflyt: parker data, bygg ny ZFS-pool, kopier tilbake

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:

  1. Parker dataene. Du trenger et midlertidig sted med plass til alt sammen. Har du ikke det, finnes det heller ingen trygg migrering.
  2. Bygg poolen på nytt. Installer TrueNAS Scale og lag en ZFS-pool med den redundansen du faktisk vil ha, enten speil eller RAIDZ.
  3. 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.


Trenger du hjelp med dette?

Ta kontakt for en uforpliktende prat om hvordan jeg kan hjelpe deg.

Navn