Hårdvaruraid vs ZFS, på hemmabygge?

Permalänk
Medlem

"Är det inte så att när en disk har markerat många nog döda sektorer så krymper den? Det finns ju bara ett visst antal i reserv. Det borde också kunna framkalla detta felet."

Döda sektorer ersätts av disken internt, SMART-statistiken på disken räknas upp, en signal till operativet går iväg, därefter är det upp till operativet att hantera saken. Kör du redundant RAID lagas det automatiskt. I Win antar jag felloggern får en signal, ävenså i ZFS?!

Kris blir det när diskens reservsektorer tagit slut och isf avmarkeras berörda sektorer utan att ersättas lokalt av disken, isf är det upp till operativet att hantera lagningen.

Många BIOS rapporterar "disk failure" i det senare fallet och tvingar fram en "rebuild/resync" av hela arrayen, vilket tar timmar i Win men sekunder i ZFS?!

Av detta lär man sig att köra en SMART-agent för att hålla koll på de viktigaste attributen. En titt i felloggern är oxå bra, då och då.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av saddam
Jag har hört om det problemet. Men jag har aldrig sett några bloggar eller folk diskutera detta problem i forum. Jag har aldrig sett någon drabbas av det, och jag läser ganska mycket om ZFS.

Alla kör alltid hela disken, utan att avdela några hundra MB ledigt. Jag tror inte det är något problem.

Jag vill tro att ZFS sköter det här själv helt automatiskt - precis som en HW RAID kontroller gör med sitt "Coercion Mode" el.likn.

Min LSI kontroller f.ex. har en setting där jag kan välja mellan 128MB - 1GB. Detta blir då "borta" från varje fysisk disk som jag lägger till en array, men det sker helt automatiskt i bakgrunden. Min står på 1GB (har haft problem tidigare) och då blir det så här;

(titta på VD1)

Visa signatur

[Geek, Dad, Programmer, RC enthusiast, Technology evangelist]

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av beh
För länge sedan (tidigt 2.6) så satte jag upp SW raid i Linux och då var det mycket viktigt att man inte använde hela disken för sin raid partition utan lämnade några hundra MB ledigt. Detta för att det är olika storlekar på "1TB" diskar hos olika fabrikat och man vil ju inte hamna i ett läge där man behöver en speciell disk för att kunna återställa sitt raid efter ett avbrott.

Hur fixar man detta i ZFS? Är det ett problem, eller finns det en lösning?

Lurkat här en god stund, men nu blev det dax att hoppa in i leken.

Ok, det verkar vara så här.

En modern disk har från början, redan flera hundra tusen sektorer avdelade för sånt här. Om disken börjar krympa, dvs de sektorerna börjar ta slut så betyder det att disken är i mycket dåligt skick och bör omgående bytas ut. En normalfungerande disk krymper inte, har flera hundra tusen sektorer redan använts, så är takten alldeles för hög för en normalfungerande disk.

Permalänk
Medlem

Nej, du har missuppfattat

Problemet beh beskrev är att en 1TB disk, från samma tillverkare och även samma serie/modell inte nödvändigtvis har exakt samma antal sektorer. Om du då startar din RAID array med 5 1TB diskar och vill köra in 5 till efter ett halvår eller så riskerar du att det inte fungerar om de nyinköpta diskarna inte har precis samma storlek (eller större) än de gamla.

Som du ser ovan försvinner 1GB ifrån var av mina fysiska diskar när de blir "virtuella" (logiska) enheter - just pga att man inte ska träffa på problem om den nya disken är några sektorer mindre.

Det du beskriver är, som du säger, till för att "rädda" skadade sektorer. Om din disk utvecklar HW fel på några få sektorer har du inget att oroa dig över, men om felen börjar spridas/öka markant behöver du byta ut disken snarast möjligt.

--edit--
Detta är ju egentligen väldigt enkelt att kontrollera. Kolla vad en av dina fysiska diskar uppger för storlek - kör upp denna som en virtuell disk och se om storleken är exakt den samma eller något mindre. Jag vill tro den kommer vara något mindre.

Visa signatur

[Geek, Dad, Programmer, RC enthusiast, Technology evangelist]

Permalänk
Medlem

Det verkar tråkigt nog inte som om ZFS har något stöd för det du emigrating12 kallar "Coercion Mode" eller "right-sizing".

Problemet om man inte sätter av hela enheten till ZFS är att då vägrar den att använda write cache för att det finns möjlighet för att andra partitioner kan ha användt cachen utan ZFS's vetskap. 1

Det verkar som de lärda tvistar om det är ett reellt problem eller inte:
opensolaris.org

Fan helst skulle man vilja ha en fix färdig NAS eller Drobo liknande sak som kör ZFS.

Permalänk
Medlem

Frågan är ju om inte ZFS gör detta i bakgrunden, vilket då betyder att man helt enkelt sätter av hela disken till ZFS och den "klipper" bort de sista x antal sektorerna själv. Det verkar, på mig, helt otroligt om det inte skulle fungera så eftersom ZFS/Sun/Solaris är "storsystem".

WOW - nu har jag läst linken du "provided" och det är ju helt otroliga svar som kommer ifrån "Sun". Tyckte speciellt om detta "Drive vendors, it would seem, have an incentive to make their "500GB" drives as small as possible. Should ZFS then choose some amount of padding at the end of each device and chop it off as insurance against a slightly smaller drive? How much of the device should it chop off? Conversely, should users have the option to use the full extent of the drives they've paid for, say, if they're using a vendor that already provides that guarantee?". Svaret där är ju såklart att man gör det precis som HW RAID korten - en user-settable inställning där du själv kan välja om du vill använda hela disken eller kapa av x MB.

Jaja, då var det slut på ZFS intresset härifrån. Geez, vad trångsynta man kan vara.

Visa signatur

[Geek, Dad, Programmer, RC enthusiast, Technology evangelist]

Permalänk
Medlem

Ja, en mycket arrogant holdning. Jag förstår inte hur man kan designa något med så uppenbara brister. Mitt hopp är att de fixar en funktion för att krympa ett array (så länge det finns ledig plats).

Permalänk
Avstängd

Aj då! Detta var inte bra! Jaha. Det var ju kul. Så om min ZFS array strular, så måste jag skaffa exakt en likadan disk, eller större, för att byta ut den trasiga?? Illa för oss hemanvändare. Ok, om man kör SUN hårdvara och är då garanterad att SUN diskarna kommer att fungera i en ZFS raid, men vi hemanvändare har inte råd med SUN hårdvara.

Jaja. Jag får väl hoppas att SUN fixar att man kan krympa och öka pooler snart så slipper vi det här problemet. Men nu vet jag i alla fall att jag ska noga kolla upp att jag får minst lika många sektorer på min replacement disk. Och köper jag en större disk så är jag garanterad att det funkar utan problem. Jobbigt för de som kör de största diskarna som finns på marknaden - de kan inte köpa en större disk. De måste köpa en exakt likadan disk som de andra diskarna. Jobbigt att tvingas leta upp en exakt likadan disk, eller större. Jag trodde man slapp sånt här med ZFS, det är ju nästan som att tvingas köpa exakt ett likadant HW raid kort om kortet går sönder. Och det är ju ett argument emot HW raid och ett argument för ZFS - men nu försvinner det argumentet. ZFS verkar lika jobbigt. Här ser vi ett klockrent exempel på att trots flera års utveckling så är filsystem komplexa att göra, mao ZFS är ett ungt filsystem som fortfarande saknar essentiella funktioner.

Jaja. Nu vet jag hur jag ska gå runt detta problem i alla fall. Tack som faen för att ni tog upp det! Det skulle kunnat orsaka strul, om jag inte kände till detta. Tack.

