Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: HDD засыпает и не просыпается до перезагрузки. Лечение средствами Ubuntu/Mint  (Прочитано 4499 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн starky

  • Автор темы
  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Есть терабайтник hitach, которому 1.5 года. Спустя пол-года после покупки smart показал на нём 273 ошибки, но при этом диск работал нормально. Возможно эти ошибки были на нём с покупки, я не проверял. Затем этот диск перекочевал в домашний сервер в зеркало, и так работал ещё пол-года. Однажды он "отвалился" от рейда, и прикрутить его не получилось. Выяснилось, что проблема крылась в его контроллере. Диск, если к нему минуту не было обращения, реального, то есть с обновлением содержимого кеша диска, отключался для энергосбережения, после чего включить его можно было только передёрнув на нём разъём питания, или выключив и включив компьютер. (перезагрузка без пропадания питания не помогает). Из линукс командой hdparm энергосбережение было отключено, но оказалось что контроллер самопроизвольно восстанавливает значение энергосбережения 128 в течении минуты - двух. Максимум что можно было сделать это установить значение 255. Средствами специальной утилиты hitachi из DOS также не удалось отключить, только сохранить значение 254 по умолчанию. В Линукс диск продолжает отключаться в течении минуты из-за того, что ядро линукс работает с кешем в памяти, и только при необходимости дёргает диск. В windows этот диск работает нормально и не отключается, потому что windows постоянно дёргает диск, особенно если включено обновление. Диск в линукс стоит вторым в системе и используется для больших файлов. Системный - SSD. windows стоит на hdd. Чтобы диск не отключался,после загрузки линукс я запускаю виртуальную машину с виндой, файлы которой находятся на подмонтированном разделе с hdd. Таким образом Windows дёргает hdd, и он не отключается в линукс, так что я могу использовать его пространство не теряя особо производительность. Но если я забываю или не успеваю запустить виртуальную машину с виндой после загрузки, то hdd отваливается и бывает с пометкой о неправильном отключении ntfs раздела, из-за чего приходится после выключения и включения компа сначала заходить в виндовз на hdd, выполнять проверку диска, затем перезагружаться в линукс, запускать винду в виртуалке, и потом только работать как обычно. Этот гемор мне надоел, но учитывая сколько сейчас стоят терабайтники, мне жалко выбросить исправный в остальных отношениях диск. Решение есть в том, чтобы средствами линукс дёргать диск, пару раз или больше в минуту так, как это делает виндовз, не давая ему засыпать. Надо написать соответствующий скрипт и добавить его в автозагрузку. Но я не знаю что писать в таком скрипте, я не программист. Как его правильно оформить, и как сделать чтобы работа шла именно с диском, а не с кешем в памяти. Какие команды не дадут диску спать, но и не помешают с ним нормально работать. В винде же не мешают, значит в линукс это должно быть возможно. Я решил спросить по этому вопросу на форуме ubuntu. Помогите составить скрипт, идеи как заставить диск дёргаться тоже приветствуются. :)
« Последнее редактирование: 08 Ноября 2015, 04:21:10 от starky »

Оффлайн wajnon

  • Старожил
  • *
  • Сообщений: 2778
    • Просмотр профиля
starky,
Цитировать
идеи как заставить диск дёргаться тоже приветствуются
а что если не писать на диск, а считывать с него. Написать скрипт который каждую минуту бы искал что-то в папке на этом диске.

