Een NAS kan vrije capaciteit tonen en toch een groot bestand weigeren wanneer het quotum, de metadata, de bestandslimiet of de toewijsbare opslagruimte van de bestemming is uitgeput.
Het dashboard kan de ruimte voor de hele opslagpool weergeven, terwijl de share deel uitmaakt van een kleinere dataset, thin volume, gebruikersquotum, gereserveerd bestandssysteem of een bijna uitgeput metadata-profiel. Voor een grote upload kan ook tijdelijke ruimte, een tweede kopie of een afzonderlijke bestandsgrootte nodig zijn die het bestandssysteem van de bestemming niet kan verwerken. Begin met het exacte pad dat faalt en de foutcode, in plaats van ervan uit te gaan dat het algemene cijfer voor vrije ruimte de bewerking beschrijft.
Identificeer welk bestandssysteem en welke limiet de share daadwerkelijk gebruikt
Breng de SMB- of applicatieshare in kaart naar het hostpad, koppelpunt, dataset, subvolume, thin volume en de onderliggende opslagpool. Noteer vrije blokken, vrije inodes, de gebruikersidentiteit en de grootte van het geweigerde bestand.
GNU legt uit dat df het gekoppelde bestandssysteem rapporteert dat bij een pad hoort, en niet elke pool, elk quotum, elke snapshot of elke toepassingslimiet erboven en eronder.
Als de share naar een systeempartitie of een kleinere gekoppelde dataset schrijft, is vrije ruimte in de hele pool niet relevant. Corrigeer het pad of de koppeling voordat je gegevens uit de verkeerde opslaglaag verwijdert.
Controleer gebruikers-, groeps-, dataset- en sharequota
Vergelijk de weergave van de beheerder met de quota die zijn toegepast op de daadwerkelijke SMB-gebruiker, groep, dataset, het project of de gedeelde map. Test met hetzelfde account dat de fout ontvangt.
Oracle documenteert dat ZFS quota en reserveringen één dataset kunnen beperken, ook wanneer er ongebruikte ruimte in de pool overblijft, of beschikbare capaciteit voor een andere dataset kunnen reserveren.
Verwijder quota niet globaal. Verhoog alleen de bewezen limiet of verplaats het bestand naar een dataset waarvan het capaciteitsbeleid bij de werklast past.
Vergelijk gegevensruimte met metadata en toewijzingsruimte
Controleer gegevens, metadata, systeemtoewijzing, blokgroepen en bestandssysteemspecifieke reserveringsmeters. Voor het aanmaken van een groot bestand kunnen naast de bytes van de inhoud ook metadata-updates en copy-on-write-werkruimte nodig zijn.
De Btrfs-documentatie vermeldt dat het bestandssysteem ENOSPC kan melden ondanks zichtbare vrije ruimte wanneer niet aan de vereisten voor toewijzing en copy-on-write kan worden voldaan.
Als metadata beperkt is, gebruik dan ondersteunde diagnostiek voor het bestandssysteem en gerichte herstelacties. Vul de resterende ruimte niet met nog een groot testbestand en start geen ongerichte balansbewerking zonder eerst de beschikbare werkruimte te meten.
Controleer inodes en limieten voor bestandsrecords
Noteer het aantal vrije inodes of bestandsrecords en tel kleine bestanden in caches, e-mailopslag, miniaturen, uitgepakte pakketten en applicatiemappen. Veel vrije bytes garanderen niet dat nog een directory-item of metadatarecord kan worden toegewezen.
Het bestandssysteemoverzicht van Red Hat legt uit dat XFS inodes dynamisch toewijst en dat bestandssysteemimplementaties verschillende limieten voor inodes en bestandsrecords hebben.
Als de inodes op zijn, verwijder of archiveer dan een gecontroleerde cache met veel bestanden via de applicatie die deze beheert. Eén groot bestand verwijderen lost een tekort aan bestandsrecords niet op.
Controleer de maximale bestandsgrootte en indeling van de bestemming
Identificeer het bestandssysteem van de bestemming en vergelijk de maximale grootte van één bestand met de grootte van de upload. Houd ook verwijderbare staging-schijven, USB-back-upbestemmingen en tijdelijke applicatiemappen in de gaten.
Het NTFS-overzicht van Microsoft laat zien dat de maximale bestandsgrootte afhankelijk is van het ontwerp van het bestandssysteem en van toewijzingsparameters. Vrije ruimte in totaal omzeilt dus geen limiet voor één bestand.
Als de fout rond een vaste grens optreedt, zoals 4 GB, controleer dan elk tussenliggend bestandssysteem en het volledige uploadpad. Formatteren vernietigt gegevens; migreer gecontroleerde bestanden daarom eerst naar een andere locatie voordat je de indeling van de bestemming wijzigt.
Meet vereisten voor tijdelijke bestanden, sparse bestanden en vooraf toewijzen
Controleer of de uploader een tijdelijk bestand schrijft, de volledige bestemming vooraf toewijst, de oude versie bewaart tot het hernoemen is voltooid of een archief uitpakt in extra bestanden. Noteer de maximale toewijzing in plaats van alleen de uiteindelijke bestandsgrootte.
De systeemaanroep fallocate reserveert schijfruimte, zodat latere schrijfbewerkingen niet mislukken door ruimtegebrek. Daardoor kan een applicatie een groot bestand weigeren voordat alle gegevens zijn overgedragen.
Kies een tijdelijke map op de bedoelde gegevenspool of schakel vooraf toewijzen alleen uit wanneer de applicatie dit veilig ondersteunt. Houd voldoende marge voor het oorspronkelijke bestand, de tijdelijke kopie, metadata en snapshots tijdens het vervangen.
Reproduceer de exacte fout met een gecontroleerd bestand
Maak testbestanden onder en boven de grootte waarbij het probleem optreedt, met dezelfde gebruiker, hetzelfde protocol, pad en dezelfde applicatie. Leg de clientfout en het serverlogboek vast zonder het productiebestand herhaaldelijk opnieuw te proberen.
De ZimaSpace-handleiding voor het vinden van onverwacht NAS-ruimtegebruik biedt de aanvullende methode om zichtbare mappen te vergelijken met de daadwerkelijke toewijzing in het bestandssysteem.
Het probleem is opgelost wanneer de vastgestelde limiet voor quota, metadata, inodes, indeling of tijdelijke ruimte is gecorrigeerd en een bestand dat groter is dan de eerdere foutgrens wordt geschreven, gesloten, opnieuw geopend en succesvol geverifieerd. Stop met schrijven als het bestandssysteem alleen-lezen wordt of beschadiging of hardwarefouten meldt.
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...