Permalänk
Medlem

Detta är ju egentligen inte en dödsförklaring av ZFS, men det är en liten påminnelse att detta är ett företagssystem i grund och botten, även om det är släppt fritt så har det inte fokus på hemmaanvändare.
Detta ändrar sig ju hela tiden, och ju fler som börjar köra ZFS hemma och ger återkoppling till utvecklarna ju bättre kommer det att bli, även hemma. Sen blir det ju en del tvister pga. att Sun förståeligt nog är väldigt mån om att inte på nått sätt göra ZFS svårare att använda för det avseendet man hade för projektet när utvecklingen startade.

Permalänk
Avstängd

Jamen det är ju ändå lite jobbigt att inte kunna blanda lika stora diskar från olika märken fritt i ZFS. Jag visste inte ens att detta problem existerade, jag trodde alla diskar var exakt lika stora. Men istället måste man nu använda exakt samma modell av diskarna, eller kolla upp antalet sektorer i replacement disken innan man använder disken - om det är annat märke. På detta sätt slipper man alla problem. Skönt att det finns en enkel work-around i alla fall. Även om den är lite jobbig.

Himlar vad bra att ni ställer kniviga frågor om ZFS. Jag lär mig skitmycket i denna tråd om lagringslösningar och diskar!

Hur löser ett vanligt raid detta problem? Typ intels chipset? Hur löser billiga raid kort detta problem? Och hur gör mjukvaruraid? Kan man inte heller blanda lika stora diskar i de lösningarna?

Jag förstår att i dyrare proffs HW raid kort, så kan man blanda lika stora diskar från olika märken helt fritt. Och man kan öka på HW raidet med en disk i taget utan problem. Dessa två funktioner är ju helt klart bra. När ZFS fått dessa två funktioner, vad mera önskar man? Vad kan HW raid som inte ZFS kan? Vad mera funktionalitet är viktig? Som sagt, jag har aldrig själv sysslat med seriösare lagringslösningar, och vet inte så mycket om de problem som dyker upp.

Permalänk
Medlem

Verkar som man manuellt kan göra en slice på kanske 98% av diskutrymmet på varje disk, installera ZFS på dessa slices och manuellt aktivera skrivcache så kan man kringgå problemet när man sätter upp en ny array. Men detta är ju inget man kan göra i efterhand på en redan installerad ZFS raid. Eller så undviker man "marknadens största hårddiskar" så kan man ju alltid ersätta med en större hårddisk om man inte kan köpa en likadan. Själv har jag 1 TB-diskar i min array och skulle det inte gå att köpa med samma storlek så kan man ju alltid köpa en 1,5 TB-disk att ersätta trasig disk med. Även om detta är korkat så ser jag ändå fördel med felkorrigeringen som ZFS kan ge så jag vill inte ge upp ZFS ännu.

Intressant det där om att man inte bör ha skrivcache på slices. Men jag fattade inte riktigt orsaken. Om jag nu tilldelar partitioner "raw disk access" genom virtualbox till ett virtualiserat opensolaris med Windows Vista värdsystem, kommer då skrivcachen i hårddiskarna att vara inaktiverad även för mina NTFS-partitioner som värdsystemet använder? Vad kan hända om man ändå manuellt aktiverar skrivcache för ZFS på slices, alltså om man går emot rekommendationen? Så länge man inte har mer än en ZFS-slice på en hårddisk, är detr ett problem då? Vad är egentligen skillnaden på slice och partition? Hur ser man om skrivcache är aktiverat eller inte på hårddiskarna?

Permalänk
Avstängd

Som jag ser det, så är detta med att TB diskar har olika antal sektorer - inget problem. Eftersom jag nu vet hur man går runt det problemet, tack vare er. Så jag kommer inte att avdela 98% av utrymmet på varje disk och strula och fixa med write cache och sånt.

Det är helt enkelt bara att noga kolla antal sektorer på den nya ersättningsdisken, innan man köper den. Och hur ofta måste man byta ut en disk i ett ZFS raid? Hur ofta kraschar en disk? Jag har aldrig råkat ut för det än. En disk i mitt raid kanske börjar strula om 2-3 år? På 2-3 år hinner mycket funktionalitet i ZFS läggas till. Och om den funktionaliteten inte finns om några år, så är det bara att kolla antal sektorer vid diskköp. Jag ser detta inte som ett stort problem, ärligt talat.

Detta är däremot ett problem om man hela tiden köper nya diskar och blandar dem friskt med de gamla. Men jag själv uppgraderar inte mina diskar hela tiden. Jag gör inte sånt. Så för mig är detta inget problem.

Ett problem har man, när man inte känner till lösningen. Men vi känner till lösningen.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av ronnylov
Intressant det där om att man inte bör ha skrivcache på slices. Men jag fattade inte riktigt orsaken. Om jag nu tilldelar partitioner "raw disk access" genom virtualbox till ett virtualiserat opensolaris med Windows Vista värdsystem, kommer då skrivcachen i hårddiskarna att vara inaktiverad även för mina NTFS-partitioner som värdsystemet använder?

Om du delar ut en partition genom "raw disk access" så går ju IO fortfarande genom det virtuella systemet (lite beroende på vilket VM l☺sning du använder dig av) och evnt cache kommer bestämmas av värden - din gäst kommer (om möjligt) att stänga av cachen lokalt sett, men data kommer fortfarande att cachas av värden (om den är så konfigurerad).

Om du däremot delar ut en hel disk - direkt - är det möjligt att det kommer stängas av, men då har du ju inte problemet med NTFS partitioner på samma disk ändå - och enda orsaken att dela upp disken är pga diskstorlek (mer om det nedan).

Så här fungerar det på de systemen jag har testat iallafall (KVM, Parallels, Hyper-V, VMWare etc etc) - där jag delar ut ~50GB partitioner (eller rättare sagt virtuella diskar då de hänger på min RAID kontroller) som systemdisk till varje VM.

Personligen tycker jag inte det låter speciellt säkert att dela ut "raw" diskar till en VM som ska agera lagringsserver och köra ZFS (eller för den delen någon typ RAID) eftersom gäst OSet inte får något direkt meddelande om disken "försvinner" - den blir helt enkelt bara borta och kan ställa till med parity problem. Detta är en av orsakerna till att jag letar efter VM-värd med riktigt HW stöd så jag kan dela ut disk kontroller'n till gästen - istället för en/flera disk[ar].

Citat:

Ursprungligen inskrivet av saddam
Det är helt enkelt bara att noga kolla antal sektorer på den nya ersättningsdisken, innan man köper den. Och hur ofta måste man byta ut en disk i ett ZFS raid? Hur ofta kraschar en disk? Jag har aldrig råkat ut för det än. En disk i mitt raid kanske börjar strula om 2-3 år? På 2-3 år hinner mycket funktionalitet i ZFS läggas till. Och om den funktionaliteten inte finns om några år, så är det bara att kolla antal sektorer vid diskköp. Jag ser detta inte som ett stort problem, ärligt talat.

Problemet är att man kan inte kolla detta med någon säkerhet innan man köper disken - även diskar i samma serie/modell från samma tillverkare kan leveras med varierande storlek.

Men okay, nu har jag nog överdramatiserat det hela lite grann - problemet med olikt stora diskar är nästan löst på tillverkarnivå nu eftersom de allra flesta nya diskar följer en "industristandard" (standard i likhet med att använda 1000 iställetför 1024) som preciserar hur stor en, f.ex., 1TB disk ska vara. Så visst, startar man en array idag är chansen för att råka ut för dessa problem relativt liten - med mindre standarden ändras, eller man startar sin array med äldre diskar. Om jag minns rätt var det speciellt WD diskar som var "stora" tidigare - mao, fick man mer bang for the buck om man köpte WD gentemot andra märken.

