ZFS har uppenbara begränsningar som alla borde känna till.

Permalänk
Skrivet av beh:

Här är en uppdatering på temat "ZFS behöver ECC-minne för att inte förstöra dina data":
http://jrs-s.net/2015/02/03/will-zfs-and-non-ecc-ram-kill-you...

Som beh påpekade, är det någon som testat att checksumma datat så fort det lästs in till RAM med debug flaggan som ZFS arkitekten Matt Ahrens pratar om? Det finns folk som hittat på att trasigt icke ECC ram förstör din ZFS pool, vilket inte stämmer. Problemet är att ZFS inte checksummar datat i RAM, men det går tydligen att göra enligt ZFS skaparen Matt. Man kan visst checksumma datat även i RAM!
http://arstechnica.com/civis/viewtopic.php?f=2&t=1235679&p=26...

Skrivet av ZFS skaparen Matt Ahrens:

There's nothing special about ZFS that requires/encourages the use of ECC RAM more so than any other filesystem. If you use UFS, EXT, NTFS, btrfs, etc without ECC RAM, you are just as much at risk as if you used ZFS without ECC RAM. Actually, ZFS can mitigate this risk to some degree if you enable the unsupported ZFS_DEBUG_MODIFY flag (zfs_flags=0x10). This will checksum the data while at rest in memory, and verify it before writing to disk, thus reducing the window of vulnerability from a memory error.

Permalänk
Medlem
Skrivet av HåkaN Teknik:

Får lov att tacka skribenterna för en bra tråd!

Den initierande och viktigaste punkten med tråden, att i ZFS det är mycket knepigt att gör en ”raid” Array större med att lägga till diskar.
Att ha begränsningen av felkorrigering med ECC-minnen i ryggraden så är det lättar att följa argumenten i tråden.

Grejen är att man från ett datavetenskapligt perspektiv bryter en hel del av den separationen som måste finnas mellan de olika lagren i ZFS när man försöker implementera möjligheten att plocka bort en disk (samma som att lägga till en). Detta kallas block pointer rewrite och problemet ligger i att man måste komma i håg alla platser som man har flyttat från disk A till disk B för att man ska kunna frigöra disk A och få en annan redundansnivå (ta bort en disk eller lägga till en disk). Ett annat problem är hur man gör detta på ett säkert sätt och inte råkar förstöra disken om strömmen går mitt under processen.

Skrivet av HåkaN Teknik:

Nu kan få 8T HD till samma kostnad eller lite lägre som 6T HD med hjälp av (SMR),
8TB Seagate Archive 5900rpm 128MB (SMR) finns inga långt tids tester än Seagate har haft en del problem tidigare. Men SMR satsar även den tillverkaren som har bäst hållbarhet så tekniken får spridning och ger 25 % mer, ZFS ska vist inte tappa prestanda på det nu vet jag inte om det gäller alla varianter men när fler tillverkare har börjat använda SMR så kommer raid prestanda problemen minska.

8TB Seagate Archive 5900rpm 128MB (SMR) 2st eller 4TB WD RED 3st kostar lika mycket så spegling och Array ger båda samma lagrings kapacitet och båda har en disk som kan fallera utan information går förlorad, jag fördrar spegling.

SMR kräver att filsystemen tar hänsyn till de nya begränsningarna hos diskarna, precis som att SSDs kräver TRIM på filsystemnivå så kräver SMR något liknande för god prestanda. Idag så kan SMR endast användas för arkivlagring eftersom man använder 256 MB stora block på disken. Det kommer att ta lång tid innan man kan köra ZFS på en sådan disk utan stora problem med prestandan.

3 x 4TB RED diskar i RAIDZ1 springer cirklar runt 2 x 8TB SMR Archive i mirror. Om en av dina diskar faller så kommer det att ta flera dagar (4-5) att bygga upp ditt mirror igen (om du inte läser något annat från disken). Jag funderar på att skaffa några SMR diskar, men det skulle endast vara för enkel NTFS arkivering. Inget annat. Absolut inte RAID eller ZFS.

PS. försök att inte särskriv så mycket, det blir mycket svårt att läsa.

Skrivet av MichaelJackson:

Som beh påpekade, är det någon som testat att checksumma datat så fort det lästs in till RAM med debug flaggan som ZFS arkitekten Matt Ahrens pratar om? Det finns folk som hittat på att trasigt icke ECC ram förstör din ZFS pool, vilket inte stämmer. Problemet är att ZFS inte checksummar datat i RAM, men det går tydligen att göra enligt ZFS skaparen Matt. Man kan visst checksumma datat även i RAM!
http://arstechnica.com/civis/viewtopic.php?f=2&t=1235679&p=26...

Jag tolkar det såhär: Minnesfel kan förstöra en ZFS-pool om man har riktig otur. Minnesfel kan även förstöra andra filsystem, men med andra filsystem har man ibland möjlighet att rädda data men det är omöjligt att veta om dessa data är felfria eller inte (som att läsa ut filer från ett formaterat minneskort, vissa kanske funkar andra är bara brus). Har man defekta minnen så hjälper Ahrens flagga föga, men om man får en plötslig bitflip medan data ligger i RAM-cache innan det skickas ut till klient så kan den rädda dig. Att förlita sig på det ett återskapningsprogram kan skrapa upp från diskarna är en falsk trygghet även om det är bättre än ingenting.

Permalänk

ZFS on SMR Drives

Det är var det som föranla frågan.

ZFS on SMR Drives
http://storageconference.us/2014/Presentations/Novak.pdf

Permalänk
Medlem

