Рейтинг:0

Как получить среднюю длину очереди диска физического жесткого диска на основе пути к папке

флаг cn

Я хочу проверить, какова длина очереди диска физического жесткого диска, на котором хранится указанная папка, например. /дома/andy250/мои файлы Я хочу проверить это автоматически через скрипт.

Я использую виртуальную машину Azure Linux (Ubuntu 20.04). Бег дф /домашний/andy250/мои файлы дает мне это:

Файловая система Используемые 1K-блоки Доступно Использование % Установлено на
/dev/root 30309264 16460592 13832288 55% /

А потом, когда я бегу йостат -х я понимаю это

avg-cpu: %user %nice %system %iowait %steal %idle
           0,82 0,01 0,39 0,07 0,00 98,70

Устройство r/s rkB/s rrqm/s %rrqm r_await rawq-sz w/s wkB/s wrqm/s %wrqm w_await wareq-sz d/s dkB/s drqm/s %drqm d_await Darq-sz aqu-sz % использовать
loop0 0,01 0,37 0,00 0,00 0,18 41,25 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
петля1 0,02 0,83 0,00 0,00 0,42 51,09 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
петля10 0,05 1,48 0,00 0,00 0,06 29,10 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
петля11 0,00 0,03 0,00 0,00 0,27 21,31 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
петля12 0,01 0,36 0,00 0,00 0,07 62,18 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
петля13 0,05 2,16 0,00 0,00 0,24 45,46 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
петля14 0,02 0,72 0,00 0,00 0,05 38,69 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,01
петля15 0,00 0,02 0,00 0,00 0,10 18,17 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
петля16 0,02 0,74 0,00 0,00 0,03 38,20 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,01
петля17 0,05 1,44 0,00 0,00 0,04 27,94 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
петля2 0,03 0,39 0,00 0,00 0,10 12,35 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
петля3 0,00 0,00 0,00 0,00 0,20 1,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
петля4 0,04 0,50 0,00 0,00 0,07 13,31 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
петля5 0,04 0,47 0,00 0,00 0,07 12,60 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
петля6 0,07 1,05 0,00 0,00 0,08 14,19 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,01
петля7 0,06 1,50 0,00 0,00 0,11 25,58 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,01
loop8 0,09 0,28 0,00 0,00 0,04 2,97 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
петля9 0,01 0,33 0,00 0,00 0,11 37,36 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
sda 1,02 26,82 0,08 7,04 0,85 26,31 1,31 45,36 0,98 42,76 14,55 34,66 0,11 59,70 0,00 0,49 10,11 561,47 0,02 0,32
sdb 0,00 0,02 0,00 0,00 0,29 29,83 0,00 0,54 0,00 60,32 3,06 479,99 0,00 54,03 0,00 50,00 0,07 242163,65 0,00 0,00

Так что проблема в том, что дф показывает «Файловую систему», которая не существует в списке «Устройства» в выводе йостат. Я, вероятно, упускаю некоторые основы работы файловой системы Linux, но я хочу как-то выяснить, на каком устройстве находится папка. /дома/andy250/мои файлы (Файловая система /dev/корень) физически существует, поэтому я могу разобрать правильную строку йостат вывод или просто запустить iostat -dx [идентификатор устройства].

РЕДАКТИРОВАТЬ Выход из лсблк