Visa signatur

[Geek, Dad, Programmer, RC enthusiast, Technology evangelist]

Permalänk
Medlem

Jag skulle vilja fokusera mer på vilka komponenter som man bygger en bra DIY NAS med. Jag funderar själv på att bygga en lagringslösning med fyra eller fem diskar (1-2 TB / disk).

Mitt fokus är en hållbar lösning som är billig, strömsnål och hyfsat framtidssäker. Jag hadde tänkt mig vanliga desktop komponenter, med ett pris på ca 5000 (+ diskar, PSU och Chassie). Detta kommer inte att vara nån backup lösning, men en central plats i hemmet där man kan lagra allt av data som produceras. Säkerhet tänkte jag skapa genom att rsynca till diskar och ha i bankfack eller ladda upp på S3 (det är mycket mindre data som behöver denna säkerheten. Jag kan tänka mig att det som jag behöver sådan extra backup på aldrig kommer att överstiga det man kan få på en enskild disk). Det är heller ingen nackdel om man kan använda systemet som en desktop för att slippa sköta allt via SSH. Men det enda man behöver i dessa dagar är ju en browser och det finns nog oavsett system (sålänge jag inte kör freeNAS eller annan Applience).

Det är viktigt för mig att systemet drar så lite ström som möjligt, så att det kan hållas kallt utan att låta mycket och för att inte försämra komponeternas livslängd. 40 Watt sparat per dygn är minst 365 kr / år.

Som jag ser det har jag lite olika lösningar:

  • Hårdvaruraid genom PCI-E kort

  • Mjukvarjuraid via Linux / BSD kernel

  • Mjukvaruraid (raidz) genom ZFS och FreeBSD eller (Open)Solaris

Några frågor som dyker upp är:

  • Vilka filsystem skal man ha på Blockdevice raid (Linux / BSD / HW)? För win är ju NTFS enda alternativet, men bla. linux har ju en uppsjö av olika filsystem.

  • Vilka HW RAID kort passar ovanstående hemmabygge?

  • Vad är rekommenderad hårdvara för OpenSolaris? Jag har bla. hört att AMD Cool'n'Quiet inte är aktivt på andra processorer än K10. Hur är det med Speedstep? Drar en maskin mer med Solaris än med t.ex. Linux eller windows.

Alltså, vad ger mig 5000 kr i de olika fallen, vad är för och nackdelanrna med de konfigurationerna som vi sätter upp här?

Dessa svaren kanske finns lite här och där på nätet och andra ställen i forumet, men jag tänkte ställa frågan här nu och så försöker jag själv hjälpa till att besvara den om jag hittar något. Då jag antar att det finns fler här med liknande frågeställningar.

Permalänk
Medlem

@beh

Jag är på helt inne på ditt spår! Jag började med en "billig" ATOM 330 och RAID1. Eftersom jag är lite "säkerhets-nörd" så vill jag ha en "lokal backup" - typ daglig (rsync) och en extern backup. Just nu kör jag med daglig backup mot CentOS (ext3)
[root@home ~] $ w
20:50:34 up 365 days, 4:08, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/1 xxx.yyy.zzz 20:45 0.00s 0.02s 0.00s w
och veckobackup mot S3 (via Jungledisk). En lösning som funkar bra, är "billig" och är "säker". ZFS - är, i min värld, den perfekta lösningen om det inte varit för den senaste tidens problem med "diskstorleken". Iofs kan man Komma runt det men jag hade gärna sett att OpenSolaris hade en standardlösning som t ex hade reserverat 10% av diskytan som "reserv" - för mig är säkerheten viktigare än förlusten av ett antal Gb.

När jag nu ändå ska investera i ny HW så tänkte jag att jag skulle utnyttja den full ut, dvs jag har en hel del lösningar som förmodligen inte funkar på OpenSolaris - typ MythTV och qmail. Dessa tänkte jag köra i en virtuell maskin men det är tyvärr en "djungel" att hitta rätta kombinationen mellan CPU/mobo och OpenSolaris. Det finns "avancerade" XEN-lösningar (Asterix, MythTV och andra PCI-kort) men jag misstänker att detta inte funkar på OpenSolaris. Just nu så lutar det mot ronnylovs HW (se annan tråd) som fileserver och en ATOM 330 för MythTV. Som frontend mot MythTV/fileservern kommer jag att köra XBMC (någon *nix eller OSX)

/t

Visa signatur

OS: FreeBSD, Ubuntu, Raspbian, iOS, OSX
HW: PC, Mac & iPrylar

Permalänk
Medlem

Min erfarenhet av mjukisRAID5 på Win är att om diskarna är olika stora så kommer de större diskarna att få små skitslattar över som markeras som "Unallocated". Är diskarn flera GB olika i storlek så kan man ju använda de här större slattarna till annan RAID (tex 0, 1) och tex lägga swapfilen där.

Nån som har en uppfattning om prestandaskillnad mellan mjukisraid och chipsetraid?

1. Vad väljer man:

A. ICHxR RAID5 med 6 diskar
eller
B. Windows mjukisRAID?

Båda är väldigt pigga på att automatiskt framtvinga "resync/rebuild" oavsett om det behövs eller ej, vilket kan ta uppåt ett dygn, efter en BSOD eller ett glapp i en kontakt.

2. Såvitt jag förstått är ZFS inte alls lika känsligt. Har någon med ZFS provat att koppla ur en RAIDz disk, därefter kört systemet "degraded" en stund och därefter återkopplat den missade disken - vad gör ZFS då?

3. Nån som vet om där finns nåt nytt med W8/W7 avseende RAID?

4. För nåt år sedan innan Vista kom sades det att M$ med nästa OS efter XP skulle introducera ett nytt filssystem. Vad blev det av det?

5. Nån som hört nåt om M$ svar på/alternativ till ZFS? Det är väl dax nu för M$ att vakna upp?! Jag menar, med större och större diskar/arrayer ökar sannolikheten för "dolda fel" (vilket ju ZFS fixar) så blir ju det datakorruption för alla filsystem (utom ZFS) som inte fixar detta.

Permalänk
Medlem

1. Ingen skillnad - bägge är att räkna som software RAID; enda skillnaden är att den ena har "drivare" i BIOS, den andra har i Windows. Allt av paritetsberäkningar görs ändå av din CPU vilket är var prestandan försvinner.

5. Jamen va fan Jag vägrar att godta att datakorruption är ett så stort problem som endel vill ha det till. Visst kan det hända, men strömmen till din ZFS server kan också försvinna medans den skriver till disk och på så sätt fysiskt skada disken - faktiskt tror jag risken för fysisk skada vid strömavbrott är större än unrecoverable BER.

Jag har faktiskt testat detta lite i det sista; "test" systemet (som egentligen bara är en separat test RAID array kopplad till min LSI kontroller) består av en 8 x 1.5TB diskars RAID5 array. Nu, om min matematik är rätt bör jag teoretiskt sett stöta på unrecoverable bit error's vid varannan rebuild av denna arrayen; och det gör jag helt enkelt inte.

Denna har blivit rebuilt och consistency checked fler gånger än jag bytt strumpor sedan jag började, och visst hittar jag ibland felmeddelande (se nedan) i loggen, men kruxet är att all data som är lagrad på denna arrayen är sånt som jag kan paritetschecka manuellt (läs jag har filehash på alla filerna) - dessa hasher har jag dubbelkollat efter varje rebuild och än så länge har jag 100% data integrity. Detta betyder till och med att mina data har klarat sig emot "silent corruption" fel som tydligen ska hända väldigt ofta.

