Waardoor wordt een SSD-pool trager nadat de vrije ruimte onder de 15 procent komt?

Eva Wong is de Technisch Schrijver en en vaste knutselaar bij ZimaSpace. Een levenslange geek met een passie voor homelabs en open-source software, zij is gespecialiseerd in het vertalen van complexe technische concepten naar toegankelijke, praktische handleidingen. Eva gelooft dat zelf-hosting leuk moet zijn, niet intimiderend. Met haar tutorials stelt ze de community in staat om hardware-setup te ontrafelen, van het bouwen van hun eerste NAS tot het beheersen van Docker-containers.

Een SSD-pool wordt vaak trager wanneer deze bijna vol is, omdat de controller en het bestandssysteem minder schone werkruimte hebben voor schrijfbewerkingen, verplaatsingen, metadata en snapshots.

Het punt van 15 procent is geen universele kritieke grens, maar wel een nuttige waarschuwingsdrempel voor veel workloads op thuisservers. De pool kan vrije logische bytes hebben, terwijl snapshots, thin provisioning, metadata van het bestandssysteem, verwijderde maar geopende bestanden of ontbrekende ondersteuning voor discard ervoor zorgen dat SSD-controllers en opslagsoftware de ruimte in de praktijk minder goed kunnen hergebruiken. Diagnoseer de effectieve beschikbare schrijfruimte en schrijflatentie in plaats van te vertrouwen op één percentage in een dashboard.

Bevestig welk getal voor vrije ruimte 15 procent heeft bereikt

Vergelijk de onbewerkte SSD-capaciteit, poolcapaciteit, vrije ruimte in het bestandssysteem, de toegewezen thin-provisioned capaciteit, snapshotgebruik, quota's, gereserveerde blokken en het applicatievolume dat traag aanvoelt. Deze waarden beantwoorden verschillende vragen.

GNU Coreutils legt uit dat beschikbare ruimte in het bestandssysteem wordt gerapporteerd op basis van de administratie van het aangekoppelde bestandssysteem. Daarbij worden mogelijk niet alle reserves op pool-, snapshot-, thin-volume- of controllerniveau meegenomen die van invloed zijn op schrijfbewerkingen.

Als slechts één dataset of thin volume bijna vol is, herstel dan die laag in plaats van ervan uit te gaan dat elke SSD traag is. Als de volledige pool weinig niet-toegewezen capaciteit heeft, ga dan verder met controles van de werkruimte van de controller, discard en snapshots.

Begrijp waarom NAND-schrijfbewerkingen schone werkruimte nodig hebben

Meet de latentie van langdurige en kleine willekeurige schrijfbewerkingen voordat en nadat de pool de drempel overschrijdt. De leessnelheid kan acceptabel blijven, terwijl schrijfbewerkingen pauzeren of inconsistent worden.

Crucial beschrijft overprovisioning van SSD's als gereserveerde capaciteit die wordt gebruikt voor garbage collection, wear leveling en vervangende blokken. Dit verklaart waarom minder beschikbare schrijfruimte kan leiden tot meer achtergrondverplaatsingen tijdens nieuwe schrijfbewerkingen.

Ga er niet van uit dat elke vertraging betekent dat het flashgeheugen versleten is. Een gezonde SSD kan tijdelijk traag worden wanneer deze voor elke nieuwe schrijfbewerking meer geldige gegevens moet wissen, verplaatsen en opnieuw schrijven.

Controleer of discard of TRIM de SSD's bereikt

Controleer of verwijderde blokken in het bestandssysteem continu, periodiek of helemaal niet worden vrijgegeven. Neem elke laag tussen het bestandssysteem en de SSD mee: versleuteling, RAID, thin provisioning, HBA, virtuele schijf en behuizing.

De retrim-bewerking van Optimize-Volume van Microsoft laat zien dat verwijderde blokken door de opslagstack moeten worden doorgegeven, zodat het apparaat ze kan voorbereiden op hergebruik.

