Waarom geeft een NAS de ruimte niet terug na het verwijderen van 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 geen vrije ruimte terugkrijgen nadat een groot bestand verdwijnt omdat het verwijderen van de zichtbare naam slechts een deel is van het vrijmaken van opslag. Een prullenbak, bestandssysteem-snapshot, back-upversie of actief proces kan nog steeds de onderliggende blokken van het bestand vasthouden.

De juiste oplossing hangt af van wat die blokken nog steeds verwijst. Controleer de share, snapshotlaag, actieve services en poolboekhouding in die volgorde. Verwijder niet elke snapshot of herstart de hele NAS voordat je hebt vastgesteld welke laag de ontbrekende ruimte bezit.

De kernoorzaak: het bestand is weg, maar de blokken worden nog steeds verwezen

Een bestand heeft een zichtbare directoryvermelding en opslagblokken met de gegevens. Het verwijderen van de vermelding laat het bestand uit de map verdwijnen, maar het bestandssysteem kan de blokken pas hergebruiken nadat elke resterende verwijzing is vrijgegeven. Dat verschil verklaart waarom een succesvolle verwijdering niet altijd een gelijke toename van vrije ruimte oplevert.

Op een Linux-gebaseerde NAS kan een service een al verwijderd bestand openhouden. De kernel behoudt de gegevens totdat de laatste bestandsdescriptor sluit, ook al kunnen bestandsbrowsers en normale directoryscans het niet meer zien. De uitleg van Red Hat over ruimtebehoud door verwijderde maar open bestanden laat zien waarom het stoppen of netjes herstarten van het houdende proces ruimte vrijmaakt die alleen verwijderen niet deed.

Andere houders werken boven de open-bestandlaag. Een netwerkprullenbakservice kan het bestand verplaatsen in plaats van het te ontkoppelen, terwijl een copy-on-write snapshot opzettelijk de oudere blokken behoudt voor herstel. Het zichtbare resultaat is vergelijkbaar—weinig of geen vrijgemaakte capaciteit—maar de veilige corrigerende actie is anders.

Welke NAS-laag houdt de verwijderde gegevens nog vast?

Begin met het vergelijken van wat er is veranderd na verwijdering. De bestandsnaam kan zijn verplaatst naar een verborgen prullenbakmap, de live dataset kan zijn gekrompen terwijl het snapshotgebruik is toegenomen, of het pooltotaal kan hoger blijven dan de bestanden die directorytools kunnen tellen. Die patronen beperken de ruimtehouder zonder destructieve opschoning.

Wat je observeert Waarschijnlijke ruimtehouder Wat te controleren Veilige volgende stap
Het bestand verdwijnt, maar een prullenbakmap groeit Share prullenbak Prullenbak voor dezelfde share en gebruiker Controleer en leeg de juiste prullenbaklocatie
Gebruik van live dataset daalt, maar poolgebruik verandert nauwelijks Snapshots of bewaarde versies Snapshot-ruimte en bewaartermijnen Verwijder alleen versies buiten het herstelbeleid
Bestandssysteemgebruik is hoger dan de zichtbare directorytotalen Verwijderd bestand blijft opengehouden Processen met niet-gekoppelde open bestanden Herstart of herlaad de houdende dienst op een nette manier
Één share krimpt, maar de totale vrije ruimte van de pool niet Kinddataset, reservering of een andere werklast Gebruik per dataset, toepassing en back-uptaak Corrigeer de werkelijke verbruiker in plaats van de share
Vrije ruimte verandert kort na de verwijdering Wachtende boekhouding of achtergrondopschoning Verse poolstatistieken nadat de activiteit is gestabiliseerd Wacht en vernieuw voordat u een andere wijziging aanbrengt

Een prullenbak is het eenvoudigste geval. Samba’s VFS recycle-bin gedrag onderschept verwijderingsverzoeken en verplaatst bestanden naar een opslagplaats in plaats van ze onmiddellijk te verwijderen. Een bestand dat via een SMB-share is verwijderd, kan dus op dezelfde opslagpool blijven staan, zelfs als het uit de oorspronkelijke map is verdwenen.

Snapshots zijn minder duidelijk omdat ze blokken kunnen behouden zonder een ander gewoon bestand in de live-directory te bewaren. Wanneer een snapshot verwijst naar de toestand vóór verwijdering, verwijdert het verwijderen van het livebestand alleen de huidige verwijzing. Dit voorbeeld van snapshot-ruimteboekhouding toont aan waarom één snapshot weinig kan terugwinnen als andere snapshots nog steeds naar dezelfde blokken verwijzen.

