YANASBOPI - Yet Another NAS Built On PI

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Pen
Inlägg: 207
Blev medlem: 16 september 2006, 09:15:51
Ort: Stockholm

YANASBOPI - Yet Another NAS Built On PI

Inlägg av Pen »

Jag har efter en del övervägande gjort en ansats att ersätta min gamla tunga kombinerade NAS - 24/7 server med ett mycket enklare koncept byggt på relativt billiga och enkla komponenter. Jag är ute efter en minst lika tillförlitlig lösning som den förra ur ett slags helhetsperspektiv.

Så här ser min ansats ut till NAS ut:

Hårdvara:
- RPi3
- MiniUPS med kraftbuffertfunktion
- Väggvårta av hyfsat kvalitet
- SD kort för operativsystem och övrig programvara
- USB disk för NAS-data. Kraft från USB.
- Ingen RAID
Programvara:
- Raspbian
- Samba
- OpenVPN
- Ev backupstöd (men inte restaurationsstöd)
- Möjligen något färdigt "skal" ovanpå men troligen inte

Detta kompletteras sedan av en oberoende backupnod som inte delar några andra komponenter än matande elnät med NASen.

Jag har utsett kraftaggregat och badcaps som den mest misstänkta felkällan till datakorruption i nuvarande lösning. Även några diskar som defakto har havererat har sedan efterföljts av allmän instabilitet som efter mycket frustration kunnat spåras till badcaps och följande dålig kvalitet på DC - jag utesluter inte ett samband (från höger till vänster). Förutom detta har jag stor respekt för nätbortfall som felkälla och visst kan även hårddisken gå sönder av sig själv.

Det är lite svårt att på ett enkelt sätt beskriva varför jag hamnade i lösningen med RPi - är kanske inte helt klar på det själv men visst spelar det nämnda en stor roll. Jag började att söka på färdiga NAS i konsumentprissegmentet men det slutade som sagt med en enkel lösning med RPi kompletterad med en lösning på kraftproblematiken. Kan egentligen inte se varför det skulle bli mindre tillförlitligt helt enkelt. Priset ger den fördelen att det blir onödigt att reparera något - de få komponenterna är så billiga att de genast kan ersättas med nytt.

Hittade förstås ett antal standardinvändningar mot RPi och USB disk som NAS på nätet. Framförallt dåliga prestanda och tillförlitlighetsproblem relaterade till SD-kort och kraft. Prestanda har jag nu själv mätt upp (minst 10MB/s) och det duger alldeles utmärkt mot de behov jag mätt upp. Skrivningar mot SD-kortet hoppas jag kunna hålla på rimlig nivå (men har ärligt talat inte verifierat detta). Vad gäller kraft så är huvudlösningen en (mycket) liten UPS som är tänkt att främst lösa följande problem:
- avbrottsfri kraft till SD kort
- avbrottsfri kraft till USB disk
- kraftbuffert för spinup av USB disk
- säker nedtagning av systemet
- säker boot av systemet
Med "avbrottsfri" så avser jag här att kraften ska räcka för säker boot följt av nedtagning av systemet i samband med upprepat nätbortfall. Det finns inget behov av kraft ur tillgänglighetssynpunkt.

När man som jag utsett sitt hatobjekt (bör framgå vid det här laget) så är det förstås lätt att stirra sig blind på en sak. Både positiva och negativa kommentarer på ansatsen är därför högst välkomna. Samma med antaganden/tyckande som jag gjort. Tanken är att hålla diskussionen fokuserad på tillförlitlighetsaspekterna.

Kommer att beskriva valet av UPS i ett kommande inlägg - annars blir det för mycket. Det finns en del kvarvarande problem med den också.
Användarvisningsbild
arvidb
Inlägg: 4537
Blev medlem: 8 maj 2004, 12:56:24
Ort: Stockholm

Re: YANASBOPI - Yet Another NAS Built On PI

Inlägg av arvidb »

Jag har haft en server gåendes i omkring tio år nu, baserad på ett fläktlöst Mini-ITX-kort (enkärnig Via C7-processor på ~1 GHz, 1 GiB RAM). Lagring består av en vanlig HDD med ext4-filsystem. Ingen RAID, LVM eller så. Ingen UPS.