Kommer fortsätta med denna testen några veckor till så får vi se om jag förr eller senare råkar ut för nånting "katastrofalt", men so far so good.

**felmeddelande**
ID = 2609
SEQUENCE NUMBER = 16817
TIME = 02-02-2009 22:23:14
LOCALIZED MESSAGE = Controller ID: 0 Consistency Check corrected medium error: ( VD 1 Location 0x62365a0, PD Int.Ports 0-3:1:24 Location 0x62365a0)

ID = 2608
SEQUENCE NUMBER = 16816
TIME = 02-02-2009 22:23:14
LOCALIZED MESSAGE = Controller ID: 0 Consistency Check corrected medium error: ( VD 1 Location 0x623659f, PD Int.Ports 0-3:1:24 Location 0x623659f)

ID = 2582
SEQUENCE NUMBER = 16737
TIME = 02-02-2009 22:03:35
LOCALIZED MESSAGE = Controller ID: 0 Consistency Check found inconsistent parity on VD strip: ( VD = 1, strip = 0x1)

Visa signatur

[Geek, Dad, Programmer, RC enthusiast, Technology evangelist]

Permalänk
Medlem

1. Man kommer inte undan XOR-beräkningen oavsett den görs av CPU'n i mjukRAID5 eller av kontrollerkortet. Tittar man på CPU lasten vid en mjuk rebuild/resync så kostar detta endast några procent, så det tycks inte vara särskilt betungande för moderna CPUer. Ändå är det en väsentlig skillnad på kontrollerkortsRAID5 och mjukRAID5 i skrivning. Så, kontrollerRAID5 gör tydligen oxå något annat som främjar prestandan väsentligt, tex så kan jag tänka mig att det blir färre avbrott i överföringarna med kontrollerRAID (streaming).

Att chipsetRAID sköter mappning av arrayerna och hur dessa är spridda över diskarna isf att Win gör detta är möjligen en viss fördel?! Därför krävs inget stöd från OS (utöver drivrutiner) med chipsetRAID då arrayerna presenteras som enskilda diskar/volymer gentemot OS. Har svårt att tro att detta är det enda godiset med chipsetRAID.

Tittar man på priset för mobon med eller utan chipsetRAID-krets så kostar de senare nån hundring mer än de utan. Tex. ICHx kontra ICHxR brukar skilja nån hundring trots att båda har lika många SATA-kontakter. Att ICHxR klarar flera arraytyper över samma diskar (Intel Matrix), tex en femma på 4 diskar och ett par nollor/ettor på samma diskar förefaller vansinnigt i det fall en diskkrasch inträffar. Om nu mjukRAID5 ur prestandasynpunkt är det samma som chipsetRAID5 föredrar jag isf det senare, inte bara ur kostnadssynpunkt utan också argumentet att mjukRAID5 är flyttbar mellan olika mobon. Det är denna aspekt som får mig att skilja på chipsetRAID och mjukRAID medan andra menar att chipsetRAID och mjukRAID är samma sak, vilket det alltså inte är annat än att CPU'n i båda fallen utför XOR-beräkningen.

En annan fördel med chipsetRAID kan vara att en del av dessa klarar arraykonverteringar (morphing) mellan olika arraytyper. Så tex. satte jag in en andra disk i burken och angav att denna skulle RAIDnollas med den första (som också var systemdisk) och medan jag hade Win igång byggdes nollan upp i bakgrunden. Nåt halvår senare satte jag in en 3:e disk och angav att denna skulle in i befintlig nolla vilket oxå gjordes "on the fly", därtill en 4:e disk - samma sak. Flerdisksnollor har ruggig prestanda. Oavsett RAID eller ej så är det backup som gäller på viktiga data.

Synpunkter?

Permalänk
Avstängd

Beh, Pr0xy,
Jag tror ni kan fråga Ronnylov om olika konfigs. Han satt ju precis och läste in sig på olika komponenter. Ronnylov, vad säger du om dessa två herrars frågor?

Jookeer,
2) Jag har kopplat loss en disk ur min ZFS raid och körde typ en kvart. Kunde läsa och skriva data utan problem. Sen bootade jag om och kopplade in disken, då försvann meddelandet "DEGRADED" och allt funkade som vanligt. Här två korta snuttar när de kraschar diskar och ersätter diskarna, vad händer med ZFS då?
http://www.youtube.com/watch?v=CN6iDzesEs0
http://video.google.com/videoplay?docid=8100808442979626078

4) MS hade ett "revolutionerande och nytt" filsystem på gång som skulle heta WinFS. Som jag förstod det, så visade sig helt enkelt vara en databas ovanpå NTFS. Så alla filer stoppades in i databasen. Då kunde man t.ex. söka på alla video filer och få upp dem. I stort sett så behövdes inga kataloger längre, man bara körde in alla filer huller om buller, och kunde sen söka i den stora mängden data. Men WinFS kom aldrig till skott pga olika skäl. Tänk om man kunde lägga en databas ovanpå ZFS, så får man något lika "revolutionerande och nytt" som WinFS? Nåt åt det hållet var WinFS, som jag förstod det. Och eftersom det var NTFS i botten så fanns ingenting om dataintegritet i WinFS. Sånt var inte ett problem, som MS såg på saken.

På bara några år har vi gått från 500GB diskar till 2TB - mao kommer silent corruption bli vanligare och vanligare. Förrut hade vi inte många bitar i våra små diskar, så silent corruption märktes knappt. Men diskarna är större än förr och billigare än förr, och nu börjar folk använda Raid. Då blir det jättemånga bitar. Någon av bitarna kommer att flippas av misstag.

Det dröjer alltid flera år innan OS teknologi kommer ikapp. Att designa och utveckla nya filssystem tar flera år, de är så komplexa och viktiga. Det är först nu som man börjar se behovet av dataintegritet på diskar, och utvecklingen av nya filsystem har starta nu.

När det gäller minne har servrar länge kört ECC minnen. Föreställ dig folk som sade "jag behöver inte ECC minne, jag har aldrig märkt att bitar flippas i mitt RAM". Men ju fler GB RAM vi har desto viktigare blir det. Och RAM skrivs och läses och ändras väldigt snabbt och väldigt ofta. RAM bandbredden är mycket stor, det blir jättemycket bitar som ändras och läses hela tiden non stop. Man kanske läser och skriver i RAM, flera 100Giga bitar per dag även om man bara har 1GB RAM. Och nu, börjar diskarna bli stora och snabba, så då kommer vi också upp i flera 100GB bitar mot diskarna? Gör man hundratals miljarder läsningar och skrivningar per dag, så kommer nog någon bit flippas av misstag. Därför krävs ECC minne i servrar. Filsystem med dataintegritet är för diskar precis samma sak som ECC minne är för RAM.

Det är numera nya generationens filsystem på gång i Linux lägret. BTRFS, Hammer, etc. BTRFS påminner väldigt mycket om ZFS, snapshots, CoW, etc etc. Problemet är att det är i protypstadiet och det kommer att dröja flera år innan det kommer. Och då kommer det sakna funktionalitet i flera år. Kolla på ZFS, man kan fortfarande inte öka på/minska antal diskar, och diskarna måste ha lika många sektorer, som Emigrating12 m.fl påpekade. Och hur många år har ZFS funnits? Det släpptes typ för 5 år sen. Och det anses vara ett ungt filsystem, vilket märks. Ett moget filsystem är ett par decennier gammalt.