Оффлайн starky

  • Автор темы
  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Можно попробывать. Но есть подозрение, что если читать одно и то же, то первое чтение будет с диска, а все последующие уже из кеша, потому что запрашиваемая информация не изменилась. В этом то и проблема. По идее перенос логов на hdd должен бы не дать выключаться диску. Но я пробовал - не помогает. Похоже логи сначала пишутся в память, а потом сразу все изменения с определённым интервалом сбрасываются на диск. И этот интервал слишком большой, диск успевает заснуть. Эффективность ядра линукс сейчас работает против меня  :(

Пользователь решил продолжить мысль [time]08 Ноябрь 2015, 02:18:23[/time]:
Кажется, в результате работы команды sudo hdparm -i /dev/sdX происходит нужное обращение. Я пытаюсь составить скрипт, но не знаю куда направить вывод команды, потому что мне он не нужен, нужно лишь чтобы программа отработала, и как и где прописать права, потому что эта команда выполняется от админа. Скрипт я запущу через cron каждые 15 секунд. Однако мне надо как-то убедится, что программа отработала и не была блокирована из-за недостатка прав. Содержимое скрипта такое
#!/bin/bash
hdparm -i /dev/sdb

Что мне нужно дописать чтобы он исполнялся с правами админа без запроса пароля?
Как на период отладки убедится что он работает как надо и не блокируется из-за недостатка прав?

Пользователь решил продолжить мысль [time]08 Ноябрь 2015, 03:10:41[/time]:
Сейчас проверяю такой вариант.
Скрипт hdd_must_go.sh лежит на SSD в домашней папке.
В домашней же папке через fstab в папке VM монтируется раздел ntfs c hdd.
Скрипт запускается по cron от имени администратора каждую минуту. Для того чтобы команда исполнялась от root редактирование crontab надо было сделать sudo crontab -e
строка запуска скрипта каждую минуту в crontab */1 * * * * /home/user/hdd_must_go.sh
В скрипте каждые 15 секунд три раза повторяется вывод в файл результат команды hdparm -i /dev/sdb, а файл находится на примонтированном разделе на пытаемом командой диске. Последняя команда стирает этот файл через 14 секунд, и через секунду cron снова вызывает скрипт сначала и всё повторятеся. Содержимое скрипта
#!/bin/bash
sudo hdparm -i /dev/sdb  >>  /home/user/VM/hdd_test.txt
sleep 15
sudo hdparm -i /dev/sdb  >>  /home/user/VM/hdd_test.txt
sleep 15
sudo hdparm -i /dev/sdb  >>  /home/user/VM/hdd_test.txt
sleep 14
sudo rm  /home/user/VM/hdd_test.txt

Пока ещё за 10 минут диск не заснул. Но такое иногда бывает и без скриптов, и заснуть он может в любой момент. И ещё надеюсь "дырку" в нём не протрёт запись и стирание одного файла. Может будет лучше создать ещё скрипт и удалять этот файл не каждую минуту а раз в час?

Пользователь решил продолжить мысль [time]08 Ноябрь 2015, 04:09:50[/time]:
Проверил вариант только с чтением - не вышло. Диск отключается. Сделал вариант с записью и удаление файла каждый час. То есть, убрал в скрипте hdd_must_go.sh последнюю строку и  создал отдельный скрипт удаления kill_test_hdd_txt.sh .
#!/bin/bash
sudo rm  /home/user/VM/hdd_test.txt


и добавил его запуск по расписанию каждый час

0 */1 * * * /home/user/kill_test_hdd_txt.sh

Надо погонять какое-то время. Если это всё работает,тему можно закрывать. Отдельное "спасибо" спецам hitachi за то, что приходится городить этот костыль и лучше узнать команды линукс. Второй терабайтник hitachi который трудится на месте предыдущего уже наградил меня 4 ошибками и разок отвалился из рейда. Ну что сказать. Hitachi мне больше не предлагать. :)

« Последнее редактирование: 08 Ноября 2015, 04:23:45 от starky »

Оффлайн it0r

  • Забанен
  • Старожил
  • *
  • Сообщений: 2264
    • Просмотр профиля
Вы можете написать полностью модель диска и выложить здесь SMART (под спойлер)?
ТУТ - это дерево. А ЗДЕСЬ - это МЕСТО.... Так что ТУТ - это не ЗДЕСЬ.

Оффлайн starky

  • Автор темы
  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Модель HGST HTS721010A9E630 прошивка JB0OA3B0 серийник JG40006PGE9XHC

(Нажмите, чтобы показать/скрыть)

Пользователь решил продолжить мысль [time]08 Ноябрь 2015, 05:43:55[/time]:
Прошло больше часа. Диск не отключается. Файл через час удаляется, создаётся вновь и начинает наполняться текстом. Его размер спустя час работы не превысил 300 килобайт, так что это не проблема. "Костыль" создан, тему можно закрывать.
Что касается того, почему так себя ведёт именно этот экземпляр диска, я думаю что у него повреждены ячейки flash памяти с прошивкой. Причём, повреждена сама память, или адресация, что делает невозможным изменить содержимое этих ячеек. Также возможно что поэтой причине размер встроенного кеша диска отображается не верно. В общем проблема с контроллером, которую под виндой не заметили бы до самой смерти диска. :) Но под линукс она всплыла быстро.
« Последнее редактирование: 08 Ноября 2015, 04:45:12 от starky »

Оффлайн it0r

  • Забанен
  • Старожил
  • *
  • Сообщений: 2264
    • Просмотр профиля
как это ни странно, но общий результат тест пройден: SMART overall-health self-assessment test result: PASSED
ТУТ - это дерево. А ЗДЕСЬ - это МЕСТО.... Так что ТУТ - это не ЗДЕСЬ.

Оффлайн starky

  • Автор темы
  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Странно ещё и то, что показания g-sensor аж 131 тысяча. То есть как будто его всё время бьют обо что-то. При том показания включения-выключения нормальные, хотя он выключается и не включается самопроизвольно по многу раз на день. Когда он пропадает из системы диск продолжает вращаться, так что засыпает только контроллер, а привод команду стоп не получает. Всё это говорит о серьёзных проблемах в области внутренних переменных контроллера, но на удивления сохранность данных в полном порядке. Чудеса, но лучше бы он работал просто и не ... выеживался. :)

Оффлайн virusoft

  • Активист
  • *
  • Сообщений: 323
    • Просмотр профиля
    • Virusoft
starky,
Я тут подумал и предположил что настройки сна выставлены где-то в BIOS'е.
Там все выставлено как вам требуется?
Если работает - не трогай. Linux - гибкая система, но один раз прогнувшись может обратным ходом распрямиться и ударить по самому (…) месту. Думай о будущем и все будет хорошо.

