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


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

Автор Тема: FAQ: Как не дать "износиться" HDD на ноуте!  (Прочитано 88360 раз)

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

Оффлайн victor53p

  • Автор темы
  • Заслуженный пользователь
  • Активист
  • *
  • Сообщений: 300
    • Просмотр профиля
    • Ubuntu в Воронежской области
Добавлено: 12-02-2009 (kwah)

Для Ubuntu 8.04 и 8.10 проблема с ACPI считается решённой, соответствующие изменения внесены в пакет acpi-support, связанные исправления пакетов pm-utils ещё в процессе подготовки, см. [1].

Заметьте: если в вашем конкретном случае проблема всё ещё наблюдается, внимательно изучите комментарии к багу, см. также [1], скорее всего это связано с использованием производителями нестандартных значений для управления режимами питания жёсткого диска, которые вам придётся подобрать самостоятельно. Известно также, что в некоторых случаях воздействовать на режимы работы жёсткого диска не удаётся.

=== Ubuntu 7.10 ===
История вопроса.
Я недавно, полмесяца назад, купил ноут Acer 9414Z.
Естественно захотелось поставить на него  Ubuntu.
Поставил 7.10 с DVD дистрибутива. Все установилось. Подправил известные глюки.
Сижу довольный и покупкой и операционной системой!
Звонит приятель из Воронежа. Ты почитай на sekuritylab.ru (http://www.securitylab.ru/news/306566.php) пишут, что новая Ubuntu винты на ноутах гробит! А ты мол недавно купил. Вот и разбирайся, а вдруг правда винт новый полетит?
Речь шла как Вы поняли о пресловутом баге или не баге: Bug #59695 in acpi-support (Ubuntu)
Тут же наткнулся на обсуждение этого вопроса в соседней  ветке см. по адресу:
http://forum.ubuntu.ru/index.php?topic=14995.0;all
Замечу, что при проверке на моем ноуте c HDD  Hitachi HTS541616J9SA00, при просмотре счетчиков через утилиту smartctl при 100 часах наработки, было накручено 6000 Load_Cycle_Count. Т.е. счетчик бежал быстро, хотя по умолчанию режим laptop-mode выключен.
Все это в принципе мне не понравилось, и я попытался разобраться в этой проблеме.

Проблема оказалась не новой (2-х годичной давности), и не совсем понятно, при чем здесь Ubuntu, как было заявлено на sekuritylab.ru.
Решил я эту проблему для себя-- воспользовавшись материалами с адреса:
http://ubuntuforums.org/showpost.php?p=3675960&postcount=26
И прочитав много еще чего на просторах интернета!
О чем и расскажу ниже на русском языке (типа вольный перевод).

Что бы использовать S.M.A.R.T. необходимо установить пакет: smartmontools
sudo aptitude install smartmontoolsЗапускаем ее:

sudo smartctl -H /dev/sda
Запуск утилиты для просмотра:
sudo smartctl -d ata -a /dev/sda | more
Проверяем, как быстро меняется счетчик: Load_Cycle_Count  (смотрим последнее значение Load_Cycle_Count- строка 193 )команда посмотреть только ее :
sudo smartctl -d ata -a /dev/sda | grep Load_Cycle
Примечание для IDE винтов команда выглядит так:
sudo smartctl -a /dev/sda | grep Load_Cycle_Count
И смотрим строчку 9 Power_On_Hours -количество наработанных часов:

sudo smartctl -d ata -a /dev/sda | grep Power_On_Hours
 Теперь можете посмотреть как быстро на вашем ноуте меняются счетчики Load_Cycle_Count (выполнив команду просмотра Load_Cycle_Count, через несколько минут) и если вам это не нравится, можете применить ниже приведенное исправление ситуации. (Естественно на свой страх и риск).

Здесь я, теорию пропускаю (см. ее на первоисточнике).

И привожу сам текст исправлений:

1) Редактируем  /etc/hdparm.conf с помощью команды:

sudo gedit /etc/hdparm.conf
Добавляем в конец три строчки:
/dev/sda {
  apm = 254
  spindown_time = 0
}

Чтобы эти изменения применить без перезагрузки системы, выполняем команду:
sudo update-rc.d hdparm defaults
2) Далее для нормальной работы вашего счетчика Load_Cycle_Count в режимах suspend, hibernate и при отключении и включении элетрической сети создаем файл под именем "99-hdd-spin-fix.sh". (99- порядок исполнения)
sudo gedit 99-hdd-spin-fix.sh3) Копируем в него нижеуказанные строчки:

#!/bin/sh
hdparm -B 254 /dev/sda
hdparm -S 0 /dev/sda

4) копируем этот файл далее в 5 мест:
$sudo install 99-hdd-spin-fix.sh  /etc/acpi/suspend.d/
$sudo install 99-hdd-spin-fix.sh  /etc/acpi/resume.d/
$sudo install 99-hdd-spin-fix.sh  /etc/acpi/start.d/
$sudo install 99-hdd-spin-fix.sh  /etc/acpi/ac.d/
$sudo install 99-hdd-spin-fix.sh /etc/acpi/battery.d/