Men kanske har SUN högre krav på tillförlitlighet än vad Linux lägret har. Det är många som säger att Linux koden är si och så, och att SUN aldrig skulle släppa ifrån likadan kvalitet på sin kod. Om SUN schabblar så kan de fet stämmas. Det är svårare att stämma öppen kod. Stämmer de RedHat, så kan de referera vidare till Linus Torvalds, som kan referera vidare till att han bara mergar kod, etc. Det finns ingen tydlig ansvarig att stämma i öppen kod, så SUN måste ha bra kvalitet på sin kod - de kan inte slingra sig.

Det kommer nya generationens filsystem snart. Men det kommer dröja flera år innan de är här. ZFS utvecklas i rasande fart och nya funktioner läggs till hela tiden. I sinom tid kan man lägga till och minska antal diskar i ett raid. Och att diskar inte är exakt lika stora kommer också kunna hanteras av ZFS, eftersom samma funktionalitet kommer kunna lösa båda två problemen.

Emigrating12,
Det är illa att samma märke diskar från samma leverantör kan ha olika antal sektorer. Men du verkar mena att leverantörerna börjar standardisera nu, så det är inte lika stort problem som förrut. Det låter positivt. Men ändå, nu tycker jag som ni, att ZFS ska kunna öka på antal diskar och minska dem - eftersom då löses två problem. Tidigare tyckte jag det inte var viktigt. Men först nu förstår jag varför du tjatade om det tidigare.

5) Om strömmen till ZFS försvinner så kan inte t.ex. halva datat skrivas på disk och andra halvan försvinna ut i tomma intet pga strömmen gick precis vid det tillfället - vilket resulterar i inkonsistenta data och att du aldrig får rapport om det vid omboot. Detta scenario inträffar inte med ZFS. Ett vanligt filsystem kan rapportera att datat är nedskrivet samtidigt som den skriver data - och precis då, går strömmen så datat hinner inte skrivas ned. Halva datat försvinner - och du tror att datat blev nedskrivet.

Skälet att ZFS inte har detta problem, är att ZFS skriver ned hela datat, och som sista steg uppdateras pekaren till de nya blocken. Så om ZFS bara skriver ned halva datat och strömmen går, så får du ingen rapport om att skrivningen lyckades (men det får du med andra filsystem). Först när allting är klart, så rapporterar ZFS att det är klart.

Samma sak om du ändrar data. Det gamla datat ligger kvar på disken. Och ZFS skapar en kopia som den ändrar i, och när allting är ändrat, så uppdateras pekaren att peka på det nya ändrade datat. Det gamla datat är fortfarande kvar, en stund till. Andra filsystem börjar ändra i originalfilen, och så försvinner strömmen mitt i ändringen och du tappar filen och måste gå till din backup. Med ZFS inträffar inte detta. Data consistency är garanterad. Som journalförande filsystem, typ. Men data consistency är alltid garanterad med ZFS, och du måste inte återspela hela journalfilen i timmar. Vid reboot så är det bara att fortsätta direkt där du var. Ingen fsck i veckor eller så. Du kommer aldrig få msg att en skrivning gick bra, när i själva verket bara halva datat skrevs ned. Du blir inte lurad av ZFS.

Detta kallas Copy On Write, CoW.

Angående ditt experiment. Som jag förstått det, så är risken för total data korruption/ej recoverable errors mycket liten i raid. Får du ett sånt fel där allting skiter sig, så kan du alltid gå till backup, du vet att det blev problem med en viss fil. Det som däremot är ett problem med stora raids med många läsningar är _silent corruption_. Dvs, data som inte skrevs ned som de skulle - och du får aldrig rapport om det. SUN presenterar flera fall när tyst data korruption kan inträffa med HW raid.

Det finns HW raid folk som provade sina setups och ingen korruption kunde detekteras. T.ex. beskriver en HW raid person ett av sina experiment:

"We did a few tests in a 16 disk RAID6 where we wrote data to the Areca RAID, powered the system down, pulled out one disk, inserted it into another computer and changed the sector checksum of a few sectors (using hdparm's utility makebadsector). The we reinserted this into the original box, powered it up and ran a volume check and the controller did indeed find the corrupted sector and repaired the correct one without destroying data on another disk (as far as we know and tested).
...
I know that our Areca 1261ML does detect and correct those errors - if these are single-disk corruptions"

Och svaret:

"You are talking about diffrent types of errors. You tested errors that the disk can detect. That is not a problem on any RAID, that is what it is designed for.

He was talking about errors that the disk can't detect (errors introduced by other parts of the system, writes to the wrong sector or very bad luck). You can simulate that by writing diffrent data to the sector"

Ett annat svar:

"you did not simulate a silent data corruption error. hdparm --make-bad-sector just introduces a regular media error that *any* RAID level can detect and fix.
...
However I pointed out that he may have tested only easy corruption cases (affecting the P or Q parity only) -- it is tricky to simulate hard-to-recover corruption errors..."

Mao, det är svårt att testa HW raid på ett korrekt sätt. Chansen finns att man testar något som HW raid kan korrigera. Och sist, denna länk:
http://blogs.sun.com/constantin/entry/zfs_saved_my_data_right

I vilket fall som helst, om du kört stora HW raid länge och aldrig haft problem, så varför byta? "Don't fix what is not broken". Du vet nog vad du sysslar med. Du vet vad som passar dig bäst, det vet ingen annan. Möjligen kan du bara för att hålla dig uppdaterad med olika tekniker, slänga in OpenSolaris i gammal PC och experimentera lite vid sidan av, med iSCSI och sånt.

Permalänk
Medlem

Angående min hårdvara då så är det osäkert om mitt moderkort stödjer ECC-minnen så jag kör vanliga DDR2-minnen. Så om ECC är viktigt så kanske man hellre ska välja något moderkort med uttalat stöd för ECC.

När det gäller strömsparfunktioner så verkar det vara ganska dåligt stöd för detta när det gäller opensolaris, åtminstone med min hårdvara. Kanske bättras i framtiden. Jag har inte lyckats få S3 standby att fungera. Min processor av typen AMD X2 har cool&quiet och det stöds inte av opensolaris med denna processor. Å andra sidan så drar en Phenom mera ström i idle så man tjänar nog inte så mycket med att välja en Phenom istället (förutom bättre prestanda försrås). Single core Athlon64 lär ska stödjas när det gäller cool&quiet så det kanske kan vara ett alternativ men den är ju klenare. Wake on Lan lär ha dåligt stöd också i opensolaris, men jag har inte testat det eftersom inte standby funkade (om den inte kan somna så behöver den inte heller väckas).

Jag har löst en del strömsparande genom att undervolta och underklocka. Jag kör just nu 1800 MHz och 0,95V Vcore (sparade ca 10-12 W). Jag har även underklockat grafiken från 500 MHz till 200 MHz (sparade 2-3 Watt). Har kopplat ur DVD-brännaren, diskettstationen och inaktiverat allt onödigt i bios (sparade kanske 1-2 W). Nätverkskortet drar 2-3 Watt extra men det funkar bättre än det inbyggda. Så nu drar datorn 78 Watt i idle med alla 7 hårddiskarna snurrandes. I original drog den 93 W med opensolaris. De 5 stycken WD Green power diskarna drar tillsammans 19 W i idle. Jag tror de 2 systemdiskarna från Samsung drar nästan lika mycket ström. Med standardklock så skiljde det ungefär 15 Watt mellan Windows Vista med strömsparfunktioner aktiverade och opensolaris på samma hårdvara. Med hjälv av min underklockning och urkoppling/inaktivering av hårdvara så har jag sparat in lika mycket som Cool & Quiet. Däremot förlorar jag ju maxprestanda. Är det jätteviktigt med fungerande strömsparfunktioner så är nog Linux bättre än opensolaris. Med stöd för standby och Wake on Lan kan man nog spara en del ström om datorn inte behöver vara igång dygnet runt.

