Команда df в Linux: отчет о дисковом пространстве

LinuxLinuxBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы познакомитесь с командой df, важным инструментом для мониторинга использования дискового пространства в системах Linux. Вы будете выполнять роль системного администратора, ответственного за работу загруженного веб - сервера. С помощью команды df вы будете анализировать использование диска, выявлять потенциальные проблемы с хранением данных и обеспечивать бесперебойную работу сервера. Эта лабораторная работа рассчитана на новичков, поэтому не волнуйтесь, если вы только начинаете знакомиться с Linux - мы подробно расскажем вам о каждом шаге.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux/SystemInformationandMonitoringGroup -.-> linux/df("Disk Space Reporting") subgraph Lab Skills linux/df -.-> lab-219188{{"Команда df в Linux: отчет о дисковом пространстве"}} end

Понимание базовой команды 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: Это показывает, сколько блоков по 1 килобайту используется.
  • Available: Здесь показано, сколько блоков по 1 килобайту доступно.
  • Use%: Это показывает процент использования файловой системы.
  • Mounted on: Здесь показано, где в дереве каталогов смонтирована файловая система.

Обратите внимание на файловую систему overlay, которая обычно используется в контейнеризованных средах. Устройство /dev/vdb, вероятно, представляет собой виртуальный диск, и мы видим файловую систему tmpfs, смонтированную в /mnt/ramdisk, которая представляет собой файловую систему, основанную на оперативной памяти (RAM).

Представление вывода команды df в удобочитаемом формате

По умолчанию вывод команды df отображает размеры в блоках по 1 килобайту, что может быть сложно интерпретировать сразу. Представьте, как вам нужно вычислить, сколько гигабайт составляет 20640796 блоков по 1 килобайту! К счастью, мы можем использовать опцию -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

Обратите внимание, как теперь размеры указаны в гигабайтах (GB) и мегабайтах (MB). Это намного проще понять сразу. Например, мы можем быстро увидеть, что основная файловая система (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 filesystem), часто используемой в контейнеризованных средах.
  • tmpfs: Это временная файловая система, которая хранится в памяти и/или разделе подкачки (swap partition).
  • xfs: Это высокопроизводительная журналируемая файловая система (journaling filesystem), используемая здесь для монтирования /etc/hosts.

Понимание типов файловых систем может помочь вам решать проблемы и оптимизировать производительность вашей системы.

Анализ использования inode

В системе Linux inode (инод) представляет собой структуру данных, которая хранит важную информацию о файлах, такую как их права доступа, владелец и местоположение на диске. Каждый файл в системе использует один inode. Интересно то, что можно исчерпать доступные inode, даже если на диске есть достаточно свободного места, и это препятствует созданию новых файлов. Именно поэтому мониторинг использования inode является важной задачей.

Проверим использование inode с помощью опции -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: Общее количество inode для файловой системы
  • IUsed: Количество inode, которые в настоящее время используются
  • IFree: Количество свободных inode
  • IUse%: Процент использования inode

В этом примере мы видим, что основная файловая система (overlay) использует только 2% доступных inode. Это хороший показатель - это означает, что мы еще далеки от исчерпания inode, которое могло бы помешать нам создавать новые файлы, даже если бы на диске было свободное место.

Комбинирование опций для комплексного анализа

Теперь, когда мы рассмотрели отдельные опции, давайте объединим их, чтобы получить более полное представление о состоянии хранилища на сервере. Мы можем использовать несколько опций одновременно, чтобы получить всю необходимую информацию за один раз.

Запустите следующую команду:

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. Давайте проверим доступное место в каталоге /home.

Запустите следующую команду:

df -h /home

Вы можете увидеть вывод, похожий на следующий:

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  1.3G   19G   7% /

Это показывает, что каталог /home находится на той же файловой системе, что и корневой каталог (/). В этом случае мы видим, что есть достаточно свободного места (19 ГБ) для домашних каталогов пользователей.

Если вы заметите, что файловая система заполняется (высокое значение в столбце Use%), вам, возможно, придется выяснить, какие пользователи используют больше всего места, или рассмотреть возможность увеличения емкости хранилища.

Исключение определенных типов файловых систем

Иногда вам может понадобиться исключить определенные типы файловых систем из вывода команды df. Например, вы можете захотеть исключить временные файловые системы (tmpfs), которые хранятся в памяти и не отражают использование физического диска. Мы можем сделать это с помощью опции -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% -

Это дает общий сводку по использованию диска по всем файловым системам. Последняя строка показывает общие значения по всем файловым системам, указывая, что в целом используется 18 ГБ из 125 ГБ, что составляет около 15% от общего доступного пространства.

Резюме

В этом практическом занятии вы узнали, как использовать команду df для мониторинга и анализа использования дискового пространства в системе Linux. Вы изучили различные опции команды df, в том числе:

  • Базовое использование команды df
  • Представление вывода в удобочитаемом формате с помощью опции -h
  • Отображение типов файловых систем с помощью опции -T
  • Анализ использования inode с помощью опции -i
  • Комбинирование опций для комплексного анализа
  • Фокусирование на конкретных файловых системах
  • Исключение определенных типов файловых систем с помощью опции -x
  • Отображение общего сводки с помощью опции --total

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

Дополнительные опции команды df, не рассмотренные в этом практическом занятии, включают:

  • -a: Показать все файловые системы, включая псевдо-, дублирующиеся и недоступные файловые системы
  • -k: Отображать размеры в килобайтах (по умолчанию)
  • -m: Отображать размеры в мегабайтах
  • -P: Использовать формат вывода POSIX
  • --sync: Вызвать команду sync перед получением информации о использовании
  • -t: Ограничить список файловыми системами определенного типа

Помните, что хотя команда df является мощной, это только один из многих инструментов для мониторинга использования диска. По мере продвижения в изучении Linux вы, возможно, захотите изучить другие команды, такие как du (анализ использования диска), ncdu (анализ использования диска с использованием интерфейса NCurses), а также различные инструменты системного мониторинга.