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.
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

Kan Plex een GPU delen met een andere Docker-container?
Plex en een andere container kunnen vaak dezelfde GPU gebruiken, maar je moet de driverondersteuning, apparaattoewijzing, belasting van de video-engine, het geheugengebruik en het...

Hoe je kunt bepalen of een Plex-fout door de client of de server wordt veroorzaakt
Reproduceer hetzelfde item op een andere client, vergelijk het sessiepad en verzamel pas serverbewijs nadat de scope heeft uitgewezen waar de fout daadwerkelijk zit.

Plex-cache en tijdelijke opslag voor transcodering configureren
Bescherm de permanente Plex-status door tijdelijke transcodebestanden op geschikte lokale opslag te plaatsen en controleer vervolgens het opruimen, de beschikbare ruimte en het gedrag...