Den har havererat två gånger under de här åren, båda gångerna på grund av trasiga nätdelar. Nätdelen i denna dator består av ett 12 V-aggregat (av denna typ) och ett litet kretskort med 12 V in och ATX-kraftkablar ut. Båda gångerna har det varit 12 V-aggregaten som har havererat (först det som följde med datorn och sedan ersättaren från Kjell & Co).

Jag tröttnade på dessa aggregat och köpte ett MeanWell RSP-100-12 istället och byggde in i en aluminiumlåda. Än så länge har det tickat på utan problem...

TL;DR: Jag delar din bedömning att nätdelen är den största källan till nertid. Däremot har jag aldrig råkat ut för dataförlust trots problemen med nätdelarna plus säkert några tiotal strömavbrott.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: YANASBOPI - Yet Another NAS Built On PI

Inlägg av lillahuset »

Har ni så rapplig el i Stockholm att det behövs UPS?
Användarvisningsbild
arvidb
Inlägg: 4537
Blev medlem: 8 maj 2004, 12:56:24
Ort: Stockholm

Re: YANASBOPI - Yet Another NAS Built On PI

Inlägg av arvidb »

Njae... vad kan det ha varit, fyra "riktiga" strömavbrott de senaste 10 åren där jag har bott? Men sen har jordfelsbrytaren löst ut någon gång (överledning i brödrost), de har stängt av elen för byte av elmätare och andra elarbeten i huset, jag har slagit av huvudbrytaren och glömt att stänga av servern först vid något tillfälle, etc.
Pen
Inlägg: 207
Blev medlem: 16 september 2006, 09:15:51
Ort: Stockholm

Re: YANASBOPI - Yet Another NAS Built On PI

Inlägg av Pen »

Tippar på att det är något strömavbrott om året som är lite mer ihållande. Men sen blippar det säkert en handfull gånger till per år (automatisk återinkoppling som sker inom högst 5 resp 90 sekunder). Nuvarande 24/7 server har egen jordfelsbrytare så det stör inte men någon gång kan huvudsäkringen gå.

Nu bor jag inte i själva Stockholm utan söderom så det kanske är lite sämre här.
tingo
Inlägg: 285
Blev medlem: 17 maj 2017, 17:55:40
Ort: Oslo, Norge

Re: YANASBOPI - Yet Another NAS Built On PI

Inlägg av tingo »

Hvis TS ikke har tenkt på det allerede: ha backup av konfigurasjonen eller SD-kortet slik at det er enkelt (og raskt) og lage et nytt når SD-kortet dør.
Om du er vant med automasjon så foreslår jeg automatisk deploy av Pi'en via ansible eller lignende.
Pen
Inlägg: 207
Blev medlem: 16 september 2006, 09:15:51
Ort: Stockholm

Re: YANASBOPI - Yet Another NAS Built On PI

Inlägg av Pen »

Jo, jag kommer att ha både image backup och konfigurations backup.

Jag kör redan min hemmaautomation på en annan RPi och där brukar jag ta en årlig imagekopia plus kanske fyra backups per år på konfigurationer och egna program - lite beroende på hur mycket jag är inne och ändrar.

Om jag bygger en NAS så kommer det ske betydligt färre ändringar i den miljön så jag gissar att det blir en imagekopia när det är klart och sedan enbart backup på konfigurationer vid behov. Jag räknar inte med att så mycket kommer att ändras.
Användarvisningsbild
JimmyAndersson
Inlägg: 26308
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Re: YANASBOPI - Yet Another NAS Built On PI

Inlägg av JimmyAndersson »

Apropå det:
Finns det något sätt att ta en imagekopia utan att behöva plocka bort minneskortet ur pajen?
Mr Andersson
Inlägg: 1394
Blev medlem: 29 januari 2011, 21:06:30
Ort: Lapplandet

Re: YANASBOPI - Yet Another NAS Built On PI

Inlägg av Mr Andersson »

Kan använda t.ex. dd till en nätverksmount.
Pen
Inlägg: 207
Blev medlem: 16 september 2006, 09:15:51
Ort: Stockholm

Re: YANASBOPI - Yet Another NAS Built On PI

Inlägg av Pen »

JimmyAndersson skrev:Apropå det:
Finns det något sätt att ta en imagekopia utan att behöva plocka bort minneskortet ur pajen?
Inte vad jag vet om du menar att systemet fortfarande är bootat från SD-kortet. För att den ska bli garanterat konsistent kräver det i så fall att filsystemet kan skapa en snapshot av hela filsystemet på SD-kortet (egentligen snapshot av hela systemet). Men Mr Andersson får gärna förklara om jag har fel för nog vore det bra om det gick.