@HåkaN Teknik: Det är sant, men jag tror inte att Nexenta själva klarar att fixa detta. Det är otroligt mycket som måste ändras och testas innan en ZFS för SMR diskar är en realtitet se (lyssna på kommentarerna) denna föreläsningen från OpenZFS European Conference 2015 https://www.youtube.com/watch?v=a2lnMxMUxyc

PS: Ljudet är mycket lågt, men om man pastar in URLen direkt i VLC (Media -> Open Network Stream) och aktiverar kompressorn (Tools -> Effects and filters -> Compressor -> PMS / peak 0.6 Attack 170 ms Threshold -17 dB Ratio 7:1 Knee Radius 2.5 dB Makeup Gain 16 dB så låter det lite bättre.

Permalänk
Skrivet av beh:

3 x 4TB RED diskar i RAIDZ1 springer cirklar runt 2 x 8TB SMR Archive i mirror. Om en av dina diskar faller så kommer det att ta flera dagar (4-5) att bygga upp ditt mirror igen (om du inte läser något annat från disken).

Det stämmer inte längre att det tar flera dagar att bygga upp ditt mirror/raidz igen. Förrut var det sant, och är sant i OpenZFS (som Linux och FreeBSD och OpenSolaris kör) men Oracle Solaris 11.2 och senare, går det snabbt att resilvra en disk. Skälet är att Oracle skrivit om ZFS resilvermekanism, så det sker i full speed, dvs 150MB/sek eller så. Det tar alltså bara några timmar. Det man skulle kunna göra för att speeda upp resilveringsprocessen om man kör Linux, är att man bootar om i Solaris 11.2 liveCD och resilvrar sitt raid, och sen bootar man tillbaka till Linux.

Citat:

Jag tolkar det såhär: Minnesfel kan förstöra en ZFS-pool om man har riktig otur. Minnesfel kan även förstöra andra filsystem, men med andra filsystem har man ibland möjlighet att rädda data men det är omöjligt att veta om dessa data är felfria eller inte (som att läsa ut filer från ett formaterat minneskort, vissa kanske funkar andra är bara brus). Har man defekta minnen så hjälper Ahrens flagga föga, men om man får en plötslig bitflip medan data ligger i RAM-cache innan det skickas ut till klient så kan den rädda dig. Att förlita sig på det ett återskapningsprogram kan skrapa upp från diskarna är en falsk trygghet även om det är bättre än ingenting.

Om du har minnesfel så händer ingenting, datat förstörs inte på ZFS. Det är bara konstiga rykten (från en FreeBSD användare) som inte stämmer. ZFS arkitekten har ju tidigare förklarat i min länk, att RAM som inte är ECC, är helt ok att använda.
http://jrs-s.net/2015/02/03/will-zfs-and-non-ecc-ram-kill-you...
"...Now, if your evil corrupted RAM leaves this block alone, ZFS will see that the second copy matches its checksum, and so it will overwrite the first block with the same data it had originally – no data was lost here, just a few wasted disk cycles. OK. But what if your evil RAM flips a bit in the second copy? Since it doesn’t match the checksum either, ZFS doesn’t overwrite anything. It logs an unrecoverable data error for that block, and leaves both copies untouched on disk. No data has been corrupted. A later scrub will attempt to read all copies of that block and validate them just as though the error had never happened, and if this time either copy passes, the error will be cleared and the block will be marked valid again (with any copies that don’t pass validation being overwritten from the one that did)...."

Permalänk
Medlem

@MichaelJackson: Jag menar en ZFS-pool med SMR diskar

Permalänk

Ett par idéer för ZFS aktiv lagring på SMR diskar innan SMR prestanda problemen är lösta.

Ett par idéer för ZFS aktiv lagring på SMR diskar innan SMR prestanda problemen är lösta.

ZFS on SMR Drives är långsamt och kommer vara det tills hantering SMR blir bättre fungerande även om det finns minst ett företag som säger sig ha löst prestanda problemet.
Men SMR kommer en förväntad ökning från 25% till 50% så det har framtiden för sig men tills prestanda frågan fungera bättre hålla sig till standar diskar om det inte är för arkivering.
Så att använda 8TB Seagate Archive 5900rpm 128MB (SMR) som band hålla upp data säkerheten genom att köra som spegel och ha rockader i brandskåpet som Classic band hantering, för fullständiga backupp.

Att hantera när det är för stort att ha alt på en plats köra komplett sett i SMR i back upp komplett Ultrastar HE8 HUH728080ALE604 8TB och 8TB Seagate Archive 5900rpm 128MB (SMR) som kostar en tredjedel så mycket som inte har några läsningar utan bar tar i mot, ha pcie SSDs och sata SSDs i back upp enheten.
Ha en komplett en ide för att börja använda ZFS för SMR innan prestanda problemen är lösta när de är lösta så ökar prestandan men det här är konsument diskar så ha till lagring inte en aktiv server.

Permalänk
Medlem

@HåkaN Teknik: Ja, det är helt sant. Frågan är om man kommer att kunna dra nytta av dessa typer av "host managed" lagringssystem med dagens SMR diskar (genom firmware update?). Antagligen inte.

Jag har själv en Seagate Archive 8TB som jag kör som singel ZFS enhet och den presterar i topp för det ändamålet jag kör den till, att göra en backup av hela min brukspool med snapshots och bookmarks.

in @ 179 MiB/s, out @ 179 MiB/s, 173 GiB total, buffer 100% full in @ 164 MiB/s, out @ 164 MiB/s, 448 GiB total, buffer 100% full

Det fungerar så länge som man skriver sekventiellt och asynkront, vilket man gör när man utför den initiala backupen. Men eftersom senare backuper är inkrementella så blir det så lite att skriva att det inte borde vara något problem för mig heller.

Den räcker gott och väl som en offline kopia eller online för endast läsningar. Men iSCSI, nfs eller VMs skulle jag inte köra på den.