Меняя значение 254 в файле /etc/acpi/battery.d/99-hdd-spin-fix.sh в диапазоне 128-254 можно менять количество Load_Cycles. При 128 более будет применена более агрессивная политика power management и наоборот. Можете поэкспериментировать с этой переменной, редактируя файл с помощью команды:

sudo gedit  /etc/acpi/battery.d/99-hdd-spin-fix.sh
5) затем делаю замену в файле: /etc/acpi/power.sh
 sudo gedit /etc/acpi/power.sh1=>255 должно выглядеть так:

function laptop_mode_enable {
    $LAPTOP_MODE start
   
    for x in /sys/bus/ide/devices/*/block; do
drive=$(basename $(readlink $x));
$HDPARM -S $SPINDOWN_TIME /dev/$drive 2>/dev/null
$HDPARM -B 254 /dev/$drive 2>/dev/null
    done
   
    for x in /sys/bus/scsi/devices/*/block; do
drive=$(basename $(readlink $x));
$HDPARM -S $SPINDOWN_TIME /dev/$drive 2>/dev/null
$HDPARM -B 254 /dev/$drive 2>/dev/null
    done

6) Далее включил LAPTOP_MODЕ

sudo gedit /etc/default/acpi-supportзаменив - ENABLE_LAPTOP_MODE=false
на          - ENABLE_LAPTOP_MODE=true

Получил следующее:
При питании от сети счетчик практически не меняется, что я и хотел.
А при питании от батареи- происходит парковка головок в нужном мне режиме, что позволяет беречь винт при работе ноута, например в поездке и при этом экономить саму батарею, о чем говорят показания счетчика!
Вот так было на моем ноуте, на других вообще этой проблемы нет. Видимо дело в биосе и винте моего ноута.
Таким образом все уладилось. И жизнь продолжается!  А Пиаром с  sekuretylab на меня повеяло круто!!!   ;D

З.Ы. Добавлю, как и авторы разбросанных по интернету решения, что это лично мое мнение, и Вы должны понимать, что делаете это на свой страх и риск!


=== Ubuntu 8.04 + ===
Дополнено Kwah
Краткое объяснение сути проблемы с описанием приемлемого решения нарисовно вот здесь (англ) https://wiki.ubuntu.com/PowerManagement

Замечу, что в 8.04 перешли на использование pm-utils посему действия несколько отличаются.

В 8.10 единственное что (теоретически) нужно сделать - это просто включить LAPTOP_MODE, см. приведённую выше ссылку.

[1] bug 59695: https://bugs.launchpad.net/ubuntu/+source/acpi-support/+bug/59695
« Последнее редактирование: 12 Февраль 2009, 14:46:35 от Kwah »

Оффлайн xkool

  • Старожил
  • *
  • Сообщений: 1460
  • do not love my brain
    • Просмотр профиля
Re: FAQ: Как не дать "износиться" HDD на ноуте!
« Ответ #1 : 08 Ноябрь 2007, 20:31:09 »
Спасибо за подробный рассказ,как раз на злобу дня. :)
Лучше маленький доллар, чем большое спасибо.

Оффлайн Buy

  • Любитель
  • *
  • Сообщений: 75
    • Просмотр профиля
Re: FAQ: Как не дать "износиться" HDD на ноуте!
« Ответ #2 : 09 Ноябрь 2007, 01:28:20 »
Извиняюсь за возможно глупый вопрос, новичка. У меня - десктоп, HD Hitachi PATA 133, но все же решил поставить smartmontools чтоб посмотреть как и что. Вот результат:

land@SAS:~$ sudo smartctl -H /dev/sda
[sudo] password for land:
smartctl version 5.37 [i686-pc-linux-gnu] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

Smartctl open device: /dev/sda failed: No such file or directory
land@SAS:~$

Почемуже так? Что это за каталог - sda? Почему у меня его нет?

Оффлайн trollzilla

  • Участник
  • *
  • Сообщений: 166
    • Просмотр профиля
Re: FAQ: Как не дать "износиться" HDD на ноуте!
« Ответ #3 : 09 Ноябрь 2007, 02:27:44 »
Buy
Это файл, в каталоге /dev лежат файлы (устройства).

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: FAQ: Как не дать "износиться" HDD на ноуте!
« Ответ #4 : 09 Ноябрь 2007, 02:38:47 »
Buy, почитай хоть что-нибудь об именовании устройств в Linux.
Это не каталог а собственно винт. Устройство! (Помоему в любом учебнике про линукс/юникс-подобные системы сказано, что абсолютно все устройства представлены в виде файлов в каталоге /dev ну или что-то в этом роде, кстати в винде они также представлены в виде файликов только не все и запрятано это так глубоко что еще отрыть надо)
Так что думай что пишешь. Завтра здесь повесят добрые люди рекомендацию выполнить --8<-- якобы для улучшения работы ОС и ты ее выполнишь?
Держу пари твой IDE'шный винт называется /dev/hda (раз уж sda у тебя нету). Еще варианты "на потыкать" hda hdb hdc hdd...  sda sdb sdc sdd... догадался?
« Последнее редактирование: 02 Апрель 2008, 01:08:59 от Agafonov »