Däremot borde man kunna stoppa i en bootbar USB-sticka, boota från den och sedan kopiera SD-kortet. Jag brukar köra Clonezilla på andra datorer men har inte testat på RPi. Har läst att det finns problem att boota från USB-sticka.
Mr Andersson
Inlägg: 1394
Blev medlem: 29 januari 2011, 21:06:30
Ort: Lapplandet

Re: YANASBOPI - Yet Another NAS Built On PI

Inlägg av Mr Andersson »

Jag menar boota i enanvändarläge med skrivskyddat filsystem. Jag antog att systemet inte behöver vara i drift under backupen.
xxargs
Inlägg: 10183
Blev medlem: 23 september 2006, 14:28:27
Ort: Södertälje

Re: YANASBOPI - Yet Another NAS Built On PI

Inlägg av xxargs »

Om man går i enanvändarläge och skrivskyddat, ja då bör man kunna 'dd':a ut SD-minnet.

Den andra saken att vara noga med - speciellt för generationerna innan RPi3+ är att ha bra och välreglerad 5 Volt, inte HF-överlagrade skräpströmmen med 300 mVt-t i rippel som kommer från valfri kinesium väggvårta utan något som är ordentligt avglättat och kan ge betydligt mer än 2 ampere i peak utan att spänningen gungar. Annars är trasig SD den största risken till en tidigt defunk RPI.

Sedan är det också uppstädning i OS så att den inte onödigtvis skriver en massa smått på filsystemet hela tiden, 'noatime' är med som option på fstab, 'temp' ligger i RAM - ja kort sagt följa dom råd som finns för att minimera skrivningarna till SD för RPi.

Som filsystem för lagringsdisk så skulle jag överväga BTRFS - förutom att både data och metadata är checksummat så är den enormt flexibelt i att kunna öka och minska filystem på diskar, skarva i en disk till om platsen tryter, lätt att ta bort igen om det blir gott om plats igen välja olika raid-moder och kan konvererteras online medans systemet används.

Jag skulle åtminstone starta med 'dup' på metadata singel på själva datan när man har en disk, har man två diskar så sätter man metadata som RAID1, och själva datan också på RAID1 tills det blir trångt och sedan kan skapa plats med Jbod/Raid0 om man inte tycker att man kan använda en 3' disk.

(prova sådan noga med stora filmängder innan en skarp installation, inte för att det troligen är något problem - men det är för att du själv skall prova ut för att se hur det fungerar, lära dig finesserna med tex konvertering mellan RAID-moder (främst Jbod, RAID0, RAID1 - RAID5 och 6 är klassad ej stabil även om JAG tycker den är stabil) och övertyga dig själv _att_ det fungerar. Var inte för snål med test-filseten utan se till att fylla det stumt fullt och att prova helst med miljontals filer med ordentlig motion att fylla och tömma flertal gånger så att filsystemet blir 'moget')

En sak att tänka på - och det gäller både ext4 och BTRFS på 32 bitars OS-miljöer - inga logiska datavolymer större än 16 TB, helst inte över 8TB (däremot går det ha fler logiska volymer)

Det finns ingen spärr eller annat som varnar vid tex. formatering av > 16TB volym med 32-bits propp att det är olämpligt iom. generisk kod och själva filsystemet hanterar mycket större filsystemen - utan begränsningen ligger i själva proppen och det kan slå hårt och katastrofalt med söndertrasad metadata en dag om man försöker med större filsystem med full dataförlust om man försöker med > 16 TB större filsystem på 32-bits propp/OS.

Vet inte hur det är med RPI3+ men tidigare generationer redovisar sig som 32 bitars OS.

(tydligen så supportar RPI3 64-bit på proppen - problemet är att alla 'vanliga' Raspberry OS som används är 32-bitars och därav också de begränsningar som förknippas med 32-bit. - finns tydligen 64 bit men vet inte hur kompletta de är, men skall man hantera stora diskvolymer och traska över 16 TB-gränsen så måste man ha 64 Bit!! - det ta också väldigt lång tid att prova felsituationen att tanka miljoner med mindre filer till en volym med 32-bitars OS så att den går en liten bit över 16 TB för att finna systemet helkrascha som en blixt från klar himmel - för låsningen kommer inte direkt utan beror på hur mycket inoder etc. som förbrukats, raderats och återanvänts...)
Pen
Inlägg: 207
Blev medlem: 16 september 2006, 09:15:51
Ort: Stockholm

