DevOps

Как проверить свободное место на диске в /home на AlmaLinux

Пошаговое руководство по проверке свободного места на диске в директории /home на сервере AlmaLinux. Команды df, mount и du для анализа дискового пространства.

2 ответа 1 просмотр

Как проверить свободное место на диске в директории /home на сервере с AlmaLinux? Как определить, какой раздел примонтирован к папке /home и сколько места в нем осталось?

Проверка свободного места на диске в директории /home на сервере с AlmaLinux выполняется с помощью команд df -h /home для отображения информации о свободном месте и mount | grep /home для определения, какой раздел примонтирован к папке /home. Эти стандартные команды Linux помогут вам быстро оценить доступное пространство и идентифицировать раздел, ответственный за хранение данных пользователей.


Содержание


Проверка свободного места на диске в AlmaLinux

Для проверки свободного места на диске в директории /home на сервере с AlmaLinux существует несколько эффективных методов. Основная задача здесь — понять, как именно организовано хранение данных и сколько ресурсов доступно для пользователей.

Команда df (disk free) является самым простым способом получить информацию о свободном месте на файловых системах. Когда вы выполняете команду df -h /home, вы получаете наглядный отчет о разделе, который примонтирован к директории /home. Флаг -h (human-readable) отображает размеры в удобном для чтения формате (GB, MB, KB) вместо блоков.

Важно отметить, что AlmaLinux, будучи основанной на Red Hat Enterprise Linux, наследует те же инструменты управления хранением данных. Согласно документации Red Hat Enterprise Linux, в системе доступны различные опции для управления дисками, включая создание разделов, шифрование, RAID-массивы и сетевые хранилища.

Когда вы вводите df -h /home, вы увидите примерно такой вывод:

Filesystem Size Used Avail Use% Mounted on
/dev/sda3 500G 120G 380G 24% /home

Это показывает, что раздел /dev/sda3 размером 500ГБ примонтирован к /home, из них использовано 120ГБ (24%), а доступно 380ГБ. Но как узнать, что это именно за раздел? Для этого нужна следующая команда.

Почему /home может быть отдельным разделом?

В современных Linux-системах /home часто выделяют в отдельный раздел по нескольким причинам:

  • Безопасность: если система будет повреждена, пользовательские данные останутся в целости
  • Удобство резервного копирования: можно бэкапировать только /home раздел
  • Масштабируемость: можно назначить /home больше места, чем остальной системе
  • Мультизагрузка: /home может быть общим для нескольких дистрибутивов

Определение раздела, примонтированного к /home

Чтобы точно определить, какой раздел диска примонтирован к директории /home, используется команда mount. Когда вы выполняете mount | grep /home, система покажет все записи из таблицы монтирования, содержащие /home.

Пример вывода команды:

/dev/sda3 on /home type ext4 (rw,relatime)

Из этой строки мы видим:

  • Устройство: /dev/sda3
  • Точка монтирования: /home
  • Тип файловой системы: ext4
  • Опции монтирования: rw (чтение/запись), relatime

Альтернативный способ — использовать команду lsblk (list block devices), которая покажет иерархию блочных устройств:

NAME MAJ:MIN RM SIZE RO MOUNTPOINT
sda 8:0 0 500G 0 
├─sda1 8:1 0 1G 0 /boot
├─sda2 8:2 0 50G 0 /
└─sda3 8:3 0 450G 0 /home

Здесь четко видно, что раздел sda3 размером 450ГБ смонтирован в /home. Команда lsblk особенно полезна, когда нужно понять всю структуру дисков и их разделов.

Еще один полезный инструмент — findmnt (find mount):

TARGET SOURCE FSTYPE OPTIONS
/home /dev/sda3 ext4 rw,relatime

Эта команда предоставляет информацию о точках монтирования в более удобном формате.

Как определить UUID раздела?

UUID (Universally Unique Identifier) — это уникальный идентификатор раздела, который часто используется в файлах конфигурации вместо имени устройства. Чтобы узнать UUID раздела /home, используйте:

blkid /dev/sda3

Вывод будет примерно таким:

/dev/sda3: UUID="a1b2c3d4-e5f6-7890-abcd-ef1234567890" TYPE="ext4" PARTUUID="..."

Это полезно, когда нужно настроить fstab для автоматического монтирования при загрузке системы.


Команды df и du для анализа дискового пространства

Команда df (disk free) — это основной инструмент для анализа общего использования дискового пространства на уровне файловых систем. Она показывает, сколько места доступно на каждом смонтированном разделе.

Основные опции команды df:

  • -h или --human-readable: отображает размеры в читаемом формате (K, M, G)
  • -T или --print-type: показывает тип файловой системы
  • -i или --inodes: показывает информацию об inode вместо блоков
  • -x или --exclude-type: исключает определенные типы файловых систем

Примеры использования:

# Показать все смонтированные файловые системы в читаемом формате
df -h

# Показать информацию только о /home
df -h /home

# Показать типы файловых систем
df -Th

# Показать использование inode
df -i /home

Команда du (disk usage) — это более детальный инструмент для анализа использования дискового пространства на уровне файлов и директорий. Она показывает, сколько места занимает каждый файл и папка.

Основные опции команды du:

  • -h или --human-readable: отображает размеры в читаемом формате
  • -s или --summarize: показывает только итоговый размер
  • -a или --all: показывает размер всех файлов, а не только директорий
  • --max-depth=N: ограничивает глубину анализа
  • --exclude=PATTERN: исключает файлы по шаблону

Примеры использования:

# Показать использование места в текущей директории
du -h

# Показать использование места в /home с суммированием
du -sh /home

