Како да се реши целосна грешка на дискот на серверот Линукс?
Водич за наоѓање големи датотеки, безбедно чистење логови и ослободување простор на серверот.
Еден од најчестите проблеми на серверите на Линукс е тоа што дискот станува целосно полн. Кога дискот ќе се наполни, веб-локациите не можат да пишуваат датотеки, услугите на базата на податоци може да престанат да работат, серверите за игри може да не снимаат дневници и некои услуги може воопшто да не се стартуваат.
Оваа грешка обично се препознава по следниве симптоми:
- Неуспешно поставување датотеки на серверот
- Исклучување или грешка на услугата на базата на податоци
- На панелот се појавува грешка „Нема простор на уредот“.
- Серверот за игри се исклучува бидејќи не може да се најави.
- На веб-локациите се појавуваат 500 грешки или празни страници
1. Проверка на употребата на дискот
Прво, проверете која партиција на дискот на серверот е полна.
df -h
овде особено Користи% област се смета. Ако делот е 90% или повеќе, тоа значи дека ризикот започнал. Ако е 100% полна, услугите нема да можат да пишуваат датотеки.
2. Најдете ги папките што заземаат најмногу простор
Кога дискот е полн, проблемот обично е логови, резервни копии или датотеки со кеш акумулирани во една папка. Проверете големи папки, почнувајќи од root директориумот.
du -h --max-depth=1 / 2>/dev/null | sort -h
Оваа команда покажува колку простор заземаат домашните директориуми. Обично се проверуваат следните директориуми:
- /var/log - Системски и сервисни дневници
- /дома - Датотеки на корисници и веб-страници
- /резервна копија - Стари резервни датотеки
- /tmp - Привремени датотеки
- /var/lib/mysql - Датотеки со база на податоци MySQL/MariaDB
3. Наведете големи датотеки
Понекогаш една датотека за евиденција може да порасне до 10 GB или повеќе. За да најдете големи датотеки, можете да ја користите оваа команда:
find / -type f -size +500M -exec ls -lh {} \; 2>/dev/nullОваа команда наведува датотеки над 500 MB. Внимателно разгледајте ги добиените датотеки. Посебно .лог, .стари, .gz, .бак а старите резервни датотеки треба да се проверат.
4. Безбедно чистење на датотеки со дневници
Директно бришење на датотеката за евиденција на услуга која работи понекогаш не го дава очекуваниот резултат. Бидејќи услугата може да продолжи да ја одржува датотеката отворена. Затоа, најбезбедниот метод при чистење на големи датотеки за евиденција е да ја испразните датотеката.
truncate -s 0 /var/log/dosya_adi.log
Пример:
truncate -s 0 /var/log/syslog truncate -s 0 /var/log/messages truncate -s 0 /var/log/nginx/error.log
5. Чистење на кешот на пакети
На системи базирани на Ubuntu и Debian, датотеките со кеш на пакети може да заземат простор на дискот со текот на времето.
apt clean apt autoremove -y
На системи CentOS, AlmaLinux или Rocky Linux:
yum clean all dnf clean all
6. Проверка на стари резервни копии
Датотеките што заземаат најмногу простор на серверите за хостирање и игри обично се стари резервни копии. Особено ако има систем за автоматско правење резервни копии, може да се прават нови резервни копии секој ден и старите резервни копии да не се бришат.
find /backup -type f -mtime +7 -name "*.tar.gz" -ls
Оваа команда наведува резервни копии постари од 7 дена. За да избришете откако ќе се уверите:
find /backup -type f -mtime +7 -name "*.tar.gz" -delete
7. Спречете повторно вчитување со поставката Logrotate
Дури и ако дискот се исчисти, ако причината не се коригира, истиот проблем ќе се појави повторно по неколку дена. За ова, мора да се провери конфигурацијата на логотата.
nano /etc/logrotate.conf
Пример едноставна логотичка логика:
/var/log/*.log {
daily
rotate 7
compress
missingok
notifempty
}Оваа поставка секојдневно ги враќа датотеките со дневници, ги чува 7 дена и ги компресира старите дневници.
Вообичаени грешки
- Бришење системски датотеки без да се знае за која датотека се работи
- Бришење на датотеката за евиденција која работи и не ја рестартира услугата
- Чување стари резервни копии неограничено време
- Воопшто не ги проверувам поставките за логротат
- Не интервенирајте додека дискот не се наполни 100%.
Најчесто поставувани прашања
Зошто серверот дава грешка кога дискот е полн?
Бидејќи услугите не можат да пишуваат дневници, кешови, привремени датотеки или бази на податоци. Услугите може да се исклучат кога операцијата за запишување не успее.
Дали е подобро да се избрише или испразни датотеката за евиденција?
Наместо целосно бришење на датотеката за евиденција во активните услуги скрати Побезбедно е да го испразните користејќи.
Го исчистив дискот, но просторот не беше ослободен, зошто?
Избришаната датотека може сè уште да се чува отворена од услуга која работи. Можеби ќе биде неопходно да се рестартира соодветната услуга.
Препораки за перформанси и безбедност
- Редовно следете ја употребата на дискот.
- Чувајте ги резервните копии на посебен диск или далечинска област за резервна копија.
- Не оставајте услуга да работи долго време без да користите логотат.
- Преземете мерки на претпазливост кога дискот ќе достигне ниво од 85%.
- Не оставајте дневници за отстранување грешки постојано отворени на серверите за игри.
Оваа статија е специјално подготвена за PvPServer.