Оффлайн Buy

  • Любитель
  • *
  • Сообщений: 75
    • Просмотр профиля
Re: FAQ: Как не дать "износиться" HDD на ноуте!
« Ответ #5 : 09 Ноябрь 2007, 03:08:50 »
Спасибо! Это был hdc... И за --8<-- , а то бы непременно попробовал. Извините, за вопросы, но совершенно не у кого спросить (я в Португалии). Стараюсь всегда в инете искать, но не на все хватает времени и сил...
« Последнее редактирование: 02 Апрель 2008, 01:09:10 от Agafonov »

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: FAQ: Как не дать "износиться" HDD на ноуте!
« Ответ #6 : 09 Ноябрь 2007, 03:44:51 »
hdc? странная манера подключать винты. это был случаем не сидюк?

Оффлайн xxxYURAxxx

  • Активист
  • *
  • Сообщений: 537
  • LinuxFormat друг человека...
    • Просмотр профиля
Re: FAQ: Как не дать "износиться" HDD на ноуте!
« Ответ #7 : 10 Ноябрь 2007, 01:28:00 »
неплохо добавить побочный эффект данного решения проблемы - физический износ пластины жесткого диска при нестатическом положении ноутбука

Оффлайн Buy

  • Любитель
  • *
  • Сообщений: 75
    • Просмотр профиля
Re: FAQ: Как не дать "износиться" HDD на ноуте!
« Ответ #8 : 10 Ноябрь 2007, 02:14:59 »
Yurror
Почему hdc странная манера? Я собственно тут не участвовал, так вот у меня назвалось при установке. А почему у других sda? Или hda? Вот у меня сидюк как раз - hda...  :-\

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: FAQ: Как не дать "износиться" HDD на ноуте!
« Ответ #9 : 10 Ноябрь 2007, 10:14:08 »
Buy, у всех конечно разные вкусы... CD-ROM primary master а HDD secondary master я обычно какраз наоборот делаю.
Хотя конечно от перемены маст слагаемых...

Оффлайн Buy

  • Любитель
  • *
  • Сообщений: 75
    • Просмотр профиля
Re: FAQ: Как не дать "износиться" HDD на ноуте!
« Ответ #10 : 10 Ноябрь 2007, 18:50:17 »
Yurror

Да ты прав - винт надо Primary Master делать, тоже так считаю. Дело в том, что я как-то поменял местами разъемы да забыл вернуть как было, а со временем вообще забыл. Вот ты мне и напомнил... Поставил как было, теперь - винт hda, а сидюк стал hdc.  Вот значит как это связано...

Оффлайн victor53p

  • Автор темы
  • Заслуженный пользователь
  • Активист
  • *
  • Сообщений: 300
    • Просмотр профиля
    • Ubuntu в Воронежской области
Re: FAQ: Как не дать "износиться" HDD на ноуте!
« Ответ #11 : 10 Ноябрь 2007, 18:55:09 »
2 xxxYURAxxx
Я как раз и хотел уйти от побочного эффекта  Данного решения проблемы.

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: FAQ: Как не дать "износиться" HDD на ноуте!
« Ответ #12 : 10 Ноябрь 2007, 19:08:54 »
Ух ты! для кого-то это новость. Приятно знать что хоть кто-то что-то подчерпнул из моих постов на этом форуме :)
Почитай еще вот это http://forum.ubuntu.ru/index.php?topic=15606.0

2 xxxYURAxxx
Я как раз и хотел уйти от побочного эффекта  Данного решения проблемы.
Это конечно интересно чтобы головки парковались как раз перед тем как я захочу пошевелить ноут и тут же распарковывались когда ноут пришел в "состояние покоя" (эх школьные задачки по физике) :) Но для этого нужно специально аппаратное обеспечение... которым собственно снабжаются некоторые модели ноутов.

Оффлайн azimuth

  • Участник
  • *
  • Сообщений: 138
  • Ubuntuing my brain...
    • Просмотр профиля
Re: FAQ: Как не дать "износиться" HDD на ноуте!
« Ответ #13 : 10 Ноябрь 2007, 19:33:11 »
Просьба к знающим сваять shell скрипт, который выполнял бы sudo smartctl -d ata -a /dev/sda | grep Load_Cycle скажем каждые пять минут и записывал время выполнения и вывод команды в файл.
Linux forever!!! :)
mount /alcohol/beer /body/stomach

Оффлайн Buy

  • Любитель
  • *
  • Сообщений: 75
    • Просмотр профиля
Re: FAQ: Как не дать "износиться" HDD на ноуте!
« Ответ #14 : 10 Ноябрь 2007, 23:07:36 »
Yurror

Спасибо за линк! Это то, что я давно хотел прочесть. И всем советую!

 

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