Re: YANASBOPI - Yet Another NAS Built On PI

Inlägg av Pen »

Angående strömkälla:

Min grundtanke är som sagt en hyfsad väggvårta uppbuffrad med någon UPS som jag återkommer till.

Jag köpte en väggvårta som påstås vara speciellt utvecklad för RPi, brandad Goobay Tyskland och tillverkad i Kina (var annars?). När jag mäter på den har den väl inga övertygande prestanda. Mätningar på tomgång respektive plus 1A dummy belastning (sämsta mätning redovisas):

Grundrippel med switchfrekvens 20kHz: 40mV (ok)

Långsam ringning vid switch: 2MHz: 150mV (ok)

Snabb ringning vid switch (reverse recovery?) 20MHz: 500mV (nok)

Den snabba ringningen avklingar på några få perioder, så det är egentligen en ensam spik som har den amplituden t-t. Regleringsförmågan är inte jätteimponerande:

Insvängning vid ett språng i belastning på 1A (upp eller ned): 250mV, 50ms.

Däremot är den resulterande likspänningen helt ok.

Är den hyfsat? Tja, troligen bättre än snittet av väggvårtor men som sagt ändå inte direkt imponerande. Men den ska som sagt inte mata RPi direkt, så jag hoppas att den duger.
När det gäller språng i belastning så tänker jag mig att det främst är spinup av en USB matad hårddisk som kommer att orsaka språng. Har inte hittat några siffror på vad de drar.
Användarvisningsbild
säter
Inlägg: 32514
Blev medlem: 22 februari 2009, 21:16:35
Ort: Säter

Re: YANASBOPI - Yet Another NAS Built On PI

Inlägg av säter »

Varför skriver du rubriken på engelska?
Pen
Inlägg: 207
Blev medlem: 16 september 2006, 09:15:51
Ort: Stockholm

Re: YANASBOPI - Yet Another NAS Built On PI

Inlägg av Pen »

xxargs skrev: Som filsystem för lagringsdisk så skulle jag överväga BTRFS - förutom att både data och metadata är checksummat så är den enormt flexibelt i att kunna öka och minska filystem på diskar, skarva i en disk till om platsen tryter, lätt att ta bort igen om det blir gott om plats igen välja olika raid-moder och kan konvererteras online medans systemet används.
BTRFS är säkert väldigt tillförlitligt som du säger, men jag tog in en annan aspekt som vägde tyngre (jag har inte heller något expanderbart system i åtanke - det är mera en boxtanke). Om något går permanent sönder så vill jag snabbt få till en "limpmode" (baserat på erfarenhet). Det jag tänker mig då är att om t.ex. RPi själv går sönder så ska jag kunna plugga in den externa hårddisken någon annanstans. Som jag ser det har jag tre val:

1. Jag har en ersättnings RPi liggandes (ingen limpmode egentligen)
2. Jag pluggar in disken i den laptop som för tillfället behöver åtkomst
3. Jag pluggar in disken i någon annan burk som kan hantera den - i mitt fall min Linksys router

I fall 1 går det att välja godtyckligt filsystem, i fall 2 är NTFS att föredra, i fall 3 är det ext3 eller NTFS som gäller. Det finns visserligen drivrutiner för ext3 till Windows men de verkar inte vara att lita på (och de kommer inte att vara installerade på alla laptops i familjen). Omvändningen (NTFS på Linux) verkar vara betydligt säkrare men någonting bär mig emot. Så jag lutar mot alternativ 3 och ext3 men är osäker.

Följdfrågor:

Vad är nackdelen med NTFS på Linux? Finns mycket om detta på nätet men det besudlas av religiösa inställningar så jag får inget grepp om det. Både NTFS och ext3 är journalfilsystem.

Klarar RPi prestandamässigt BTRFS? Jag har väl inte helt uteslutit alternativ 1. Om jag bygger backup noden på samma sätt så går det ju att "låna" delar av den i nödfall (istället för att ha reservdelar i skrivbordslådan).
Skriv svar