Дізнатися, що обертається жорстким диском


10

Я є власником NAS, який працює з деяким дистрибутивом Linux. Він оснащений веб-адміністрацією, де я можу керувати декількома службами, правами користувача, а також коли слід спати. Моя проблема з певних причин, коли NAS перейшов у сплячий режим, через пару хвилин знову вмикається жорсткий диск. Тоді він буде крутитися деякий час, потім знову спати. Це триває нескінченно.

Як я можу спробувати визначити причину цього? Я дуже новачок у Linux, але мені вдалося отримати кореневий доступ, і тепер маю SSH-з'єднання.


Це дуже старе, але може мати відповідні поради.
Жил 'ТАК - перестань бути злим'

У вас є якийсь аналітичний / на зразок плагін із інтерфейсом web / frontend до коробки NAS? які деталі коробки NAS? Мені цікаво, чи можуть бути використані якісь інструменти системного вкладу, щоб перевірити активність диска. systemtap доступний лише для пізніших версій ядра Linux.
Нікхіл Мюллі

NAS - це мережа Lacie d2 2. Немає варіантів плагінів, але, мабуть, я міг би що-небудь завантажити в нього. Він працює на веб-сервері Green Unicorn. Ядро 2.6.31.14-svn6790.
Андреас

Відповіді:


6

inotify-tools - це простий спосіб зробити це. На їхньому сайті є кілька прикладів, які зможуть зробити те, що ви хочете (див. Приклад inotifywatch для дійсно базового).


Я зараз розглядаю це. По-перше, мені потрібно зібрати джерело для процесора ARMv5TE. Це може виявитись досить складно :)
Андреас


2

Ще одна порада: використовуйте Systemtap, на сайті systemtap є купа сценаріїв зонду, достатньо корисних для пошуку винуватця.

В іншому випадку взагалі,

Якщо ви хочете з’ясувати, який процес спричинив закручування диска, ви можете зібрати інформацію, встановивши прапор /proc/sys/vm/block_dump. Коли цей прапор встановлено, Linux повідомляє про всі операції з читання та запису диска, що відбуваються, та всі заблоковані блокування файлів. Це дає можливість налагодити, чому диск потрібно розкручувати, та ще більше збільшити час автономної роботи. Вихід block_dump записується на вихід ядра, і його можна отримати за допомогою "dmesg" або подивитися на ваш об'єкт syslog kern для призначення повідомлень про налагодження. Взагалі, так і має бути /var/log/debug. Якщо ви використовуєте block_dump, і ваш рівень реєстрації ядра включає також повідомлення про налагодження ядра, ви, ймовірно, хочете вимкнути klogd, інакше вихід block_dump буде реєструватися, викликаючи активність диска, яка зазвичай не існує.


2

Вам потрібно сказати ядру, щоб повідомити вас про всі прочитані / записи на диски, тоді вам потрібно переглянути цю інформацію.

Тому:

# 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рядок вище, щоб побачити те, що відбувається.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.