# Показать использование места в /home с детализацией по пользователям
du -sh /home/*

# Показать 10 самых "тяжелых" директорий в /home
du -sh /home/* | sort -hr | head -10

Сравнение df и du:

Важно понимать разницу между этими двумя командами:

  • df показывает использование на уровне файловых систем
  • du показывает использование на уровне файлов и директорий
  • df включает метаданные файловой системы
  • du не включает метаданные, но может учитывать “дыры” в файлах

Иногда значения, показываемые df и du для одной директории, могут отличаться. Это нормально и объясняется разным подходом к подсчету.

Анализ использования места пользователями:

Чтобы проанализировать, какие пользователи больше всего занимают место в /home, можно использовать:

# Показать использование места по пользователям
du -sh /home/* | sort -hr

# С отсортированным выводом по размеру
du -sh /home/* 2>/dev/null | sort -hr

# Включая скрытые файлы
du -sh /home/* /home/.[^.]* 2>/dev/null | sort -hr

Эти команды помогут идентифицировать “тяжелых” пользователей, которые могут потреблять много дискового пространства.


Расширенные методы мониторинга дискового пространства

Для эффективного управления дисковым пространством в AlmaLinux можно использовать более продвинутые методы и инструменты. Эти подходы помогут автоматизировать мониторинг и получать уведомления при приближении к лимитам места.

Мониторинг с помощью cron:

Настройте регулярный мониторинг дискового пространства с помощью cron. Создайте скрипт, который будет проверять свободное место и отправлять отчеты:

bash
#!/bin/bash
# Проверка свободного места в /home
THRESHOLD=80 # порог в процентах
CURRENT_USAGE=$(df -h /home | awk 'NR==2 {print $5}' | tr -d '%')

if [ "$CURRENT_USAGE" -gt "$THRESHOLD" ]; then
 # Отправка уведомления
 echo "Предупреждение: использование диска /home достигает $CURRENT_USAGE%" | mail -s "Диск /home почти заполнен" admin@server.com
fi

Добавьте этот скрипт в cron для автоматического выполнения:

0 6 * * * /path/to/disk_monitor.sh

Использование logrotate для управления логами:

Лог-файлы могут занимать значительное место в /home. Настройте logrotate для автоматического сжатия и удаления старых логов:

/path/to/logfiles/*.log {
 daily
 rotate 7
 compress
 missingok
 notifempty
 create 644 root root
}

Анализ больших файлов:

Для поиска больших файлов в /home используйте:

bash
# Найти файлы больше 100МБ
find /home -type f -size +100M

# Найти 10 самых больших файлов
find /home -type f -exec ls -lh {} \; | sort -k5 -hr | head -10

# Найти большие файлы по расширению
find /home -name "*.log" -size +50M

Использование ncdu (NCurses Disk Usage):

Установите и используйте ncdu для интерактивного анализа дискового пространства:

bash
sudo dnf install ncdu
ncdu /home

Эта утилита предоставляет интерактивный интерфейс для навигации по директориям и просмотра использования места.

Мониторинг с помощью Zabbix или Prometheus:

Для корпоративных сред настройте мониторинг дискового пространства с помощью систем мониторинга:

  • Zabbix может отслеживать использование диска и отправлять уведомления
  • Prometheus с экспортером node_exporter собирает метрики по использованию диска
  • Grafana визуализирует данные об использовании дискового пространства

Очистка ненужных файлов:

Регулярная очистка ненужных файлов помогает освободить место:

bash
# Очистка кэша пакетов
dnf clean all

# Очистка старых ядер
dnf autoremove

# Очистка временных файлов
rm -rf /tmp/*

Эти методы помогут поддерживать дисковое пространство в порядке и избежать ситуаций, когда система перестает работать из-за нехватки места.


Источники

  1. Red Hat Enterprise Linux Documentation — Управление устройствами хранения и проверка свободного места на диске: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_storage_devices/index

  2. AlmaLinux Official Documentation — Руководство по администрированию и управлению системой: https://almalinux.org/docs/

  3. Linux Commands Manual — Официальная документация по командам df и du: https://man7.org/linux/man-pages/man1/df.1.html

  4. Linux Documentation Project — Руководство по управлению дисками в Linux: https://tldp.org/HOWTO/Linux-HOWTO/Partitioning.html


Заключение

Проверка свободного места на диске в директории /home на сервере с AlmaLinux — это важная задача для системного администратора. Основные инструменты для этой задачи — это команды df и mount, которые позволяют определить, какой раздел примонтирован к /home и сколько места осталось.

Команда df -h /home быстро покажет общее использование дискового пространства, а mount | grep /home или lsblk помогут идентифицировать конкретный раздел устройства. Для более детального анализа можно использовать du с различными опциями, что позволяет увидеть, какие файлы и директории занимают больше всего места.

В корпоративной среде рекомендуется настроить автоматический мониторинг с помощью cron или систем мониторинга вроде Zabbix, чтобы получать уведомления при приближении к лимитам места. Регулярная очистка ненужных файлов и анализ использования места пользователями помогут поддерживать систему в рабочем состоянии.

Помните, что AlmaLinux, будучи основанной на Red Hat Enterprise Linux, предоставляет те же надежные инструменты для управления хранением данных, что и коммерческая версия. Используйте эти возможности эффективно, чтобы обеспечить стабильную работу вашего сервера.

Red Hat Enterprise Linux предоставляет несколько локальных и удаленных опций хранения данных. С помощью доступных опций хранения можно выполнять следующие задачи: создание дисковых разделов в соответствии с требованиями, использование шифрования дисков для защиты данных на блочном устройстве, создание RAID-массивов для хранения данных на нескольких дисках и предотвращение потери данных, а также использование iSCSI и NVMe over Fabrics для доступа к хранилищам по сети. Для проверки свободного места на диске в AlmaLinux, которая основана на Red Hat Enterprise Linux, можно использовать стандартные команды Linux: df -h /home для отображения информации о свободном месте в разделе /home и mount | grep /home для определения, какой раздел примонтирован к папке /home.

Авторы
Источники
Платформа документации
Проверено модерацией
НейроОтветы
Модерация