Jag kör ju min server som filserver och kommunicerar över gigabit med CIFS-protokollet. Märker skillnader mot olika klienter. Windows Vista är överlägset snabbaste klient med hastigheter på 80 - 100 MB/s vid filöverföringarna. Windows XP är segare, kanske 40-60 MB/s och liknande för Linuxklient. Märkte att någonstans runt 1800 MHz på processorn i servern är en gräns där prestandan börjar försämras om jag har lägre hastighet men inte ökar så mycket mera när jag kör högre klock. Troligtvis är det hårddiskarna i klientdatorerna som börjar flaskhalsa så att ökning av CPU-hastigheten på servern inte gör så stor skillnad längre.

Därför undrar jag om en Atom 330 är tillräcklig snabb för det ni ska göra med servern? Vill ni maxa gigabit och köra RAIDZ kanske processorn blir en flakhals. Dessutom är det väl få SATA-kontakter på Atom-moderkorten. Strömförbrukningen blir ju låg i alla fall med en sådan lösning.

Hårddiskar drar ju rätt mycket ström och där är jag nöjd med WD Green Power diskarna. De verkar ha ett strömsparläge som gör att de drar mer ström när de jobbar (mina 5 diskar drar väl 10-15 Watt mera när de arbetar än i vila) men det gör också att det kan bli uppåt 1 sekund rektionstid när man väcker dem. För lagring funkar de bra tycker jag och tycker inte det gör något att de är tröga i starten ibland.

Om jag ska spara ännu mera ström så skulle jag t.ex. kunna köra 2,5-tums hårddiskar för operativsystemet (eller WD green power). Men det kostar en del att köpa nya hårddiskar och om jag sparar 10-15 Watt så tar det ganska lång tid att tjäna in inköpspriset. Med 1 kr/kWh så kostar 15 Watt sisådär 130 kr/år så det skulle alltså ta flera år att tjäna in ett inköp av nya systemdiskar. Därför valde jag återanvända dessa gamla diskar. På samma sätt kan man resonera om man har en gammal dator som har tillräcklig prestanda - hur lång tid behövs det för att tjäna in pengarna med den lägre strömförbrukningen hos nyare prylar?

Jag har tidigare kört mjukvaruraid (RAID-5) i Linux på äldre hårdvara (en AthlonXP 2400+) och då var begränsningen för filprestandan inte processorn utan bussar på moderkortet. Jag körde ju diskar och nätverkskort på samma PCI-buss. Så för prestanda så bör man ha kontrollerkort och nätverkskort på PCIe eller köra med portar direkt på moderkortet (som i sin tur går via PCIe eller direkt till chipset). På den gamla servern kom jag ändå upp i hastigheter på runt 30 MB/s. Den datorn drog ca 150 Watt inkusive 5 gamla hårddiskar. Jag behöver köra nya servern i 6 år dygnet runt för att tjäna in på elräkningen vad den kostade (med kostnaden för hårddiskarna borträknade) men nu tyckte jag prestandan var för klen på den gamla servern så det var ändå värt pengarna att uppgradera.

Permalänk
Medlem

Tydligen finns inte begreppet rebuild/resync i ZFS RAIDz, vilket ju inte behöver betyda att ZFS inte gör det i alla fall men med annat namn (scrub)? Många ggr detta görs i mjukRAID5 (som jag har erfarenhet av) pga glappkontakt eller BSOD så behövs det inte, i varje fall inte på HELA arrayen, möjligen på några enstaka filer, kanske det är så att ZFS är smartare och "vet" exakt vilka filer som behöver byggas om, alternativt det behövs överhuvudtaget inte eftersom uppdateringar/skrivningar är atomära operationer, dvs antingen har dom lyckats 100% eller misslyckats till 100% och i det senare fallet görs dom om. Även med ZFS kommer man vid strömavbrott att tappa data, säg att det ligger 100 uppdateringstransaktioner i kö till en viss volym eller databas och några av dessa vid strömavbrottet inte hunnit loggats så klarar ju inte ZFS detta, vilket ju är självklart.

Det som känns lite skrämmande är att dolda fel, oavsett var de uppträder, i RAM, i kontrollern, i överföringen, på disken etc., så påstår Sun/ZFS att deras filsystem/koncept är det enda som fixar sådana fel. Man kan ju undra hur alla andra heffaklumpsdatalager som inte kör ZFS löser problemet. Ett bitfel i ett kontosaldo som inte upptäcks kan ju bli förödande. Ett motsvarande fel i ett avfyringssystem för kärnrobotar kan ju starta ett historiskt utplånande fyrverkeri utan like.

Nånstans löser andra de här problemen oxå men med andra metoder, det ligger ju i Suns intresse att överdriva både de egna fördelarna och andras brister.

Vad avser oss hemmaanvändare som kanske lagrar multimediafiler så kan vi nog leva med att en video eller mp3-låt missar en bit här och där, ett litet blink eller streck på skärmen kan vi nog klara.

Permalänk
Avstängd

Jookeer,
"Även med ZFS kommer man vid strömavbrott att tappa data, säg att det ligger 100 uppdateringstransaktioner i kö till en viss volym eller databas och några av dessa vid strömavbrottet inte hunnit loggats så klarar ju inte ZFS detta, vilket ju är självklart."

Ja absolut är det så. Men skillnaden är att du vet om att datat aldrig skrevs till disken. Om strömmen går så kommer ZFS upphöra att fungera. Men tillståndet på disken kommer alltid vara konsistent. Det är det, som är skillnaden. Du kommer inte få en rapport att "det gick bra" när det inte gick bra. Antag att du har ett vanligt Linux filsystem med många användare som läser och skriver och strömmen går. Då kommer många skrivningar bli halvgjorda. Vilka skrivningar måste dubbelkontrolleras? Vilka skrivningar hann avslutas? Vilka gjordes till hälften, när strömmen gick? Med ZFS slipper du sånt. Du vet att allt som skrevs ned på disk, är korrekt. Data consistency är garanterad.

Det är ungefär som jag frågar:
-Hur går diskandet?
-Det går bra jag är klar nu, säger han och håller samtidigt på att diska och han har bara kommit halvvägs. Men tänk om han blir avbruten mitt i diskandet? Han kommer inte ge dig en ny rapport: "öhh... jag blev avbruten i diskandet, jag är inte alls färdig". Du har ju fått hans rapport och du tror disken är klar.

ZFS skulle göra så här istället:
-Hur går diskandet?
*tyst*... *tyst*.... (och först när disken är klar) säger ZFS:
-Det går bra, jag är klar nu.

Så du vet att disken är färdig. I första scenariot vet du inte att disken är färdig. I händelse av krasch, så måste du kontrollera alla kockar och se hur många som verkligen hann diska klart, och hur många som sa att de diskade klart men inte alls hann diska klart. Så du måste säga åt de kockar som inte hann klart, att slutföra disken. Men först måste du identifiera dem. Eller, så är det vanligare att säga till alla kockar att diska om allting på nytt. Så även de kockar som verkligen hann diska klart, måste upprepa disken. På så sätt kan du vara säker på att all disk verkligen är färdig.

Antag du har massa skrivningar mot en databas, vilka är gjorda och inte gjorda? Med ZFS slipper du det problemet. Med andra filsystem måste du upprepa alla ändringar innan krasch, alla ändringar loggas först i en fil innan de verkligen äger rum på disken (journalförande filssystem), det kan ta timmar att åter spela upp alla senaste skriv operationerna - så att både loggfilen och disken överensstämmer. Sen bör du göra fsck, det kan ta en vecka.

