Рейтинг:0

Разъяснение понимания использования диска Linux с помощью df и того, как следует оценивать tmpfs

флаг de
rc1

Я искал serverfault, SO и другие сайты, но не смог найти четкого ответа. Я кое-что прочитал об основах хранения и файловых систем Linux, но до сих пор не понимаю, как решить мою проблему.

Моя цель — провести простую оценку дискового пространства и использования серверов в нашей среде. Мы запустим сценарий bash, который включает команду df -k на каждом сервере. Выходной текст будет собран для разбора и анализа. У меня возникли проблемы с пониманием того, как правильно оценить вывод df -k, чтобы получить общее дисковое пространство и использование.

На данный момент мы игнорируем сетевое хранилище и хранилище LVM mapped (хотя я подозреваю, что они будут более запутанными и сложными, чем эта ситуация). Я займусь этим в ближайшее время. На данный момент у меня проблемы с пониманием простых сценариев.

Сценарий 1: Я создал виртуальную машину Oracle Linux 7.9 в Oracle Cloud с загрузочным томом по умолчанию 46 ГБ. Вывод df -h вернул следующее:

Используемый размер файловой системы Доступно Использование % Установлено на
devtmpfs 7.6G 0 7.6G 0% /dev
tmpfs 7.6G 0 7.6G 0% /dev/shm
tmpfs 7.6G 8.7M 7.6G 1%/запуск
tmpfs 7.6G 0 7.6G 0% /sys/fs/cgroup
/dev/sda3 39G 2.8G 36G 8% /
/dev/sda1 200M 7,4M 193M 4% /boot/efi
tmpfs 1.6G 0 1.6G 0% /выполнить/пользователь/0
tmpfs 1.6G 0 1.6G 0% /выполнить/пользователь/994
tmpfs 1.6G 0 1.6G 0% /выполнить/пользователь/1000

Вопрос 1: Какую последовательную логику я мог бы применить для расчета общего дискового пространства и использования? В этом случае я вижу, что (sda3 + один запись 7,6 ГБ tmpfs) приведет меня к 46 ГБ, поэтому я должен игнорировать последующие записи 7,6 ГБ tmpfs и все записи 1,6 ГБ tmpfs? Должен ли я просто игнорировать все записи tmpfs, учитывая, что tmpfs является изменчивым, а не реальным хранилищем? В таком случае, как я получу общий объем памяти 46 ГБ?

Сценарий 2: Я создал виртуальную машину Oracle Linux 7.9 в Oracle Cloud с загрузочным томом по умолчанию 200 ГБ. Вывод df -h вернул следующее:

Используемый размер файловой системы Доступно Использование % Установлено на
devtmpfs 30G 0 30G 0% /dev
tmpfs 30G 0 30G 0% /dev/shm
tmpfs 30G 8.8M 30G 1%/запуск
tmpfs 30G 0 30G 0% /sys/fs/cgroup
/dev/sda3 39G 3.5G 35G 9%/
/dev/sda1 200M 7,4M 193M 4% /boot/efi
tmpfs 5.9G 0 5.9G 0% /выполнить/пользователь/0
tmpfs 5.9G 0 5.9G 0% /выполнить/пользователь/994
tmpfs 5.9G 0 5.9G 0% /выполнить/пользователь/1000

Вопрос 2: Это более запутанно. Как я могу получить общий размер диска 200 ГБ? Похоже, мне нужно посчитать sdaX И (все записи tmpfs), чтобы получить до 200 ГБ. У меня возникли проблемы с поиском последовательной логики для обоих сценариев.

Надеюсь, мои вопросы понятны. Я был бы рад предоставить любые дополнительные детали и / или разъяснения.

Michael Hampton avatar
флаг cz
Вы пробовали запустить `fdisk`?
rc1 avatar
флаг de
rc1
Только что узнал о fdisk на основе ответа ниже. Единственная проблема заключается в том, что он не совместим с Solaris (fdisk -l не работает), поэтому нам нужно найти немного другие подходы для сред, отличных от Linux. df -k возвращает согласованные выходные данные для всех Unix/Linux, но одного этого явно недостаточно. Спасибо.
rc1 avatar
флаг de
rc1
Добавление обновления для всех, кто имеет дело с той же проблемой. Я использовал «fdisk -l» в Linux (как предлагается в ответе ниже) и «iostat -En» ​​в Solaris 10/11 с последующим тщательным анализом. В сочетании с df -k + (fdisk ИЛИ iostat) я получаю довольно хорошее представление об общем размере и использовании диска. Я не тестировал ничего из вышеперечисленного на AIX.
Рейтинг:3
флаг us

tmpfs файловые системы являются RAM-дисками и не имеют ничего общего с вашими носителями.

Во втором сценарии ваш 200-гигабайтный диск содержит 39-гигабайтную корневую файловую систему, 200-мегабайтную загрузочную файловую систему, возможно, пространство подкачки неизвестного размера и, возможно, большое количество свободного места.

Чтобы увидеть пространство подкачки, запустите swapon -s. Чтобы увидеть свободное место, используйте инструмент разбиения, например fdisk -l или же часть /dev/sda печать.

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

rc1 avatar
флаг de
rc1
Спасибо за разъяснения. Короче говоря, если я правильно понимаю, мы не можем точно определить общий размер диска, используя только «df», и должны включать «fdisk -l» при сборе и анализе данных? Или есть какая-то практическая оценка, которую можно сделать только с помощью команды df? Спасибо.
berndbausch avatar
флаг us
Ваше понимание правильное. `df` сообщает только о пространстве, используемом в смонтированных файловых системах. Он не сообщает о несмонтированных файловых системах, разделах без файловых систем или неразмеченном пространстве.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.