Я владелец NAS, работающего с дистрибутивом Linux. Он поставляется с веб-интерфейсом администрирования, где я могу управлять несколькими службами, правами пользователей, а также когда он должен перейти в спящий режим. По какой-то причине моя проблема в том, что когда NAS перешел в режим сна, жесткий диск снова включается через пару минут. Затем он будет вращаться в течение некоторого времени, затем снова спать. Это продолжается до бесконечности.
Как я могу попытаться определить причину этого? Я очень плохо знаком с Linux, но мне удалось получить root-доступ, и теперь у меня есть SSH-соединение.
Ответы:
inotify-tools - это простой способ сделать это. На их сайте есть несколько примеров, которые могли бы делать то, что вы хотите (см. Пример inotifywatch для действительно простого).
источник
Попробовать,
iotop
возможно, запустить ? Я нашел это полезным в прошлом.источник
Еще один совет: используйте Systemtap, на сайте systemtap есть куча пробных скриптов, достаточно полезных, чтобы найти виновника.
В другом случае вообще
Если вы хотите узнать, какой процесс вызвал раскрутку диска, вы можете собрать информацию, установив флаг
/proc/sys/vm/block_dump
. Когда этот флаг установлен, Linux сообщает обо всех выполняемых операциях чтения и записи на диске и всех блокировках блоков, выполненных в файлах. Это позволяет отлаживать, почему диск должен раскручиваться, и еще больше увеличивает время автономной работы. Выходные данные block_dump записываются в выходные данные ядра, и их можно получить, используя «dmesg», или обратитесь к своему средству ядра системного журнала для определения места назначения сообщений отладки. В общем, так и должно быть/var/log/debug
. Когда вы используете block_dump и ваш уровень ведения журнала ядра также включает в себя сообщения отладки ядра, вы, вероятно, захотите отключить klogd, в противном случае выходные данные block_dump будут регистрироваться, вызывая активность диска, которая обычно там не присутствует.источник
Вы должны сообщить ядру, чтобы оно сообщало вам обо всех операциях чтения / записи на диски, а затем вам нужно просмотреть эту информацию.
Так:
sync
сбрасывает все ожидающие записи на диски, так что вы увидите только новые операции чтения или записи.dmesg -c
показывает сообщения ядра и очищает их (в противном случае вы также видите старые сообщения каждый раз, когда запускаете dmesg).grep
фильтрует вывод dmesg для активности на интересующем диске. Замените / dev / sda на ваше реальное устройство.Я обычно использую что-то вроде этого, чтобы раскрутить диск, а затем проверить, не раскручивается ли он снова:
В
while
проверяет петлевые диске Статус активен / холостой ход каждые 10 минут. Когда вы увидите, что он включается, запуститеdmesg
указанную выше строку, чтобы увидеть, кто такой.источник