Waarom meldt een NAS vrije ruimte, maar weigert hij nieuwe grote bestanden?

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

-15% OFF
Single board computer zimaboard2

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

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.