Onafhankelijke vergelijking · geen betaalde rankings
Home / Blog / Technisch / Linux-schijf vol: spoor de oorzaak op voordat u deze dringend verwijdert

Linux-schijf vol: spoor de oorzaak op voordat u deze dringend verwijdert

Bij 100% schijf weigert systemd logs te schrijven - en je verliest aanwijzingen over wat het volume heeft gevuld. Eerst diagnosticeren, later verwijderen.

Redactie Hébergeurs.eu 5 min

De app retourneert 500. SSH werkt nog steeds. df -h toont 100% op /. De reflex: rm -rf /var/log/*.log. Dat maakt 200 MB vrij - en de schijf is binnen twee uur vol omdat niemand zag dat MySQL binlog- of Docker-logs 40 GB in beslag namen.

Een volle schijf is een symptoom, geen diagnose.

Snel lezen df/du

df -hT: bestandssysteemtype, inodes (df -i). du -xh / --max-diepte=1 op mountpunt.

Vergelijk df versus totaal - gap = verwijderde geopende bestanden of verborgen mount.

Vaak voorkomende boosdoeners

BronWaar te kijken
gejournaliseerdjournalctl --schijfgebruik
Dokwerkerdocker-systeem df -v
MySQL-binlog/var/lib/mysql
Applogs/var/log, opslag/logboeken
Kernen/var/crash, kerndumps
Lokale back-ups/back-up, /tmp

Tijdlijn: vind /var -mtime -1 -size +100M.

Verwijderd maar open

lsof +L1 | grep verwijderd — klassiek na mislukte rotatie of groot log verwijderd zonder HUP.

Oplossing: app opnieuw laden, php-fpm/mysql opnieuw opstarten, niet alleen rm.

Noodacties bevolen

  1. Identificeer de top 3 bestanden.
  2. Vacuümjournaal indien > 500 MB.
  3. Bekend logbestand afkappen (copytruncate) versus verwijderen.
  4. Docker pruim na lijstvolumes.
  5. Vergroot indien mogelijk het wolkenvolume vóór de operatie.

Duurzame preventie

Monitoring inode + ruimte. Logrotatie getest. SystemMaxUse= gejournaliseerd. Docker --log-opt max-size=10m. Waarschuwingsrunbook gekoppeld aan de juiste koppeling.

Runbook 15 minuten

Minuut 0–3: df -hT + df -i + du -xh / --max-diepte=1.

Minuut 3-6: journalctl --disk-usage, docker system df indien van toepassing.

Minuut 6–9: lsof +L1 | head als df/du gap.

Minuut 9–12: gerichte actie (vacuüm, houtroté inkorten, vermelde dockervolumes snoeien).

Minuut 12–15: df verificatie + monitoringbevestigingswaarschuwing + ticket voor de hoofdoorzaak.

Verboden: rm -rf zonder top 3 mappen geïdentificeerd. Verplicht: postmortemaantekening bij >80% productimpact.

Typisch post-mortem

Tijdlijn: waarschuwing 80% genegeerd → 95% → 100% → storing. Hoofdoorzaak: foutopsporingslogboek van toepassing vrijdag geactiveerd zonder rotatie. Actie: prod op logboekniveau + waarschuwing 85% + runbook.

Capaciteit: voorspelde groeilogboeken MB/dag × retentie.

Schijf automatisch schalen in de cloud, indien beschikbaar: script laat het bestandssysteem groeien na het wijzigen van de grootte.

Automatische dagelijkse cloud-snapshots zonder levenscyclus: accumulatie van snapshots = bovenliggende schijf indirect vol - beoordeling van beleidssnapshots.

Mail postfix/exim-wachtrij geblokkeerde schijf vol: enorme achterstand bij het herstellen - controleer de statistiek van de wachtrijlengte.

Voorspelbare groei

Toegangslogboeken ×10 tijdens promotie: rotatie vóór inrichting per uur tijdelijk of schijfupgrade voor campagne.

MySQL binlog vervaldatum: expire_logs_days of max_binlog_size — binlog vergeten = volledige schijf gegarandeerd onder schrijfzwaar.

ZFS/btrfs-snapshots tellen de ruimte — maak geen snapshots van een al volle schijf in een lus.

Operationele samenvatting

Volledige schijfproductie op Linux is bijna altijd voorspelbaar met 80/90 waarschuwingen, geteste logrotatie en kennis van de consument (journaal, Docker, binlog, lokale back-ups). In noodgevallen: diagnose met df, du, lsof vóór rm.

Cloud: vergroot het volume veiliger dan blind zuiveren als er sprake is van legitieme groei. Verplichte post-mortem als impact op de klant – vaak vergeten foutopsporingslogboek geactiveerd.

Houd een gedateerd runbook bij, voor/na-statistieken en beoordeling na incidenten: cumulatieve discipline voorkomt paniek op vrijdagavond.

Houd een gedateerd runbook bij, voor/na-statistieken en beoordeling na incidenten: cumulatieve discipline voorkomt paniek op vrijdagavond.

Houd een gedateerd runbook bij, voor/na-statistieken en beoordeling na incidenten: cumulatieve discipline voorkomt paniek op vrijdagavond.

Houd een gedateerd runbook bij, voor/na-statistieken en beoordeling na incidenten: cumulatieve discipline voorkomt paniek op vrijdagavond.

Houd een gedateerd runbook bij, voor/na-statistieken en beoordeling na incidenten: cumulatieve discipline voorkomt paniek op vrijdagavond.

Houd een gedateerd runbook bij, voor/na-statistieken en beoordeling na incidenten: cumulatieve discipline voorkomt paniek op vrijdagavond.

Post-mortem

Debug log vrijdag zonder rotatie. De kortstondige opslag van K8 doodt pods voordat het knooppunt vol is.

Houd een gedateerd runbook bij, voor/na-statistieken en beoordeling na incidenten: cumulatieve discipline voorkomt paniek op vrijdagavond.

Houd een gedateerd runbook bij, voor/na-statistieken en beoordeling na incidenten: cumulatieve discipline voorkomt paniek op vrijdagavond.

Beslis en ga vooruit zonder blinde vlek

  1. Runbook 15 minutendf -hT, df -i, du topniveau, journalctl --disk-usage, docker-systeem df.
  2. Zoeken naar geopende verwijderde bestandenlsof +L1 als verschil df/du.
  3. Gerichte actie — vacuümlogboek, logboek roté afkappen, vermelde dockervolumes snoeien; nooit rm -rf zonder top 3 dirs.
  4. Waarschuwing over het derivaat — groei in GB/dag, niet slechts een drempel van 90%.
  5. Post-mortem indien impact op product — hoofdoorzaak dezelfde week gedocumenteerd.

Monitor schijf en inode op VPS via de vergelijker en de overzicht.

Veelgestelde vragen

df zegt 100% maar kan niets vinden?

Verwijderde bestanden zijn nog steeds geopend door een proces (verwijderd maar open). lsof +L1 of start de betreffende dienst opnieuw.

Wat moet u als eerste zuiveren in een noodgeval?

journalctl --vacuum, oude verrotte logs, /tmp — nooit /var/lib zonder identificatie (DB, docker).

Docker vult vaak waar?

/var/lib/docker/overlay2, json-bestandslogboeken niet beperkt, verweesde volumes.

Hoe voorkomen?

80/90% waarschuwingen, logroteren, journald-limiet, docker-logboek kiest voor maximale grootte.


Volgende 100% schijf: voer du en lsof +L1 uit vóór elke rm - uw toekomst zal u dankbaar zijn.

Vergelijk Europese providers

Filter op compliance, locatie en gebruikssituatie — open daarna de fiches om het echte bereik te controleren.

Blader door het overzicht
Blog

Gerelateerde lectuur

Alle artikelen →