Как просмотреть занятое пространство на дисках
Комментарии (3)
Ответ сгенерирован нейросетью и может содержать ошибки
Мониторинг занятого пространства на дисках в Linux/UNIX системах
В системах Linux и UNIX существует несколько инструментов для проверки занятого дискового пространства. DevOps Engineer должен регулярно отслеживать эти метрики для предотвращения переполнения дисковой системы, что может привести к остановке сервисов или нестабильности системы. Вот основные команды и их назначение.
Основные команды для анализа дискового пространства
1. df (Disk Free) – общее использование файловых систем
Команда df показывает общую информацию о всех файловых системах: размер, использованное и свободное пространство, процент использования и точку монтирования.
df -h
-h: Форматирует вывод в "человеческом" формате (ГБ, МБ, КБ вместо байтов).- Важно отслеживать разделы с высоким процентным использованием (
Use%), особенно/,/var,/home. Критическим значением часто считается 90%.
Пример вывода:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 50G 45G 3G 94% /
/dev/sdb1 200G 120G 80G 60% /data
2. du (Disk Usage) – детальный анализ пространства в директориях
Команда du используется для подсчета пространства, занимаемого конкретными файлами и директориями. Это ключевой инструмент для поиска "тяжелых" данных.
du -sh /var/log/*
-s: Показывает суммарный размер для каждого аргумента.-h: Человекочитаемый формат.- Эта команда покажет размер всех директорий и файлов в
/var/log, что помогает найти источник переполнения (например, большие файлы журналов).
Для глубокого анализа и поиска самых больших директорий в конкретном месте:
du -h /some/path | sort -rh | head -20
sort -rh: Сортирует вывод по размеру в обратном порядке (-r) с учетом человеческого формата (-h).head -20: Показывает первые 20 строк – крупнейшие директории.
Мониторинг с помощью графических инструментов и автоматизации
1. Автоматизация и регулярный мониторинг В DevOps для постоянного контроля используются:
- Системы мониторинг (Prometheus, Grafana): Агенты (node_exporter) собирают метрики дисков и выводят их на графики. Создаются алерты при достижении критических значений (например, >85%).
- Периодические скрипты: Bash или Python скрипты, запускаемые по cron, которые анализируют
dfи отправляют уведомления в Slack/Email.
Пример простого скрипта для проверки:
#!/bin/bash
THRESHOLD=90
OUTPUT=$(df -h | awk 'NR>1 {print $5, $6}' | sed 's/%//')
while read -r usage mount; do
if [ "$usage" -gt "$THRESHOLD" ]; then
echo "ALERT: Mount point $mount is at ${usage}% usage!"
# Здесь можно добавить отправку в Slack или через mail
fi
done <<< "$OUTPUT"
2. Графические инструменты Для локальной интерактивной диагностики можно использовать:
- ncdu (NCurses Disk Usage): Интерактивный TUI-инструмент, позволяющий быстро "нырнуть" в директории и увидеть распределение пространства.
ncdu /var
После запуска можно перемещаться по дереву директорий с помощью клавиатуры.
Практические шаги при обнаружении проблемы
Если вы обнаружили раздел с критическим заполнением:
- Определите источник: Используйте
duиncduв точке монтирования, чтобы найти самые большие файлы/директории. - Очистите временные данные: Проверьте
/tmp, кэши приложений, старые журналы (/var/log). Используйтеlogrotateдля управления логами. - Рассмотрите расширение диска: Если это постоянная проблема, возможно, потребуется увеличить объем LVM или добавить новый диск.
Понимание и регулярное использование этих команд является базовой обязанностью DevOps, обеспечивающей стабильность и производительность инфраструктуры.