6.4.6 Как определять сколько места или inode занято на сервере
Дисковое пространство является критически важным ресурсом для любого сервера. Оно определяет, сколько данных может хранить и обрабатывать Ваша система. Эффективное управление дисковым пространством является ключевым для обеспечения бесперебойной работы сервера.
В Linux-системах дисковое пространство распределяется не только по объему данных, но и по количеству файлов. Каждый файл или директория связаны с уникальным идентификатором, который называется inode (индексный дескриптор). inode содержит метаданные о файле, такие как права доступа, владелец, размер и расположение на диске.
Важно отметить: исчерпание дискового пространства или inode может иметь серьезные последствия для функционирования Вашего сервера, сайтов и почты.
Это может привести к следующим последствиям:
-
Неработоспособность сайта и почты: когда заканчивается место на диске, сайт может перестать работать, поскольку невозможно записывать новые данные или логи.
-
Проблемы с базами данных: базы данных могут перестать обновляться или вообще отказать в работе.
-
Сбои в работе сервисов: системные сервисы могут перестать функционировать из-за невозможности записать логи или временные файлы.
-
Невозможность резервного копирования: если на диске нет свободного места, создание резервных копий становится невозможным.
-
Замедление работы системы: даже если система еще работает, нехватка свободного места может значительно снизить ее производительность. Или при попытках записи данных сервер будет зависать.
Регулярный мониторинг и своевременное управление дисковым пространством критически важны для обеспечения стабильной работы Вашего сервера и сайтов.
Команды для анализа дискового пространства
Для пользователей, имеющих доступ к панели управления ISPManager, существует простой способ проверки использования дискового пространства без необходимости использования командной строки. Но при этом он менее информативен и не предоставит Вам такое количество информации, которое Вы можете получить при проверке через терминал SSH.
Подробную инструкцию по проверке и управлению дисковыми квотами через панель ISPManager можно найти в нашей статье.
Важно: большинство из приведенных команд требуют доступа уровня администратора root.
Проверка занятого места в процентах
Для проверки количества занятого места в процентах, подключитесь к серверу с помощью SSH и выполните следующую команду:
Команда отображает общий объем каждого раздела файловой системы, объем использованного и свободного места, а также процент использованного пространства. Вся информация представлена в удобных для чтения единицах (KB
, MB
, GB
), что позволяет легко оценить состояние дисковой системы.
Анализ размера директорий
Чтобы увидеть, сколько места занимают папки в корневой директории, используйте команду:
Эта команда показывает размер каждой поддиректории от уровня доступа пользователя.
При необходимости Вы можете добавить символ /
конце команды, тем самым вся информация по размеру будет выведена от корневой папки сервера.
Дополнительно, Вы можете указать путь к необходимому каталогу, если нужно проверить место определенного пользователя или сайта:
При формировании пути нужно указывать логин Вашего пользователя (user
) и название сайта (example.com
). Путь можно изменить, оставив, например, /var/www/user/data/
, тем самым Вы узнаете, сколько занимает информация именно на этом пользователе.
Поиск самых больших файлов
Для поиска 10 самых больших файлов в системе:
Очистка кэша пакетного менеджера
Для систем Debian/Ubuntu:
Для систем CentOS/AlmaLinux/RockyLinux:
Удаление старых файлов журналов
Чтобы удалить файлы журналов, старше 7 дней:
Команды для проверки inode
Проверка использования inode
Для проверки количества занятых inode в процентах, выполните:
Эта команда предоставляет гораздо больше информации, чем просто проверка занятых inode
. Она отображает общее количество inode
на файловой системе, количество использованных и свободных inode
, а также процент использованных. Это позволяет получить полное представление о состоянии файловой системы.
Подсчет inode в конкретной директории
Для подсчета общего количества inode
в указанной директории и ее поддиректориях:
Вы можете модифицировать эту команду, добавив следующие аргументы:
- -user
user
- выведет количество inode, принадлежащих указанному пользователю, в нашем примере логин пользователяusername
. Вам нужно будет подставить своего пользователя. - -group
group
- выведет количество inode, принадлежащих указанной группе.
Например:
Поиск директорий с наибольшим количеством файлов
Чтобы найти директории, содержащие наибольшее количество inode
, используйте:
Дополнительно: на основе полученной информации Вы можете предпринять следующие меры для оптимизации использования дискового пространства.
-
Удаление ненужных файлов: регулярно очищайте систему от временных файлов, старых логов и неиспользуемых данных.
-
Архивация старых данных: сжимайте и перемещайте редко используемые файлы на отдельные носители для освобождения места на основном диске.
-
Использование символических ссылок: создавайте символические ссылки вместо дублирования файлов для экономии как места на диске, так и inode.
-
Настройка квот: установите ограничения на использование дискового пространства для пользователей и групп, чтобы предотвратить чрезмерное потребление ресурсов.