Введение
В ходе этой практической работы вы изучите команду df — важнейший инструмент для мониторинга дискового пространства в системах Linux. Вы примерите на себя роль системного администратора, управляющего загруженным веб-сервером. С помощью df вы будете анализировать использование дисков, выявлять потенциальные проблемы с хранилищем и обеспечивать бесперебойную работу сервера. Этот практикум предназначен для начинающих, поэтому не беспокойтесь, если вы новичок в Linux — мы подробно разберем каждый шаг.
Знакомство с базовой командой df
Ваша первая задача как системного администратора — получить общее представление об использовании дискового пространства на веб-сервере. Команда df без дополнительных опций предоставляет быстрый снимок всех смонтированных файловых систем.
Для начала перейдем в каталог проекта:
cd ~/project
Теперь выполним базовую команду df:
df
Совет: Из-за динамических изменений в хранилище виртуальной машины вывод команды df может отличаться от приведенного ниже, это не является ошибкой.
Вы должны увидеть вывод, похожий на этот:
Filesystem 1K-blocks Used Available Use% Mounted on
overlay 20971520 1314600 19656920 7% /
tmpfs 65536 0 65536 0% /dev
tmpfs 4068320 0 4068320 0% /sys/fs/cgroup
shm 65536 0 65536 0% /dev/shm
/dev/vdb 104806400 17442788 87363612 17% /etc/hosts
tmpfs 102400 51200 51200 50% /mnt/ramdisk
Разберем структуру этого вывода:
Filesystem: В этом столбце указано имя устройства или раздела.1K-blocks: Общий размер файловой системы в блоках по 1 килобайту.Used: Количество используемых 1K-блоков.Available: Количество доступных (свободных) 1K-блоков.Use%: Процент использования файловой системы.Mounted on: Точка монтирования файловой системы в дереве каталогов.
Обратите внимание на файловую систему overlay, которая часто встречается в контейнерных средах. Устройство /dev/vdb, скорее всего, является виртуальным диском, а в точке /mnt/ramdisk мы видим файловую систему tmpfs, которая работает в оперативной памяти.
Читаемый формат вывода df
По умолчанию df выводит размеры в 1K-блоках, что бывает трудно быстро интерпретировать. Представьте, как сложно с ходу понять, сколько гигабайт содержится в 20640796 блоках! К счастью, мы можем использовать опцию -h (сокращение от "human-readable" — понятный человеку), чтобы сделать вывод более наглядным.
Выполните следующую команду:
df -h
Вы увидите примерно следующее:
Filesystem Size Used Avail Use% Mounted on
overlay 20G 1.3G 19G 7% /
tmpfs 64M 0 64M 0% /dev
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
shm 64M 0 64M 0% /dev/shm
/dev/vdb 100G 17G 84G 17% /etc/hosts
tmpfs 100M 50M 50M 50% /mnt/ramdisk
Заметьте, что теперь размеры указаны в ГБ (G) и МБ (M). Это гораздо удобнее для оценки ситуации. Например, мы сразу видим, что наша основная файловая система (overlay) имеет размер 20 ГБ, из которых занято всего 1.3 ГБ, а 19 ГБ свободны.
Отображение типов файловых систем
Системному администратору важно знать типы файловых систем, используемых на сервере. Разные типы обладают различными характеристиками производительности и набором функций. Опция -T позволяет просмотреть эту информацию.
Выполните команду:
df -T
Вывод будет выглядеть примерно так:
Filesystem Type 1K-blocks Used Available Use% Mounted on
overlay overlay 20971520 1314600 19656920 7% /
tmpfs tmpfs 65536 0 65536 0% /dev
tmpfs tmpfs 4068320 0 4068320 0% /sys/fs/cgroup
shm tmpfs 65536 0 65536 0% /dev/shm
/dev/vdb xfs 104806400 17442728 87363672 17% /etc/hosts
tmpfs tmpfs 102400 51200 51200 50% /mnt/ramdisk
В выводе появился новый столбец Type. Давайте разберем встретившиеся типы:
overlay: Тип объединяющей (union) файловой системы, часто используемый в контейнерах.tmpfs: Временная файловая система, расположенная в оперативной памяти или разделе подкачки.xfs: Высокопроизводительная журналируемая файловая система, здесь она используется для монтирования/etc/hosts.
Знание типов файловых систем помогает в диагностике проблем и оптимизации производительности системы.
Анализ использования индексных дескрипторов (Inodes)
В Linux индексные дескрипторы (inodes) — это структуры данных, хранящие важную информацию о файлах: права доступа, владельца и местоположение на диске. Каждый файл в системе занимает один inode. Примечательно, что у вас могут закончиться свободные inodes даже при наличии свободного места на диске, что сделает невозможным создание новых файлов. Именно поэтому мониторинг использования inodes критически важен.
Проверим использование inodes с помощью опции -i:
df -i
Результат будет похож на этот:
Filesystem Inodes IUsed IFree IUse% Mounted on
overlay 52428800 539001 51889799 2% /
tmpfs 1017080 206 1016874 1% /dev
tmpfs 1017080 17 1017063 1% /sys/fs/cgroup
shm 1017080 1 1017079 1% /dev/shm
/dev/vdb 52428800 539001 51889799 2% /etc/hosts
tmpfs 1017080 2 1017078 1% /mnt/ramdisk
Разбор столбцов:
Inodes: Общее количество индексных дескрипторов в файловой системе.IUsed: Количество используемых дескрипторов.IFree: Количество свободных дескрипторов.IUse%: Процент занятых дескрипторов.
В данном примере основная файловая система (overlay) использует всего 2% доступных inodes. Это хороший показатель — значит, мы далеки от лимита, который мог бы заблокировать создание новых файлов.
Комбинирование опций для комплексного анализа
Теперь, когда мы изучили отдельные опции, давайте объединим их для получения полной картины состояния хранилища сервера. Вы можете использовать несколько ключей одновременно.
Выполните следующую команду:
df -hT
Эта команда объединяет читаемый формат (-h) и отображение типа файловой системы (-T).
Вывод:
Filesystem Type Size Used Avail Use% Mounted on
overlay overlay 20G 1.3G 19G 7% /
tmpfs tmpfs 64M 0 64M 0% /dev
tmpfs tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
shm tmpfs 64M 0 64M 0% /dev/shm
/dev/vdb xfs 100G 17G 84G 17% /etc/hosts
tmpfs tmpfs 100M 50M 50M 50% /mnt/ramdisk
Такой отчет дает исчерпывающий обзор: вы видите и типы систем, и их размеры в понятных единицах. Это отличный способ быстро получить детальный снимок состояния дисков.
Проверка конкретной файловой системы
Часто системному администратору нужно проверить статус только одной конкретной файловой системы. Например, вы хотите быстро узнать состояние корневого раздела. Для этого достаточно указать точку монтирования после команды df.
Проверим корневую файловую систему:
df -h /
Вывод:
Filesystem Size Used Avail Use% Mounted on
overlay 20G 1.3G 19G 7% /
Эта команда фокусируется только на корневом разделе. Это удобно, когда вас не интересует информация обо всех остальных смонтированных устройствах.
Проверка свободного места для домашних каталогов пользователей
В рамках обязанностей по управлению сервером вам нужно следить, чтобы у пользователей было достаточно места в их домашних директориях. Во многих системах они расположены в каталоге /home. Проверим доступное пространство там.
Выполните команду:
df -h /home
Вы можете увидеть такой результат:
Filesystem Size Used Avail Use% Mounted on
overlay 20G 1.3G 19G 7% /
Это показывает, что каталог /home находится на той же файловой системе, что и корневой каталог (/). В данном случае мы видим, что для пользователей доступно достаточно места (19 ГБ).
Если вы заметите, что файловая система переполняется (высокое значение Use%), вам придется выяснить, кто из пользователей занимает больше всего места, или рассмотреть возможность расширения хранилища.
Исключение определенных типов файловых систем
Иногда требуется скрыть определенные типы файловых систем из отчета. Например, можно исключить временные файловые системы, которые хранятся в памяти и не отражают использование физических дисков. Это делается с помощью опции -x.
Выполните команду, чтобы исключить системы типа tmpfs:
df -h -x tmpfs
Вывод будет таким:
Filesystem Size Used Avail Use% Mounted on
overlay 20G 1.3G 19G 7% /
/dev/vdb 100G 17G 84G 17% /etc/hosts
Обратите внимание, что системы tmpfs больше не отображаются. Это полезно, когда нужно сосредоточиться только на физических накопителях и отфильтровать виртуальные файловые системы.
Отображение итоговой сводки
В качестве завершающего обзора выведем общую сумму по всем файловым системам. Для этого используется опция --total. Она незаменима, когда нужно оценить совокупное использование дискового пространства.
Выполните команду:
df -h --total
Вывод:
Filesystem Size Used Avail Use% Mounted on
overlay 20G 1.3G 19G 7% /
tmpfs 64M 0 64M 0% /dev
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
shm 64M 0 64M 0% /dev/shm
/dev/vdb 100G 17G 84G 17% /etc/hosts
tmpfs 100M 50M 50M 50% /mnt/ramdisk
total 125G 18G 107G 15% -
Последняя строка total показывает суммарные данные: всего в системе 125 ГБ, из которых занято 18 ГБ, что составляет около 15% от общего объема.
Резюме
В ходе этой практической работы вы научились использовать команду df для мониторинга и анализа дискового пространства в системе Linux. Вы изучили различные возможности команды, включая:
- Базовое использование
df. - Вывод в понятном формате с помощью
-h. - Отображение типов файловых систем с помощью
-T. - Анализ использования индексных дескрипторов с помощью
-i. - Комбинирование опций для детального отчета.
- Проверку конкретных файловых систем.
- Исключение определенных типов систем с помощью
-x. - Получение итоговой сводки с помощью
--total.
Эти навыки критически важны для эффективного системного администрирования и обеспечения оптимальной производительности серверов Linux. По мере вашего профессионального роста команда df станет незаменимым инструментом в вашем арсенале.
Дополнительные опции df, не затронутые в этой работе:
-a: Показать все файловые системы, включая псевдо-системы, дубликаты и недоступные системы.-k: Выводить размеры в килобайтах (по умолчанию).-m: Выводить размеры в мегабайтах.-P: Использовать формат вывода POSIX.--sync: Выполнить синхронизацию (sync) перед получением информации.-t: Ограничить список файловыми системами определенного типа.
Помните, что хотя df очень мощная команда, это лишь один из многих инструментов мониторинга. В дальнейшем вам стоит изучить такие команды, как du (использование диска файлами), ncdu (интерактивный анализатор) и другие средства системного мониторинга.