Оффлайн starky

  • Автор темы
  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Диск ведёт себя одинаково  и на сервере, и в домашнем компе, и даже в качестве внешнего в коробке подключенный к нетбуку. Я крутил уже всё что можно. Это неисправность, на фоне остальных пяти дисках разных производителей на тех же системах. Меня то что получилось устраивает, диск не выключается, можно на нём хранить не критические данные. Критические я храню на зеркале в домашнем сервере, в котором стоят диски разных производителей. Тему можно закрывать. Что касаетсяя режимов сна и гибернации, то после покупки ssd они потеряли смысл. Гораздо быстрее выключить и включить снова, несколько секунд.
« Последнее редактирование: 08 Ноября 2015, 11:25:50 от starky »

Оффлайн EEmi

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
по поводу вашей темы ,как написать этот скрипт можете помочь с 0 -проблема та же  c тем же китайским HDD  очень мешает его внезапные засыпания ...

Оффлайн starky

  • Автор темы
  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
А вы уже пробовали другие пути, типа как передать значение 255 или 254 (отключить засыпание) утилитой hdparm ?  Мне ничего другое не помогало, поэтому я и прибегнул к костылю. Сейчас этот диск стоит на домашнем сервере c debian и на нем музыка, расшаренная в локалке. Скрипт запускается cron. Без него диск заснет в течении минуты - двух, и я понял что это проблема с контроллером. Он не просыпается, если ему дать уснуть, надо полностью передергивать питание. (отключить - включить диск)
Сейчас залезу на сервер посмотрю скрипты.

 

Пользователь добавил сообщение 14 Декабря 2016, 20:12:12:
Так , у меня два скрипта в домашней папке root
(Нажмите, чтобы показать/скрыть)
Первый скрипт исполняется каждую минуту. И запись в файл идет каждые 15 секунд.(параметр  sleep 15 в скрипте)
Второй через некоторое время стирает созданные файлы. Кажется через час, но это неважно, за это время там накапливается только несколько килобайт текста. Вот такое примитивное решение, работает все месяцами, диск не выключается, сервер вообще не выключается  и работает 24 часа 7 дней в неделю. А иначе диск был готов только в мусорку. Думаю, все должно быть понятно по тексту, не знаю насколько вы хорошо знакомы с  командной строкой в Линукс, попытался расписать доступнее. 

 
« Последнее редактирование: 14 Декабря 2016, 21:24:00 от starky »

Оффлайн EEmi

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Спасибо - порпобую  Я пытался мониторить его Active Smart как бы заставлять каждые 5 минут делать обращение на него и не давать засыпать ... с этой прогой вылет примерно всего лишь раз в сутки по логам показывает вот это : https://pp.vk.me/c836533/v836533389/18c5c/tiMyZn5xM_Y.jpg и по совету одного человека я проверял его Вмикторией но на сколько я понял ничего существенного оно не обнаружило :https://pp.vk.me/c836533/v836533389/17def/UqHQuRDzkr4.jpg   https://pp.vk.me/c836533/v836533389/17df9/jXuOM8Cm4S4.jpg так что есть подозрение ,что просто повредились сектора с логикой , отвечающие непосредственно за этот переход в режим сна физически (головкой) или еще каким путем ..диску 2 года

Оффлайн snowin

  • Активист
  • *
  • Сообщений: 883
    • Просмотр профиля
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       90
кандидаты в бед-блоки
199 UDMA_CRC_Error_Count    0x000a   200   200   000    Old_age   Always       -       395
проблемы с кабелем

с такими ошибками крайне не рекомендуется работать с винчестером

Оффлайн starky

  • Автор темы
  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Да, не рекомендуется. Кабель уже сменен несколько раз с тех пор.
Но или так, или в мусорку. А ведь это терабайтник, жалко. Для данных, которые не страшно потерять, вполне сгодиться. Музыка, фильмы, тем более как основной это диск все равно слишком медленный. (что еще более непонятно, при ноутбучных размерах он крутится на 7200 оборотов, но при этом он медленнее чем те, что крутятся на 5400)  Очень неудачная модель, не покупайте такой от слова совсем.

Оффлайн starky

  • Автор темы
  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
нашел причины отключения сабжа. Это плохой контакт в разъеме диска. Но он такой тонкий, что "лечится" очень легким натягом проводов в определенную сторону. Тогда диск работает нормально. Если перетянуть првода, тогда ошибки сыпятся. Хотел пропаять, но разоьрать нечем. Винты под звездочку размера "размера для часов". В общем, знал бы раньше, сдал по гарантии. У него скорость маленькая, 30Mb/s сплошной записи. Но все издевательства мои выдержал, а я его не жалел. Так что оставил двоякое чувство. А техническая неисправность бывает у любых устройств. От мелкого брака никто не застрахован. Даже Intel :)

 

Страница сгенерирована за 0.039 секунд. Запросов: 25.