Vidare äventyr med Unraid

25 Nov 2023

Unraid

Efter min lyckade och samtidigt misslyckade första installation av Unraid så rev jag hela systemet, stoppade i ytterligare tre SSD-diskar och satte sedan igång med att bygga min array på rätt sätt. Det rätta sättet var enligt vad jag kunde läsa mig till detta: ZFS eller btrfs för array:en där datat lagras, ZFS för den eller de diskar man vill använda som cache och paritetsdisken ska vara en SSD-disk som är minst lika stor som den största disken i din array. Så jag tänkte att ZFS är väl en bra väg att gå och satte därmed igång med att bygga det hela.

Unraid filsystem

Unraid är hyfsat ologiskt när det gäller att bygga en array, i synnerhet när det gäller just vilket filsystem man ska välja. Man kan välja att lägga till diskarna till en array och startar man sedan denna array så väljer Unraid själv vilket filsystem som körs, vilket i praktiken innebär XFS som vad jag förstår närmast är standard i Unraid.

Man måste därför klicka in sig på varje disk och sätta ZFS som filsystem. Inte helt logiskt som sagt men när man väl vet det så är det ingen ko på isen direkt.

Unraids implementation av ZFS är inte mer logisk. I Freenas man kan sätta cache och logg-diskar för en volym men i Unraid så kan man välja en cachedisk och sedan en paritetsdisk. Vad man ska med en paritetsdisk till när man samtidigt har valt raid-z 1 eller 2 som uppsättning för ZFS, vilket alltså innebär att man kan tappa en eller två diskar i sin volym utan att förlora data, är för mig obegripligt.

Unraid med ZFS

Men låt gå då - jag satte upp det hela enligt den modellen: ZFS med raid-z 1 och en paritetsdisk och sedan formatterades diskarna och pang så var det klart. Två saker noterade jag omedelbart: ZFS åt upp i princip allt av de 20 gigabyte internminne som sitter i NAS-datorn (kanske inte helt oväntat men Freenas har ett bra sätt att balansera det där - Unraid verkar inte besitta samma egenskaper), och min NAS-dator gick oerhört långsamt. Kanske hade det gått snabbare med en cachedisk men på något sätt är jag en aning skeptisk till det, utan att kunna ta på varför.

Jag satte därefter igång med att tanka över de över två terabyte data som ska lagras på den och noterade snart att den hade problem med vissa filnamn, prestanda och… vips så kraschade Unraid.

Unraid med ZFS

Så jag började läsa på ännu mer. Efter ett par timmars studerande och funderande så kom jag fram till följande konfiguration: sex stycken 1TB SSD-diskar i min array, en 1TB SSD-disk för paritet och 500 gigabyte SSD-disk för cache. Jag satte cachedisken till ZFS och arraydiskarna till XFS.

Unraid med ZFS

Efter att jag byggt upp denna konfiguration så formligen flyger lagringen fram. Dock kan man bli lite smått ledsen på tiden det tar att bygga en ny paritetsdisk men det är knappast Unraids fel.

Unraid med ZFS

Inga krascher har inträffat och de Docker-baserade applikationer jag installerat fungerar också utmärkt. Här skiljer sig Unraid väldigt mycket mot exempelvis Truenas. Kanske är det en indikation på att Unraid främst vänder sig till hobbyister och hemanvändare medan Truenas siktar lite högre upp i “näringskedjan” för i Unraid så finns det i princip allt i form av “plugins” som körs som kontainrar under Docker. Man kan också köra virtuella maskiner under Unraid (jag har inte testat det ännu men gissar att det baseras på Qemu eller liknande då virtio-drivrutiner ska användas för Windows-baserade virtuella maskiner).

Jag får acceptera att jag inte har TRIM-stöd för mina SSD:er när jag använder XFS, men med tanke på hur billigt det är med SSD-diskar på en terabyte nu för tiden kan jag nog leva med det.

När detta skrivs är det drygt två dygn kvar på Unraids “Cyber Weekend Sale” där de erbjuder 10 procents rabatt på alla licenser. Unraid är till skillnad mot Truenas inte gratis utan kostar pengar men det är en engångskostnad och man kan provköra Unraid utan att betala i åtminstone en månad utan problem så är du nyfiken rekommenderar jag att du tar en titt.