Pool- en sharewaarden kunnen ook verschillende bereiken meten. Een share kan zijn dataset of quota rapporteren, terwijl het opslagdashboard kinddatasets, toepassingsgegevens, back-upversies, reserveringen en door snapshots vastgehouden blokken omvat. Vergelijk gelijksoortige gegevens voordat u concludeert dat het verwijderen is mislukt.

Ruimte terugwinnen zonder herstelgeschiedenis te vernietigen

Terugwinning moet overgaan van omkeerbare controles naar permanente verwijdering. Vernieuw eerst het capaciteitsbeeld en bevestig dat u de juiste pool, dataset en share bekijkt. Een korte vertraging in de boekhouding kan normaal zijn; een aanhoudende kloof nadat de activiteit is gestabiliseerd, geeft aan dat een andere verwijzing of opslagbereik nog onderzocht moet worden.

  1. Bevestig dat het verwijderde bestand afwezig is in de oorspronkelijke share en niet is verplaatst of hernoemd door een toepassing.
  2. Inspecteer de prullenbak die gekoppeld is aan die specifieke share en gebruikersaccount.
  3. Bekijk snapshots en back-upretentie op datum, dataset en geschatte terugwinbare ruimte.
  4. Vergelijk het gebruik van het bestandssysteem met zichtbare directorytotalen om verborgen toewijzing te identificeren.
  5. Controleer kinddatasets, toepassingsvolumes, quota en reserveringen voordat u de pool wijzigt.
  6. Geef de bevestigde houder vrij via de normale retentie-, service- of administratieve controle.

Wanneer het gebruik van het bestandssysteem hoger blijft dan het zichtbare directorytotaal, controleer dan verwijderde bestanden die nog open zijn. De lsof open-bestand controle gebruikt lsof +L1 om bestanden zonder resterende directorykoppeling te tonen. Identificeer het proces en gebruik het normale herlaad- of nette herstartpad; beëindig geen onbekende database- of opslagservice alleen om ruimte vrij te maken.

Voor door snapshots vastgehouden gegevens, schat in wat elke retentiewijziging daadwerkelijk zal terugwinnen voordat herstelpunten worden verwijderd. Blokken die door meerdere snapshots worden gedeeld, kunnen toegewezen blijven totdat de laatste verwijzende snapshot verloopt, dus het verwijderen van één snapshot kan veel minder ruimte teruggeven dan de schijnbare geschiedenisgrootte suggereert. Behoud eerst de herstelwaarde en pas de retentie bewust aan.

Als routinematige verwijderingen de pool herhaaldelijk bijna vol duwen, is het probleem ook capaciteitsplanning. Prullenbakretentie, snapshots, applicaties en back-upgeschiedenis hebben ruimte nodig bovenop de grootte van live-bestanden, dus bruikbare NAS-capaciteitsplanning moet deze minder zichtbare verbruikers omvatten.

Veelgestelde vragen

Waarom herstelde het legen van de NAS-prullenbak slechts een deel van de ruimte?

Dezelfde blokken kunnen nog steeds worden gerefereerd door snapshots, back-upversies of een open proces. Het legen van de prullenbak verwijdert alleen die houder; het overschrijft geen andere verwijzingen of geeft ruimte vrij die door een andere dataset is gereserveerd.

Hoe lang moet een NAS erover doen om de nieuw vrijgekomen ruimte te tonen?

Een korte vertraging terwijl opslagboekhouding en achtergrondwerk zich stabiliseren kan normaal zijn. Als de waarde ongewijzigd blijft nadat het dashboard en de bestandssysteemstatistieken zijn vernieuwd, controleer dan snapshots, verwijderde geopende bestanden, quota en of het weergegeven aantal de share of de hele pool vertegenwoordigt.

Voorkomt RAID dat verwijderde bestanden ruimte vrijgeven?

RAID past normaal gesproken de verwijdering toe over de actieve array; het bewaart het oude bestand niet als herstelgeschiedenis. Prullenbakken en snapshots zijn aparte lagen, terwijl RAID-beschermingslimieten betrekking hebben op beschikbaarheid in plaats van herstel van verwijderde bestanden of ruimtebehoud.

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.