Jak vyřešit chybu plného disku na serveru Linux?
Průvodce vyhledáním velkých souborů, bezpečným čištěním protokolů a uvolněním místa na serveru.
Jedním z nejčastějších problémů na linuxových serverech je, že se disk zcela zaplní. Když se disk zaplní, webové stránky nemohou zapisovat soubory, databázové služby mohou přestat fungovat, herní servery nemusí zaznamenávat protokoly a některé služby se nemusí spustit vůbec.
Tato chyba se obvykle pozná podle následujících příznaků:
- Selhání nahrání souborů na server
- Vypnutí nebo chyba databázové služby
- Na panelu se zobrazuje chyba „Na zařízení nezbývá místo“.
- Herní server se vypne, protože se nemůže přihlásit.
- Na webových stránkách se vyskytuje 500 chyb nebo prázdných stránek
1. Kontrola využití disku
Nejprve zkontrolujte, který diskový oddíl na serveru je plný.
df -h
tady obzvlášť Využití % oblast je zvažována. Pokud je úsek 90 % nebo více, znamená to, že riziko začalo. Pokud je 100% plná, služby nebudou moci zapisovat soubory.
2. Najděte složky, které zabírají nejvíce místa
Když je disk plný, problémem jsou obvykle protokoly, zálohy nebo soubory mezipaměti nahromaděné v jedné složce. Zkontrolujte velké složky, počínaje kořenovým adresářem.
du -h --max-depth=1 / 2>/dev/null | sort -h
Tento příkaz ukazuje, kolik místa zabírají domovské adresáře. Obvykle se kontrolují následující adresáře:
- /var/log - Systémové a servisní záznamy
- /domů - Soubory uživatelů a webových stránek
- /záloha - Staré záložní soubory
- /tmp - Dočasné soubory
- /var/lib/mysql - Databázové soubory MySQL/MariaDB
3. Seznam velkých souborů
Někdy může jeden soubor protokolu narůst na 10 GB nebo více. Chcete-li najít velké soubory, můžete použít tento příkaz:
find / -type f -size +500M -exec ls -lh {} \; 2>/dev/nullTento příkaz zobrazí seznam souborů větších než 500 MB. Pečlivě si prohlédněte výsledné soubory. Zvláště .log, .starý, .gz, .bak a staré záložní soubory by měly být zkontrolovány.
4. Bezpečné čištění souborů protokolu
Přímé odstranění souboru protokolu běžící služby někdy nedává očekávaný výsledek. Protože služba může nadále udržovat soubor otevřený. Proto je nejbezpečnější metodou při čištění velkých souborů protokolu vyprázdnění souboru.
truncate -s 0 /var/log/dosya_adi.log
Příklad:
truncate -s 0 /var/log/syslog truncate -s 0 /var/log/messages truncate -s 0 /var/log/nginx/error.log
5. Čištění mezipaměti balíčku
Na systémech založených na Ubuntu a Debianu mohou soubory mezipaměti balíčků časem zabírat místo na disku.
apt clean apt autoremove -y
Na systémech CentOS, AlmaLinux nebo Rocky Linux:
yum clean all dnf clean all
6. Kontrola starých záloh
Soubory, které zabírají nejvíce místa na hostingových a herních serverech, jsou obvykle staré zálohy. Zejména pokud existuje systém automatického zálohování, mohou být nové zálohy pořizovány každý den a staré zálohy nemusí být odstraněny.
find /backup -type f -mtime +7 -name "*.tar.gz" -ls
Tento příkaz vypíše zálohy starší než 7 dní. Smazání po ujištění:
find /backup -type f -mtime +7 -name "*.tar.gz" -delete
7. Zabraňte opětovnému načtení pomocí nastavení Logrotate
I když je disk vyčištěn, pokud se příčina neodstraní, stejný problém se po několika dnech objeví znovu. K tomu je třeba zkontrolovat konfiguraci logrotate.
nano /etc/logrotate.conf
Příklad jednoduché logrotate logiky:
/var/log/*.log {
daily
rotate 7
compress
missingok
notifempty
}Toto nastavení denně vrací soubory protokolu, uchovává je po dobu 7 dní a komprimuje staré protokoly.
Časté chyby
- Mazání systémových souborů, aniž byste věděli, o jaký soubor se jedná
- Odstranění běžícího souboru protokolu a nerestartování služby
- Uchovávání starých záloh po neomezenou dobu
- Nastavení logrotate vůbec nekontroluji
- Nezasahujte, dokud není disk 100% plný
FAQ
Proč server hlásí chybu, když je disk plný?
Protože služby nemohou zapisovat protokoly, mezipaměti, dočasné soubory nebo databáze. Služby se mohou vypnout, když operace zápisu selže.
Je lepší smazat nebo vyprázdnit soubor protokolu?
Místo úplného odstranění souboru protokolu ve spuštěných službách zkrátit Je bezpečnější jej vyprázdnit pomocí.
Vyčistil jsem disk, ale místo se neuvolnilo, proč?
Smazaný soubor může být stále otevřený spuštěnou službou. Může být nutné restartovat příslušnou službu.
Výkonnostní a bezpečnostní doporučení
- Pravidelně sledujte využití disku.
- Ukládejte zálohy na samostatný disk nebo vzdálenou oblast záloh.
- Nenechávejte službu spuštěnou po dlouhou dobu bez použití logrotate.
- Proveďte preventivní opatření, když disk dosáhne úrovně 85 %.
- Nenechávejte protokoly ladění neustále otevřené na herních serverech.
Tento článek je speciálně připraven pro PvPServer.