Hoe schijf vol fout op Linux Server op te lossen?
Een gids voor het vinden van grote bestanden, het veilig opschonen van logbestanden en het vrijmaken van ruimte op de server.
Een van de meest voorkomende problemen op Linux-servers is dat de schijf helemaal vol raakt. Wanneer de schijf vol raakt, kunnen websites geen bestanden meer schrijven, werken databaseservices mogelijk niet meer, kunnen gameservers geen logbestanden registreren en starten sommige services mogelijk helemaal niet.
Deze fout wordt meestal herkend aan de volgende symptomen:
- Kan bestanden niet naar de server uploaden
- Databaseservice afgesloten of fout
- De foutmelding 'Geen ruimte over op apparaat' verschijnt op het paneel
- De spelserver wordt afgesloten omdat deze niet kan inloggen.
- Er komen 500 fouten of blanco pagina's voor op websites
1. Schijfgebruik controleren
Controleer eerst welke schijfpartitie op de server vol is.
df -h
hier vooral Gebruik% gebied wordt beschouwd. Als een sectie 90% of hoger is, betekent dit dat het risico is begonnen. Als deze 100% vol is, kunnen services geen bestanden schrijven.
2. Zoek de mappen die de meeste ruimte in beslag nemen
Wanneer de schijf vol is, wordt het probleem meestal veroorzaakt door logbestanden, back-ups of cachebestanden die in één map zijn verzameld. Controleer grote mappen, beginnend vanuit de hoofdmap.
du -h --max-depth=1 / 2>/dev/null | sort -h
Deze opdracht laat zien hoeveel ruimte de thuismappen in beslag nemen. Meestal worden de volgende mappen gecontroleerd:
- /var/log - Systeem- en servicelogboeken
- /thuis - Gebruikers- en websitebestanden
- /back-up - Oude back-upbestanden
- /tmp - Tijdelijke bestanden
- /var/lib/mysql - MySQL/MariaDB-databasebestanden
3. Maak een lijst van grote bestanden
Soms kan een enkel logbestand uitgroeien tot 10 GB of meer. Om grote bestanden te vinden, kunt u deze opdracht gebruiken:
find / -type f -size +500M -exec ls -lh {} \; 2>/dev/nullMet deze opdracht worden bestanden weergegeven die groter zijn dan 500 MB. Bestudeer de resulterende bestanden zorgvuldig. Vooral .log, .oud, .gz, .bak en oude back-upbestanden moeten worden gecontroleerd.
4. Veilig opschonen van logbestanden
Het direct verwijderen van het logbestand van een actieve service geeft soms niet het verwachte resultaat. Omdat de service het bestand open kan blijven houden. Daarom is de veiligste methode bij het opschonen van grote logbestanden het legen van het bestand.
truncate -s 0 /var/log/dosya_adi.log
Voorbeeld:
truncate -s 0 /var/log/syslog truncate -s 0 /var/log/messages truncate -s 0 /var/log/nginx/error.log
5. Pakketcache opschonen
Op op Ubuntu en Debian gebaseerde systemen kunnen pakketcachebestanden na verloop van tijd schijfruimte in beslag nemen.
apt clean apt autoremove -y
Op CentOS-, AlmaLinux- of Rocky Linux-systemen:
yum clean all dnf clean all
6. Oude back-ups controleren
De bestanden die de meeste ruimte innemen op hosting- en gameservers zijn meestal oude back-ups. Vooral als er een automatisch back-upsysteem is, kunnen er elke dag nieuwe back-ups worden gemaakt en mogen oude back-ups niet worden verwijderd.
find /backup -type f -mtime +7 -name "*.tar.gz" -ls
Met deze opdracht worden back-ups weergegeven die ouder zijn dan 7 dagen. Om te verwijderen nadat u er zeker van bent dat:
find /backup -type f -mtime +7 -name "*.tar.gz" -delete
7. Voorkom herladen met Logrotate-instelling
Zelfs als de schijf wordt schoongemaakt, zal hetzelfde probleem na een paar dagen opnieuw optreden als de oorzaak niet wordt verholpen. Hiervoor moet de logrotate-configuratie worden gecontroleerd.
nano /etc/logrotate.conf
Voorbeeld van eenvoudige logrotatielogica:
/var/log/*.log {
daily
rotate 7
compress
missingok
notifempty
}Deze instelling retourneert dagelijks logbestanden, bewaart deze zeven dagen en comprimeert oude logbestanden.
Veelvoorkomende fouten
- Systeembestanden verwijderen zonder te weten welk bestand het is
- Het actieve logbestand verwijderen en de service niet opnieuw starten
- Oude back-ups voor onbepaalde tijd bewaren
- Controleer de logrotate-instellingen helemaal niet
- Grijp pas in als de schijf 100% vol is
Veelgestelde vragen
Waarom geeft de server een foutmelding als de schijf vol is?
Omdat services geen logs, caches, tijdelijke bestanden of databases kunnen schrijven. Services worden mogelijk afgesloten als de schrijfbewerking mislukt.
Is het beter om het logbestand te verwijderen of leeg te maken?
In plaats van het logbestand volledig te verwijderen bij actieve services afkappen Het is veiliger om het te legen met behulp van.
Ik heb de schijf schoongemaakt, maar er is geen ruimte vrijgemaakt. Waarom?
Het verwijderde bestand kan nog steeds open worden gehouden door een actieve service. Het kan nodig zijn om de betreffende dienst opnieuw te starten.
Prestatie- en beveiligingsaanbevelingen
- Controleer het schijfgebruik regelmatig.
- Bewaar back-ups op een aparte schijf of op een externe back-upruimte.
- Laat een service niet lang draaien zonder logrotate te gebruiken.
- Neem voorzorgsmaatregelen wanneer de schijf een niveau van 85% bereikt.
- Laat debuglogs niet voortdurend open staan op gameservers.
Dit artikel is speciaal opgesteld voor PvPServer.