Выяснение того, что вращается жестким диском

Я являюсь владельцем NAS, работая с дистрибутивом Linux. Он поставляется с интерфейсом веб-администрирования, где я могу управлять несколькими службами, правами пользователя, а также когда он должен идти спать. Моя проблема, по какой-то причине, когда NAS засыпает, жесткий диск включается снова через пару минут. Затем он будет вращаться некоторое время, а затем снова спать. Это продолжается бесконечно.

Как я могу попытаться определить причину этого? Я очень новичок в Linux, но мне удалось получить root-доступ, и теперь у меня есть SSH-соединение.

  • Можно ли пометить диск, а не раздел?
  • LVM: pvcreate методом uuid или не «dev / sdX»
  • Как увидеть информацию о диске, такую ​​как производитель в Linux
  • Жесткие диски пропадают без перезагрузки - что может быть причиной?
  • Как автоматически проверить наличие жестких дисков в RAID-массиве?
  • ошибки ввода / вывода, которые возвращаются просто отлично. Как убедиться, что это не повторится?
  • Получить простой список всех дисков
  • LVM держит жесткий диск?
  • 4 Solutions collect form web for “Выяснение того, что вращается жестким диском”

    Инструменты inotify – это простой способ сделать это. На их сайте есть несколько примеров, которые могли бы делать то, что вы хотите (см. Пример inotifywatch для действительно базового).

    Попробуйте запустить iotop возможно? Я нашел его полезным в прошлом.

    Еще один совет: используйте Systemtap, есть куча пробных скриптов на сайте systemtap, достаточно полезная, чтобы найти виновника.

    В другом случае,

    Если вы хотите узнать, какой процесс заставил диск вращаться, вы можете собрать информацию, установив флаг /proc/sys/vm/block_dump . Когда этот флаг установлен, Linux сообщает все операции чтения и записи на диске, которые имеют место, и все блокирующие загрязнения, выполняемые с файлами. Это позволяет отлаживать причины, по которым диск должен раскручиваться, и увеличить срок службы батареи еще больше. Выходной файл block_dump записывается в вывод ядра, и его можно получить с помощью «dmesg» или посмотреть на ваш механизм ядра syslog для назначения отладочных сообщений. Как правило, он должен быть /var/log/debug . Когда вы используете block_dump, а уровень ведения журнала ядра также включает в себя отладочные сообщения ядра, вы, вероятно, захотите отключить klogd, иначе вывод блока block_dump будет занесен в журнал, в результате чего активность диска обычно не будет.

    Вам нужно сообщить ядру, чтобы сообщить вам обо всех чтениях / записи на диски, тогда вам нужно посмотреть на эту информацию.

    Так:

     # sync # echo 1 > /proc/sys/vm/block_dump # dmesg -c | grep '/dev/sda' 

    sync сбрасывает все ожидающие записи на диски, так что вы будете видеть только новые чтения или записи.
    dmesg -c показывает вам сообщения ядра и очищает их (в противном случае вы увидите старые тоже, каждый раз, когда вы запускаете dmesg). grep фильтрует вывод dmesg для активности для интересующего вас диска. Замените / dev / sda на свое фактическое устройство.

    Обычно я использую что-то вроде этого, чтобы вращать диск, а затем проверять, когда он снова закручивается:

     # sync # hdparm -y /dev/sda # while true; do hdparm -C /dev/sda ; sleep 600 ; done 

    Цикл while проверяет состояние активного / холостого диска каждые 10 минут. Когда вы увидите, что он включен, запустите линию dmesg выше, чтобы увидеть whodunnit.

    Linux и Unix - лучшая ОС в мире.