НАИМЕНОВАНИЕ MAJ:MIN RM РАЗМЕР RO ТИП ТОЧКА КРЕПЛЕНИЯ
loop1 7:1 0 135.1M 1 петля /защелка/хром/1912
loop2 7:2 0 55.5M 1 цикл /snap/core18/2284
петля3 7:3 0 4K 1 петля /щелчок/голый/5
loop4 7:4 0 61.9M 1 цикл /snap/core20/1328
loop5 7:5 0 61.9M 1 цикл /snap/core20/1361
loop6 7:6 0 164.8M 1 петля /snap/gnome-3-28-1804/161
loop7 7:7 0 248.8M 1 петля /snap/gnome-3-38-2004/99
loop8 7:8 0 65.2M 1 цикл /snap/gtk-common-themes/1519
loop9 7:9 0 43.6M 1 петля /snap/snapd/14978
loop10 7:10 0 346.8M 1 цикл /snap/wine-platform-runtime/286
loop11 7:11 0 5.9M 1 цикл /привязка/блокнот-плюс-плюс/346
loop12 7:12 0 134.8M 1 петля /защелка/хром/1926
loop13 7:13 0 322.9M 1 цикл /snap/wine-platform-6-stable/14
loop14 7:14 0 67.2M 1 цикл /snap/lxd/21835
loop15 7:15 0 6M 1 цикл /привязка/блокнот-плюс-плюс/349
loop16 7:16 0 67.9M 1 цикл /snap/lxd/22526
loop17 7:17 0 346.9M 1 цикл /snap/wine-platform-runtime/287
sda 8:0 0 30G 0 диск 
ââsda1 8:1 0 29.9G 0 часть /
ââsda14 8:14 0 4M 0 часть 
ââsda15 8:15 0 106M 0 часть /boot/efi
sdb 8:16 0 16G 0 диск 
ââsdb1 8:17 0 16G 0 часть /mnt

РЕДАКТИРОВАТЬ 2 Выход из ls -al /dev/корень:

brw------- 1 root root 8, 1 Feb 28 08:17 /dev/root

Выход из stat "$(realpath /dev/root)"

Файл: /dev/root
  Размер: 0 Блоки: 0 Блок ввода-вывода: 4096 блоков специального файла
Устройство: 5h/5d Inode: 160 Ссылки: 1 Тип устройства: 8,1
Доступ: (0600/brw-------) Uid: (0/root) Gid: (0/root)
Доступ: 2022-02-28 08:18:15.753244000 +0000
Изменить: 2022-02-28 08:17:56.732000000 +0000
Изменение: 2022-02-28 08:17:56.732000000 +0000
 Рождение: -
Tom Yan avatar
флаг in
Просто любопытно, что вам дает `ls -l /dev/root`? (И, возможно, даже `stat "$(realpath /dev/root)"`)
andy250 avatar
флаг cn
@TomYan обновил мой вопрос выводами
Tom Yan avatar
флаг in
Похоже, что это дополнительный узел разработки, который ссылается на то же блочное устройство, что и `/dev/sda1`. См. https://man7.org/linux/man-pages/man1/mknod.1.html для справки и изучения основного минора.
Рейтинг:0
флаг ca

Файловая система и физические блочные устройства — это разные вещи, поэтому вы не можете ожидать, что найдете сд* для каждой файловой системы, о которой сообщает дф.

я подозреваю твой /dev/корень блочное устройство должно быть символической ссылкой, указывающей на диск устройства сопоставления (или LVM). Пожалуйста, покажите вывод лсблк и пвс; вгс; lvs подтвердить.

Тем не менее, ваш йостат вывод показывает только сда и сдб (различные петля устройства предназначены для снимков), поэтому ваши корневые устройства могут поддерживаться только этими двумя дисками.

РЕДАКТИРОВАТЬ: твой лсблк вывод ясно показывает, что /dev/sda1 монтируется как корневая файловая система. /dev/корень запись, вероятно, связана с /dev/sda1 (вещь, которую вы можете проверить с помощью ls -al /dev/корень).

andy250 avatar
флаг cn
отредактировал мой вопрос с выходом из lsblk. Другие 3 команды дают мне пустой вывод.
shodanshok avatar
флаг ca
@ andy250 andy250 Я отредактировал свой ответ
andy250 avatar
флаг cn
Спасибо, обновленный вопрос с выводом из `ls -al /dev/root`, а также `stat`
shodanshok avatar
флаг ca
@ andy250 andy250 Вывод lsblk уже показывает ваше корневое устройство, то есть sda1. Нет необходимости обновлять вопрос дополнительными подробностями с моей стороны.
andy250 avatar
флаг cn
Я до сих пор не знаю, как с помощью скрипта перейти из `/home/andy250/myfiles` в `sda`. Кажется, что в этом случае слишком много догадок или скрытых знаний, чтобы решить мой путь к `sda`.

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

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