Hur mycket ledigt utrymme bör ZFS ha innan prestandan för ögonblicksbilder försämras?

Eva Wong är Teknisk skribent och den boende fixaren på ZimaSpace. En livslång nörd med en passion för hemma-labb och öppen källkod, hon specialiserar sig på att översätta komplexa tekniska koncept till tillgängliga, praktiska guider. Eva tror att självhosting ska vara roligt, inte skrämmande. Genom sina handledningar ger hon gemenskapen verktyg att avmystifiera hårdvaruinstallationer, från att bygga sin första NAS till att bemästra Docker-containrar.

Behåll ungefär 20 % av en ZFS-pool ledigt som en praktisk utgångspunkt. Den välkända regeln om 80 % användning är en skyddsmarginal, inte en tvär gräns: arbetsbelastning, vdev-layout, poststorlek, fragmentering och block som behålls av ögonblicksbilder avgör när prestandan faktiskt försämras.

Ögonblicksbilder spelar roll eftersom överskrivna eller borttagna block inte kan återgå till ledigt utrymme så länge en ögonblicksbild fortfarande refererar till dem. En pool kan därför se stabil ut tills en stor omskrivning, en mottagen replikering eller en rensning visar hur lite arbetsutrymme som faktiskt återstår. Denna skillnad avgör mätmetod, säkerhetsmarginal och stoppvillkor. Denna skillnad avgör mätmetod, säkerhetsmarginal och stoppvillkor.

Behandla 80 % användning som en tröskel för tidiga åtgärder

Vid låg användning har ZFS fler möjligheter att allokera nya block. När poolen fylls blir det svårare att hitta lediga områden, och copy-on-write-uppdateringar kan kräva mer arbete av allokeraren, särskilt på fragmenterade HDD-pooler.

Påbörja kapacitetsåtgärder när användningen närmar sig 80 % i stället för att vänta på ett slut-på-utrymme-fel. Skrivintensiv VM-lagring, databaser och små slumpmässiga I/O-operationer behöver mer marginal än ett arkiv som huvudsakligen används sekventiellt.

Mät på poolnivå såväl som datasetnivå. Kvoter och reservationer kan få ett dataset att misslyckas även när poolen rapporterar ledigt utrymme, medan ögonblicksbilder kan hålla kvar utrymme som vanliga katalogverktyg inte visar.

Håll koll på signalerna som avslöjar verklig belastning

Följ poolens kapacitet, fragmentering, skrivlatens, trend för ledigt utrymme, utrymmet som används av ögonblicksbilder samt storleken på väntande replikerings- eller säkerhetskopieringsjobb. En enda procentsiffra kan inte beskriva alla dessa begränsningar.

Jämför latensen under den normala arbetsbelastningen vid 70 %, 80 % och högre användning om du kan göra det på ett säkert sätt. Den meningsfulla varningen är en upprepad ökning av latensen eller minskning av genomströmningen under samma belastning.

Använd beslutstabellen nedan för att översätta användning och beteende till åtgärder.

Observerat tillstånd Bedömning Nästa åtgärd
Under 70 % användning; stabil latens God marginal Fortsätt övervaka trenden
Omkring 80 % användning eller stigande latens Åtgärdströskel Rensa säkert, flytta data eller utöka
Över 90 % användning; misslyckade allokeringar Kritiskt Stoppa icke nödvändiga skrivningar och frigör utrymme

Återskapa marginal utan att skapa en andra incident

Ta endast bort ögonblicksbilder utanför det godkända lagringsintervallet och bekräfta att de inte behövs som replikeringsbaser. Om en nylig gemensam ögonblicksbild tas bort kan det tvinga fram en fullständig omsändning som kräver ännu mer utrymme.

Flytta sällan använda data, utöka poolen med en topology som stöds eller minska inkommande skrivningar innan du kör omfattande underhåll. Starta inte en scrub, resilvering, mottagning av replikering och massradering samtidigt på en nästan full pool.

ZimaSpaces diagnostik för utrymmesåtgången för ögonblicksbilder skiljer ögonblicksbilder från papperskorgar och aktiva filer.

Klara Systems analys av OpenZFS-ögonblicksbilder kopplar samman poolens fyllnadsgrad, användning av ögonblicksbilder och praktisk kapacitetsplanering.

-15% OFF
Single board computer zimaboard2

Testa den ursprungliga arbetsbelastningen igen efter rensningen

Upprepa samma arbetsbelastning med skrivningar, ögonblicksbilder och katalogbläddring efter att du har återtagit utrymme. Jämför latens, genomströmning och allokeringstryck i stället för att anta att en lägre procentsats löste problemet.

Bekräfta att nästa schemalagda ögonblicksbild och replikeringscykel slutförs och att poolen inte omedelbart återgår till varningströskeln. Ställ in varningar tillräckligt tidigt för att täcka normal tillväxt samt det största förväntade tillfälliga jobbet.

Behåll 20 % ledigt utrymme när mätningar saknas. Öka marginalen om skrivlatensen stiger, fragmenteringen är hög eller stora avvikelser mellan ögonblicksbilder är vanliga; stoppa nya skrivningar om poolen närmar sig full kapacitet eller allokeringar börjar misslyckas.

Support och tips

Mer att läsa

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.