Een geslaagde opdracht op de laag van het bestandssysteem bewijst niet dat de SSD discard heeft ontvangen. Vergelijk apparaatstatistieken of gecontroleerd schrijfgedrag vóór en na een ondersteunde trim-bewerking, en schakel discard niet in via een laag die dit niet veilig doorgeeft.

-15% OFF
Single board computer zimaboard2

Controleer snapshots, prullenbakken en verwijderde maar geopende bestanden

Meet de ruimte die wordt gebruikt door snapshots, klonen, bewaarmappen, prullenbakken, databaselogboeken en geopende bestanden waarvan de directoryvermeldingen zijn verwijderd. Hierdoor kunnen blokken toegewezen blijven nadat gebruikers denken dat de gegevens zijn verwijderd.

De ZFS-documentatie van Oracle legt uit dat snapshots naar verwezen blokken behouden. Daarom levert het verwijderen van een groot actief bestand mogelijk geen opslagruimte op zolang oudere snapshots nog van die blokken afhankelijk zijn.

Verwijder alleen bewaarpunten die buiten het beleid vallen en controleer naar welke blokken ze verwijzen. Een grote snapshot is niet automatisch overbodig, en het verwijderen ervan in een noodsituatie kan het enige herstelpad voor een recente wijziging wegnemen.

Scheid overprovisioning van de controller van vrije ruimte in het bestandssysteem

Controleer of elke SSD niet-gepartitioneerde reserveruimte, een door de fabrikant gedefinieerd reservegebied of door de host beheerde overprovisioning heeft. Vrije ruimte in het bestandssysteem en de reserve van de controller dienen verwante maar verschillende doelen.

Kingston legt uit dat overprovisioning door de host capaciteit niet-toegewezen laat, zodat de SSD-controller extra werkruimte heeft naast de zichtbare vrije blokken van het bestandssysteem.

Verklein een actieve pool niet zonder geverifieerde back-ups en een ondersteund pad voor verkleining. Overprovisioning is het veiligst wanneer deze vóór de ingebruikname wordt gepland of tijdens een gecontroleerde migratie wordt ingevoerd.

Voer een ondersteunde trim uit en meet het herstel

Verwijder onnodige gegevens en snapshots en voer daarna tijdens een periode met lage belasting de ondersteunde discard-bewerking van het platform uit. Noteer hoeveel bytes zijn vrijgegeven en of de schrijflatentie verandert nadat de SSD de achtergrondopruiming heeft voltooid.

De handleiding van fstrim legt uit dat discard wordt toegepast op ongebruikte blokken van het bestandssysteem en dat herhaald trimmen van dezelfde regio's mogelijk geen extra voordeel oplevert.

Een trim die nul bytes rapporteert, is niet automatisch mislukt; het bestandssysteem kan al zijn getrimd of een tussenliggende laag kan discard blokkeren. Gebruik de eigen aanwijzingen van de opslagstack voordat je mountopties wijzigt.

Herstel vrije ruimte en controleer de werkelijke oorzaak van de vertraging

Verplaats tijdelijke gegevens, laat alleen snapshots verlopen die volgens het beleid mogen worden verwijderd, comprimeer databases waar dat wordt ondersteund en herstel een doelbewuste marge aan vrije ruimte. Herhaal daarna dezelfde schrijfworkload en meet de latentie, wachtrijdiepte, CPU-wachttijd en SSD-temperatuur.

Het ZimaSpace-artikel over waarschuwingssignalen van een SSD-cache beschrijft de aangrenzende grens tussen omkeerbare druk door ruimtegebrek en aanwijzingen dat het apparaat zelf mogelijk defect raakt.

De diagnose is voltooid wanneer de schrijflatentie verbetert na geverifieerde vrije ruimte of herstel door discard, snapshots en metadata binnen het beleid blijven en dezelfde workload stabiel blijft boven de gekozen reserve. Als de prestaties bij voldoende ruimte slecht blijven, onderzoek dan thermische throttling, slijtage, controllerfouten, RAID-gedrag of I/O van de applicatie.

Ondersteuning & Tips

Meer om te lezen

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.