Angående silent corruption, det har aldrig varit ett stort problem tidigare. Men tidigare hade vi inte så här stora diskar. Ju fler bitar vi har tillgång till, desto vanligare kommer detta bli. Till slut blir data integritet ett måste.

En modern disk har idag 20% av ytan dedikerad till felkorrigeringskoder. Det skulle inte behövas om korruption aldrig inträffar. Jag tror att om ett tag så kanske 25% av ytan används till felkorrigering. Mao, blir hela tiden stora mängder fel på dagens stora diskar.

Sen tror jag nog att vi hem användare kan leva med att en MP3 låt missar en bit här och där, ett blink på skärmen klarar vi av. Värre är det om du kör en aktiebörs, och en 1a råkar bli en 2a. Men absolut, jag tror att än så länge är detta inte ett stort problem. Jag själv har aldrig träffat på detta, vad jag vet. Men när 10GB diskar och stora raid blir vanliga, så kommer vi träffa på dessa fel oftare. Ju fler bits, desto mer sårbara blir vi. Jag har aldrig haft så här stora diskar förrut i mitt liv.

Stora enterprise lösningar, kärnrobotar, kontosaldon på banker, etc kör ju annat än NTFS eller ext3. De kör Veritas och jag vet inte vad de heter. Men de är svindyra. En del enterprise företag har dock börjat gå över till ZFS. En bank slutar med sin dyra lösning och går över till ZFS:
http://blogs.sun.com/openomics/entry/fast_reliable_cheap_pick...
Ett av de här lagringsföretagen har stämt SUN pga ZFS. De är livrädda för ZFS, för det är gratis.

Permalänk
Medlem

Jag har testat kopplat ur en av mina speglade systemdiskar och jag märker inte att den är borta förräns man kör zpool status. När man kopplade tillbaka så gjordes "resilvering" och det gick ganska fort (men disken var inte särskilt mycket fylld heller). Antagligen kan man konfigurera så man får e-post när fel inträffar? De rekommenderar ju att hemanvändare ska köra scrub 1 gång i månaden och företag kanske 1 gång i veckan, men det görs inte automatiskt som default (men man kan förstås lägga in det med cron). När jag kört scrub på min RAIDZ är det färdigt efter några minuter. Nu har jag inte mycket data på diskarna ännu så därför går det ganska fort. I Linux med mdadm tog det timmar med resync oavsett hur lite data man hade på arrayen.

Funderar lite på det här med övervakningen och underhållet av ZFS, det bör man väl automatisera på något sätt. Som det är nu kollar jag manuellt med zpool status emellanåt och någon enstaka scrub. Man ska alltså köra scrub ibland (minst 1 gång per månad) så långt vet jag, men vad mer bör man göra? Hade ju varit trevligt att få fram att en hårddisk fallit bort direkt när den gör det istället för 2 veckor senare vid nästa schemalagda scrub. Kanske lägga in en zpool status som körs varje timme och larmar vid fel?

Permalänk
Medlem

1 gång/månad låter grovt. Det kan ju vara skillnad på en backupburk som man kör nån timme/månad och en 24/7 server som omsätter 10-tals GB/dygn. Dvs backupburken omsätter lika mycket på en månad som 24/7 servern gör på en dag. Men som vanligt får man konsultera det sk "sunda förnuftet".

Gratis är för många kommersiella brukare suspekt - men betalar man dyrt för bra service/support förväntas man också få det.

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av ronnylov
Jag har testat kopplat ur en av mina speglade systemdiskar och jag märker inte att den är borta förräns man kör zpool status. När man kopplade tillbaka så gjordes "resilvering" och det gick ganska fort (men disken var inte särskilt mycket fylld heller). Antagligen kan man konfigurera så man får e-post när fel inträffar? De rekommenderar ju att hemanvändare ska köra scrub 1 gång i månaden och företag kanske 1 gång i veckan, men det görs inte automatiskt som default (men man kan förstås lägga in det med cron). När jag kört scrub på min RAIDZ är det färdigt efter några minuter. Nu har jag inte mycket data på diskarna ännu så därför går det ganska fort. I Linux med mdadm tog det timmar med resync oavsett hur lite data man hade på arrayen.

Funderar lite på det här med övervakningen och underhållet av ZFS, det bör man väl automatisera på något sätt. Som det är nu kollar jag manuellt med zpool status emellanåt och någon enstaka scrub. Man ska alltså köra scrub ibland (minst 1 gång per månad) så långt vet jag, men vad mer bör man göra? Hade ju varit trevligt att få fram att en hårddisk fallit bort direkt när den gör det istället för 2 veckor senare vid nästa schemalagda scrub. Kanske lägga in en zpool status som körs varje timme och larmar vid fel?

scrub tar så lång tid som du har data. Om raidet är tomt, så går det ögonblickligen. För 3 TB data som scrubbas, tar det typ 7h eller nåt sånt. Men det gör inte så mycket, jag kan ju använda raidet under tiden. scrub går igenom alla data och kontrollerar och reparerar alla checksummor så de överensstämmer med datat.

resilver tar så lång tid som disken måste repareras. Om du har kört länge med ofullständigt raid, så kanske du hunnit lagra mycket ny data. All den data måste resilvras och det tar tid. Jag antar att det tar lika lång tid som scrub.

Jag tror det är så att hemanvändare som kör billiga diskar rekommenderas scrubba en gång/veckan och Enterprise diskar ska scrubba en gång/mån, pga högre kvalitet. Tvärtom alltså. Men jag har inte igång mitt raid så ofta, så jag scrubbar sällan. En gång varannan månad eller så. På min förra raid med 4 st 500GB diskar som jag hade drygt ett år, som alltid var igång, scrubbade jag totalt 4 ggr kanske. Alltså, jag litar på nya hårddiskar. Jag har inga dåliga erfarenheter av nya diskar, eftersom jag inte har så stora erfarenheter. Jag tror att om man har splitternya diskar så ska man inte behöva scrubba hela tiden. Att scrubba är för den nojjige, typ. Men det förstås, skulle jag driva ett företag skulle jag scrubba ofta. Däremot gör jag "zpool status" dagligen för att se om ZFS detekterat några läs eller skrivfel.

Angående att hantera diskar som fallit bort. Man kan adda en "hot spare", alltså en tom disk som står i standby. Den disken kommer automatiskt att ta över den trasiga diskens roll så raidet blir helt igen, vid diskkrasch. Men det är ju en dyr lösning att ha en extra stand by disk.

Kanske är det bästa som du föreslår, att "grep" zpool status kommandot och skicka mail när det knasar? Jag själv håller tummarna. Jag har aldrig varit med om att en disk kraschat. Jag har ju splitter nya diskar. De ska hålla bra. Moderna diskar har grym MTBF. Skulle jag byggt ihop raidet med gamla diskar, så skulle jag scrubba och vara nojig.

Permalänk
Medlem

Asså, dom e' för lustiga på Sun.

Filsystem = partition
Scrub = chkdsk
resilvering = rebuild/resync

allt för att förvirra den Windowsindoktrinerade allmänheten

Läste nånstans att nya diskar är mer krachbenägna än medelålders diskar. Tror det var från Googlerapporten. Man bör köra en ny disk några hundra timmar för att försäkra sig om att den inte har barnsjukdomar. Alternativt kan man köra nåt HD Burnin (Passmark) progg.

Permalänk
Medlem

"Problemet" är väl att software RAID (varesig det är chipset eller OS styrt) inte har en dedikerad CPU till just XOR beräkningarna och kan inte använda din vanliga CPU utan att hela systemet går i lås. Jag vet faktiskt inte, men vad jag vet är att två "lika" HW RAID kort där det ena har en single core och det andra har en dual core processor skiljer en hel del i skrivprestanda.

