Скорая Компьютерная Помощь г. Калуга

Полный спектр компьютерных услуг!

Здравствуйте, гость ( Вход | Регистрация )

> Внимание!

  • Вся информация, расположенная в данном и других разделах форума получена из открытых источников (интернет-ресурсы, средства массовой информации, печатные издания и т.п.) и/или добавлена самими пользователями. Администрация форума предоставляет его участникам площадку для общения / размещения файлов / статей и т.п. и не несет ответственности за содержание сообщений, а также за возможное нарушение авторских, смежных и каких-либо иных прав, которое может повлечь за собой информация, содержащаяся в сообщениях.
Ремонт компьютеров в калуге Рекламное место сдается
 
Ответить в эту темуОткрыть новую тему
> Системное администрирование / WD Green Caviar + Linux = убей свой диск!
Decker
сообщение 16.10.2010, 13:50
Сообщение #1


Администратор
*****

Группа: Главные администраторы
Сообщений: 14349
Регистрация: 12.10.2007
Из: Twilight Zone
Пользователь №: 1



Дошли руки разобраться, почему домашная файловая помойка тормозит, когда общается с новым винтом: периодический бэкап вызывает DoS всех файловых сервисов. Бился над включением AHCI+NCQ, а рано по утру заглянул в SMART к своему диску и обнаружил вот такое:



$ sudo smartctl -a /dev/sda | grep Load_Cycle_Count

193 Load_Cycle_Count 0x0032 158 158 000 Old_age Always - 127583



Раньше думал, что это счётчик интервалов активности винта. Зевая, полез в википедию:



Count of load/unload cycles into head landing zone position.

The typical lifetime rating for laptop (2.5-in) hard drives is 300,000 to 600,000 load cycles. Some laptop drives are programmed to unload the heads whenever there has not been any activity for about five seconds. Many Linux installations write to the file system a few times a minute in the background. As a result, there may be 100 or more load cycles per hour, and the load cycle rating may be exceeded in less than a year.



Чего?! У меня 127 тысяч раз произошла парковка головок? Зевота прекратилась.




Кто виноват?


Быстрый гуглёж нашёл, что товарищи из WD в серию WD Caviar Green включили супермегаопцию Intelli-Park, которая паркует головки после 8 секунд неактивности. Linux, понятно, откладывает запись буферов на диск на куда большее время:



$ cat /proc/sys/vm/dirty_writeback_centisecs

1000



… и получается откровенно гадкая ситуация:



t+0 сек. Приложение пишет на диск, ядро кладёт всё в буфер.
t+8 сек. Винт: ой, активности нет, головки в landing zone
t+10 сек. Ядро: так, пора писать.
t+10+ сек. Винт: головки на исходную! Пишем.
t+16 сек. Винт: всё, расслабились, головки в landing zone
t+20 сек. Ядро: так, опять пора писать.
t+20+ сек. Винт: что, уже поспали? Головки в готовность, пишем.
....


Тут-то мне и вспомнился щёлкающий шум во время работы, который я списывал на рекалибровку. Луч ненависти инженерам комании WD, луч ненависти маркетологам WD.




Что делать?


Слухи утверждают, что существует полу-секретная утилита от WD, которая меняет дефолтовый интервал на какой угодно. Называется это чудо WDIDLE3.EXE, работает оно исключительно под DOS, и по разным сведениям, не работает для некоторых WD'шных винтов.

  1. Раздобыть WDIDLE3.EXE. Не привожу точный адрес, т.к. по-хорошему этот тул нужно просить у WD'шного саппорта. Найденные на просторах интернета версии можно использовать на свой страх и риск
  2. Взять ISO SystemRescueCd и его слегка похачить. Нам нужно положить WDIDLE внутрь FreeDOS'вского образа, и для этого придётся сделать следующий реверанс.

    • Слить Balder-версию FreeDOS'а, ибо FreeDOS в SysRescCd поломан.
    • Положить внутрь balder10.imz нужный WDIDLE3 (распаковать gunzip'ом, смонтировать, скопировать, размонтировать, запаковать gzip'ом обратно)
    • Заменить в SysRescCD bootdis/freedos.img на полученный образ
  3. Нарезать SysRescCD или положить его на LiveUSB
  4. Загрузиться с него в FreeDos и там выполнить WDIDLE

    • На этом месте я повторно пускаю луч ненависти в WD, потому что выключение IDLE вообще привело к тому, что винт начал парковаться чуть ли не каждую секунду. Наблюдал старт системы в течение 5 минут, потом плюнул и поставил IDLE-таймаут в 600 секунд.


После этих операций Load_Cycle_Count расти перестал.
Original source: habrahabr.ru (comments).

Читать дальше


--------------------

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

Рекламное место сдается Рекламное место сдается
Текстовая версия Сейчас: 21.4.2025, 14:22
Рейтинг@Mail.ru
Яндекс.Метрика Яндекс цитирования