Свободное место на разделах Linux и занимаемое папками пространство


Тематические термины: Linux, UNIX, FreeBSD, RAID, LVM.
Системы на базе UNIX, весьма стабильны, и если они перестают работать корректно, первым делом, необходимо убедиться в наличие свободного дискового пространства. В данной инструкции приведены примеры консольных команд.
Место на разделах
Список каталогов с занимаемым ими пространством
Вес папки и ее содержимого
Размеры блочных устройств
Что съедает место
Дополнительные материалы
Занимаемое место смонтированными разделами
Базовая команда, которая работает для всех систем семейства UNIX:
# df -h
* -h добавлено для более читабельного вывода информации по занимаемому месту. Без данной опции информация будет показана в килобайтах.
Примерный результат выполнения команды:
1 — путь к файловому разделу (диск, внешний накопитель, сетевая шара и так далее).
2 — полный объем раздела.
3 — объем использованного пространства.
4 — сколько еще осталось места.
5 — сколько использовано в процентах.
6 — куда примонтирована файловая система.
Посмотреть занимаемое место папками
Чтобы узнать, какой именно каталог занимает много места, воспользуемся командой:
# du -hd1 /
или
# du -h --max-depth=1 /
* в данном примере смотрим все папки корневого раздела (/).
Примерный вывод будет следующий:
Это очень удобная команда для поиска каталога, который занимает большую часть пространства раздела.
То же самое с сортировкой по весу папки:
du -d1 / | sort -nr
Вес одной папки и ее содержимого
Отобразить занимаемое место конкретной папки и всего ее содержимого можно следующей командой:
# du -sh
* отобразит занимаемое место каталогом, в котором мы находимся (можно посмотреть командой pwd).
Размеры физических носителей
Размер смонтированных разделов и реальный размер блочного устройства могут отличаться. Например, последнее может иметь больший размер, который не распределен между разделами. Чтобы увидеть состояние физических носителей и их объем, используется специализированные команды. Рассмотрим их отдельно для систем Linux и BSD.
В системах Linux (Ubuntu / Debian / Rocky / Astra)
В системах на базе Linux есть одна удобная команда, которая выполняет задачу по отображению физических носителей и основной для них информации:
lsblk
Пример вывода:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 447.1G 0 disk
--sda1 8:1 0 1M 0 part
--sda2 8:2 0 1G 0 part
--md1 9:1 0 1022M 0 raid1 /boot
--sda3 8:3 0 446.1G 0 part
--md2 9:2 0 446G 0 raid1
--vg0-vol--root 253:0 0 441G 0 lvm /
--vg0-swap 253:1 0 5G 0 lvm [SWAP]
sdb 8:16 0 447.1G 0 disk
--sdb1 8:17 0 1M 0 part
--sdb2 8:18 0 1G 0 part
--md1 9:1 0 1022M 0 raid1 /boot
--sdb3 8:19 0 446.1G 0 part
--md2 9:2 0 446G 0 raid1
--vg0-vol--root 253:0 0 441G 0 lvm /
--vg0-swap 253:1 0 5G 0 lvm [SWAP]
* в данном примере мы видим:
- физический носитель sda, который разбит на разделы sda1, sda2 и sda3.
- из раздела sda2 создан раздел md1, который является RAID (вместе с разделом sdb2 носителя sdb).
- sda3 используется для создания RAID устройства md2, которое, в свою очередь является абстракцией LVM с двумя логическими томами vg0-vol--root и vg0-swap.
- носитель sdb имеет такуюже разбивку, что и sda. Эти устройства используются в паре для создания RAID 1.
BSD (FreeBSD, OpenBSD, NetBSD)
Для систем BSD все, немного сложнее. Сначала мы можем получить список физических носителей, вытащив информацию и dmesg:
grep -E 'da[0-9]|cd[0-9]|nvd[0-9]|nvme[0-9]' /var/run/dmesg.boot
Также можно посмотреть список устройств командой:
geom disk list
Или посмотреть информацию о конкретном разделе:
geom disk list da1
Также можно отобразить только информацию о его размере:
geom disk list da1 | grep -i mediasize
Что чаще всего занимает место на диске
Из данных, которые могут занимать много места, и которые можно чистить, как правило, являются log-файлы — журналы приложений и операционной системы. Это текстовая информация, которая хорошо поддается сжатию. Чтобы автоматизировать процесс чистки логов, воспользуйтесь инструкцией Ротация логов в Linux и FreeBSD с помощью logrotate.
Также место могут занимать временные данные — они находятся в каталоге /tmp.
Читайте также
Дополнительная информация, которая может оказаться полезной:
1. Как создать GPT-диск в Linux (носитель более 2 ТиБ).
2. Добавление дискового пространства виртуальной машине в VMware.
3. Настройка RAID на работающей системе Windows.
4. Как настроить автоматическое монтирование дисков в системах Linux.
5. Расширение диска или раздела Linux.
6. Настройка дисковых квот в Linux.
7. Как монтировать нестандартные файловые системы в Linux.