Chipset RAID kan också ha andra fördelar över OS RAID, exempelvis det att man kan flytta diskarna mellan SAS/SATA portarna utan problem (dock verkar detta också fungera på de flesta OS RAIDs numer). Ett definitivt svar på din fråga får du väl egentligen bara om du testar själv - har du redan en chipset femma så försöker du skapa en helt likadan femma i OSet och ser vilken som ger bäst prestanda - både i överföringshastighet och CPU användning (dock vill jag tro att den som är snabbast också använder mest CPU).

Att flytta en RAID array är lika "problematiskt" på båda lösningarna. Har du en Intel chipset array måste den flyttas till ett annat Intel moderkort. Har du en Windows array måste den flyttas till en annan windows maskin/installation. Mao, kan du inte flytta från Intel till SiI eller från Linux till Windows. En HW kontroller har samma problem iom att den måste flyttas till en kontroller från samma tillverkare.

Jag tycker mig komma ihåg att även Windows OS nullor kan utökas med fler diskar eftersom - dock är jag inte säker på om en Windows femma fungerar likadant. Oavsett kan det ju sammanliknas med en av mina HW kontrollers där jag kan sätta upp en RAID 0 array på 2 diskar, sedan lägga till en disk till så jag nu har en 3 disks nolla. Lägg till ännu en disk og konvertera den till en femma eller två diskar och konvertera till en sexa. Har du en sexa och en disk krashar kan du göra om den till en femma igen och på så sätt "ta bort" degraded statusen. Likadant, om du har lite ledig plats och inga pengar till ny disk just nu kan du konvertera en femma tillbaka till en nolla. Men visst, HW kort kostar pengar - ofta mycket pengar; och till rent hemmabruk har man generellt sett inte användning för en femma/sexa array som kan levera data uppimot 1GB/s.

Angående ECC RAM; mitt Supermicro huvudkort loggar alla paritetsfel den stöter på - enda orsaken till att jag vet detta är eftersom jag hade en dårlig bricka installerad när servern var nybyggd och jag hittade massa "corrected error" meddelande i DMI(?) loggen. Bytte ut brickan i december och har sedan dess inte sett ett enda meddelande om detta. Så igen är vi tillbaka till att bitflipping händer inte så ofta som vissa vill ha dig att tro. Jag säger inte att det inte händer eller kan hända - men om jag inte sett det på 24GB ram på ~8 veckor med en 90% RAM utilization så...

Strömavbrott - jag var nog inte helt klar i vad jag sa; det jag menade var helt enkelt att det är större chans för att din disk (platters) blir fysiskt skadade om strömmen försvinner helt utan vidare när disken är igång. Läshuvudet har kanske inte tid/möjlighet att parkera sig på rätt ställe och krashar ned på diskytan == fysiskt fel på disken. Att ZFS inte kan förlora köat data vid strömavbrott är sant - men det samma gäller en HW kontroller med BBU (batteri).

Visst är det svårt att testa HW RAID på ett "bra" sätt; men det, om något, stärker ju bara min position om att silent corruption eller write hole errors är något som händer ytters sällan. Angående min egen test, så kan jag garantera med 100% att all data skrivit till disk på "day one" är precis samma data som ligger där nu, efter otaliga rebuilds och konverteringar. Hur kan jag det? Data't som är lagrat på arrayen ifråga består till 100% av uTorrent downloads - om den lokala lagrade kopian ej är identisk "source" kommer den inte upp som 100% complete. F.ex. har jag ändrat en bokstav i en mindre textfil och kört "recheck" så kommer den endast upp som 99% complete och måste "uppdateras". Detta har inte hänt med en enda fil på denna riggen. Igen, visst kan det hända - men jag tror verkligen inte att det är tillnärmat så ofta/synnerligt som vissa ZFS fantaster vill ha det till (och nej, jag pratar inte om dig - mer om några av de du ibland quotar).

Varför byta? Jag gillar att mecka (till viss del) och det håller kunnskapen på topp Om jag sedan kan få bättre säkerhet på köpet så varför inte (vilket är varför jag testar nu - till stor grad efter att ha läst mycket av dina länkar). Sedan är det ju så att iSCSI till Windows inte är gratis (och den lösningen jag redan har; inte speciellt bra) - under *IX finns det gott om gratisalternativ och om jag kan implementera en sådan lösning iställetför HW RAID på server'n utdelad genom vanlig network sharing så ville det vara mycket bättre. Plötsligt kan jag köra min Media Center PC helt utan lokal disk (tick tick tick ljud == borta) och som om inte det var nog slipper jag tänka på "backups" av OS eftersom jag kan sätta upp ett job som tar en snapshot varannan dag/vecka/månad - en del folk har lätt för att FUBAR, speciellt, Windows installationer och att kunna "roll-back" till hur det var igår på några minuter är ju helt fantastiskt.

Angående nya diskar - jag stressar dem altid i nått dygn innan de tas i bruk fullt ut, då faller de dårliga äpplena bort direkt och en sådan disk håller generellt sett till den dör pga gammal ålder (eller jag säljer den pga uppgradering). Det är iallafall min erfarenhet och jag har inte märkt någon speciell skillnad mellan consumer och enterprise diskar - annat än att enterprise diskarna svider bra mycket mer i plånboken

Visa signatur

[Geek, Dad, Programmer, RC enthusiast, Technology evangelist]

Permalänk
Medlem

Någon som har en uppfattning om NCQ/TCQ ger något extra - det var ju ganska "hypat" när det kom men under senare tid har man inte hört så mycket. I teorin skall det ju optimera armrörelserna då det finns flera utestående accesser i I/O-kön. I praktiken kanske det inte betyder så mycket för hemmaservrar?!

Permalänk
Medlem

Självklart tappar inte ZFS data på din server bara för att strömmen går. Har man en seriös server har man även Batteribackup till datorn.

Permalänk
Avstängd

Ok, det verkar som man kan slå på casesensitivity=mixed som default när man skapar en zpool:

# zpool create -O casesensitivity=mixed foo c1d1 c2d2
# zfs get casesensitivity foo
NAME PROPERTY VALUE SOURCE
foo casesensitivity mixed -
------------
You can check whether it's set with:
$ zfs get casesensitivity pool/filesystem

If you're using CIFS, you need that to return "mixed" or "insensitive". If it returns "sensitive", it will cause you problems.

Unfortunately there's no way to change this setting on an existing filesystem, so if you do have the wrong setting you'll need to create a new filesystem and move your files over. If you have enough disk space it's relatively easy to do with CIFS:

- Create a new filesystem on the server using "zfs create -o casesensivity=mixed ...."
- Share it under a new name: "zfs set sharesmb=name=xxxx pool/filesystem"
- Move all the files (I did a cut/paste with windows explorer since this preserves permissions, robocopy would probably work too, mv in solaris might but I've not tried that)
- Delete the original filesystem and change the name the new one is shared under with "zfs set sharesmb=name=yyyy...."
- Rename the new filesystem if needed with "zfs rename"

(Används tillsammans med CIFS och Windows)

Emigrating12
Jag vet inte om du verkligen testar silent corruption nu. Det verkar som du påpekar, svårt att testa det korrekt. Jag kan för lite för att uttala mig om saken. Men i vilket fall som helst, så tror jag inte man råkar ofta ut för silent corruption. Jag tror det endast kan vara ett problem i system som skyfflar mycket data hela tiden utan avbrott. Jag själv har aldrig märkt att jag drabbats av det.