Объявление

Свернуть

ФУНКЦИОНАЛ ПОСЫЛКИ ЭЛЕКТРОННОЙ ПОЧТЫ ВОССТАНОВЛЕН

Кому не пришел имейл активации аккаунта, пройдите по ссылке и активируйте свой аккаунт
https://www.pristavka.de/activateemail
Показать больше
Показать меньше

WD Green Caviar + Linux = убей свой диск!

Свернуть
X
 
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения

  • WD Green Caviar + Linux = убей свой диск!

    Добрый вечер. Разрешите поднять вопрос. [по мотивам: http://habrahabr.ru/blogs/sysadm/106273/#habracut]

    Начал копать информацию в виду того, что звук внутреннего винта начал беспокоить - постоянные похрюкивания, скрежетания, неравномерный шум и прочее. Немного погуглив и пошерстив форумы стало ясно, что утверждение Внимание! AZBOX работает с дисками WD10EARS и WD15EARS можно поставить под сомнение.

    Дело в том, что в этих моделях дисков для уменьшения энергопотребления придумали опцию Intelli-Park, которая паркует головки после 8 секунд неактивности. Linux откладывает запись буферов на диск на большее время.

    Был найден тикет в ТП WD: http://wdc.custhelp.com/cgi-bin/wdc....3RleHQ9cG93ZXI

    Меня заинтересовал пункт 2а решения проблемы:
    Disable Advanced power management using standard ATA command (Uses more power as turns off all low power modes but results in no load/unload cycles)
    Linux users add following (hdparm -B 255 /dev/sdX where X is your hard drive device). ATA users can disable APM usually controlled via BIOS and/or OS.


    Что ж..
    ставим из ipkg smartmontools.
    Проверяем состояние винта:
    Spoiler

    AZBox[~]$ /opt/sbin/smartctl -a /dev/hdb
    smartctl 5.40 2010-10-16 r3189 [mipsel-unknown-linux-gnu] (local build)
    Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

    === START OF INFORMATION SECTION ===
    Model Family: Western Digital Caviar Green (Adv. Format) family
    Device Model: WDC WD10EARS-00Y5B1
    Serial Number: WD-WCAV5E838950
    Firmware Version: 80.00A80
    User Capacity: 1,000,204,886,016 bytes
    Device is: In smartctl database [for details use: -P show]
    ATA Version is: 8
    ATA Standard is: Exact ATA specification draft version not indicated
    Local Time is: Tue Nov 23 20:58:15 2010 UTC
    SMART support is: Available - device has SMART capability.
    SMART support is: Enabled

    === START OF READ SMART DATA SECTION ===
    SMART overall-health self-assessment test result: PASSED

    General SMART Values:
    Offline data collection status: (0x82) Offline data collection activity
    was completed without error.
    Auto Offline Data Collection: Enabled.
    Self-test execution status: ( 0) The previous self-test routine completed
    without error or no self-test has ever
    been run.
    Total time to complete Offline
    data collection: (20460) seconds.
    Offline data collection
    capabilities: (0x7b) SMART execute Offline immediate.
    Auto Offline data collection on/off support.
    Suspend Offline collection upon new
    command.
    Offline surface scan supported.
    Self-test supported.
    Conveyance Self-test supported.
    Selective Self-test supported.
    SMART capabilities: (0x0003) Saves SMART data before entering
    power-saving mode.
    Supports SMART auto save timer.
    Error logging capability: (0x01) Error logging supported.
    General Purpose Logging supported.
    Short self-test routine
    recommended polling time: ( 2) minutes.
    Extended self-test routine
    recommended polling time: ( 236) minutes.
    Conveyance self-test routine
    recommended polling time: ( 5) minutes.
    SCT capabilities: (0x3031) SCT Status supported.
    SCT Feature Control supported.
    SCT Data Table supported.

    SMART Attributes Data Structure revision number: 16
    Vendor Specific SMART Attributes with Thresholds:
    ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
    1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always - 0
    3 Spin_Up_Time 0x0027 142 128 021 Pre-fail Always - 5883
    4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 187
    5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
    7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0
    9 Power_On_Hours 0x0032 099 099 000 Old_age Always - 1132
    10 Spin_Retry_Count 0x0032 100 100 000 Old_age Always - 0
    11 Calibration_Retry_Count 0x0032 100 100 000 Old_age Always - 0
    12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 104
    192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 95
    193 Load_Cycle_Count 0x0032 198 198 000 Old_age Always - 8931
    194 Temperature_Celsius 0x0022 102 098 000 Old_age Always - 45
    196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
    197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 0
    198 Offline_Uncorrectable 0x0030 200 200 000 Old_age Offline - 0
    199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0
    200 Multi_Zone_Error_Rate 0x0008 200 200 000 Old_age Offline - 0

    SMART Error Log Version: 1
    No Errors Logged

    SMART Self-test log structure revision number 1
    No self-tests have been logged. [To run self-tests, use: smartctl -t]


    SMART Selective self-test log data structure revision number 1
    SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
    1 0 0 Not_testing
    2 0 0 Not_testing
    3 0 0 Not_testing
    4 0 0 Not_testing
    5 0 0 Not_testing
    Selective self-test flags (0x0):
    After scanning selected spans, do NOT read-scan remainder of disk.
    If Selective self-test is pending on power-up, resume after 0 minute delay.

    AZBox[~]$


    Собственно интересует нас только:
    Spoiler

    AZBox[~]$ /opt/sbin/smartctl -a /dev/hdb | grep Load_Cycle_Count
    193 Load_Cycle_Count 0x0032 198 198 000 Old_age Always - 8931
    AZBox[~]$


    Это и есть количество парковок головки винта. У меня в обед было 8478.

    Вспоминаем про решение в тикете(там заюзали утилиту hdparm), ставим hdparm из ipkg.
    Смотрим на опции:
    Spoiler

    AZBox[~]$ hdparm -h
    BusyBox v1.00 (2008.04.24-06:54+0000) multi-call binary

    Usage: hdparm [options] [device] ..

    Options: -a get/set fs readahead
    -A set drive read-lookahead flag (0/1)
    -b get/set bus state (0 == off, 1 == on, 2 == tristate)
    -B set Advanced Power Management setting (1-255)
    -c get/set IDE 32-bit IO setting
    -C check IDE power mode status
    -D enable/disable drive defect-mgmt
    -f flush buffer cache for device on exit
    -g display drive geometry
    -h display terse usage information
    -i display drive identification
    -I detailed/current information directly from drive
    -Istdin similar to -I, but wants /proc/ide/*/hd?/identify as input
    -k get/set keep_settings_over_reset flag (0/1)
    -K set drive keep_features_over_reset flag (0/1)
    -L set drive doorlock (0/1) (removable harddisks only)
    -m get/set multiple sector count
    -n get/set ignore-write-errors flag (0/1)
    -p set PIO mode on IDE interface chipset (0,1,2,3,4,...)
    -P set drive prefetch count
    -q change next setting quietly
    -Q get/set DMA tagged-queuing depth (if supported)
    -r get/set readonly flag (DANGEROUS to set)
    -S set standby (spindown) timeout
    -t perform device read timings
    -T perform cache read timings
    -u get/set unmaskirq flag (0/1)
    -v defaults; same as -mcudkrag for IDE drives
    -V display program version and exit immediately
    -W set drive write-caching flag (0/1) (DANGEROUS)
    -X set IDE xfer mode (DANGEROUS)
    -y put IDE drive in standby mode
    -Y put IDE drive to sleep
    -Z disable Seagate auto-powersaving mode
    -z re-read partition table

    AZBox[~]$


    Видим информацию о том, что Advanced Power Management есть у моего винта:
    Spoiler

    AZBox[~]$ hdparm -I /dev/hdb1

    /dev/hdb1:

    ATA device, with non-removable media
    Model Number: WDC WD10EARS-00Y5B1
    Serial Number: WD-WCAV5E838950
    Firmware Revision: 80.00A80
    Standards:
    Supported: 8 7 6 5
    Likely used: 8
    Configuration:
    Logical max current
    cylinders 16383 65535
    heads 16 1
    sectors/track 63 63
    --
    CHS current addressable sectors: 4128705
    LBA user addressable sectors: 268435455
    LBA48 user addressable sectors: 1953525168
    device size with M = 1024*1024: 953869 MBytes
    device size with M = 1000*1000: 1000204 MBytes (1000 GB)
    Capabilities:
    LBA, IORDY(can be disabled)
    Queue depth: 32
    Standby timer values: spec'd by Standard, with device specific minimum
    R/W multiple sector transfer: Max = 16 Current = 0
    Recommended acoustic management value: 128, current value: 254
    DMA: mdma0 mdma1 mdma2 udma0 udma1 *udma2 udma3 udma4 udma5 udma6
    Cycle time: min=120ns recommended=120ns
    PIO: pio0 pio1 pio2 pio3 pio4
    Cycle time: no flow control=120ns IORDY flow control=120ns
    Commands/features:
    Enabled Supported:
    * NOP cmd
    * READ BUFFER cmd
    * WRITE BUFFER cmd
    * Host Protected Area feature set
    * Look-ahead
    * Write cache
    * Power Management feature set
    Security Mode feature set
    * SMART feature set
    * FLUSH CACHE EXT command
    * Mandatory FLUSH CACHE command
    * Device Configuration Overlay feature set
    * 48-bit Address feature set
    SET MAX security extension
    * SET FEATURES subcommand required to spinup after power up
    Power-Up In Standby feature set
    * DOWNLOAD MICROCODE cmd
    * General Purpose Logging feature set
    * SMART self-test
    * SMART error logging
    Security:
    Master password revision code = 65534
    supported
    not enabled
    not locked
    not frozen
    not expired: security count
    supported: enhanced erase
    208min for SECURITY ERASE UNIT. 208min for ENHANCED SECURITY ERASE UNIT.
    Checksum: correct
    AZBox[~]$


    Пробуем отключить Advanced Power Management:
    Spoiler

    AZBox[~]$ hdparm -B 255 /dev/hdb1

    /dev/hdb1:
    setting APM level to disabled
    hdparm: HDIO_DRIVE_CMD: Input/output error
    AZBox[~]$


    - получаем ошибку, а винт продолжает хрустеть.

    Как вы считаете? Как долго проживёт в таких условиях винт? И если ли способ отключить APM прямо в азе?
    Azbox HD Elite 0.9.3877

  • #2
    Re: WD Green Caviar + Linux = убей свой диск!

    После перезагрузки рессивера изменения применились! Счётчик парковок винта остановился, звуки прекратились!!!
    Azbox HD Elite 0.9.3877

    Комментарий


    • #3
      Re: WD Green Caviar + Linux = убей свой диск!

      Повторил твой маневр - получилось! Посмотрим, как будет работать..
      Azbox HD Premium (0.9.4991) + WD GreenPower 1,5ТБ EADS

      Комментарий


      • #4
        Re: WD Green Caviar + Linux = убей свой диск!

        У меня не запускается smartmontools. Для запуска требует библиотеку libuClibc++.so.0
        Spoiler
        ACC login: root
        Password:
        ACC[~]$ /opt/sbin/smartctl -a /dev/hdb
        /opt/sbin/smartctl: can't load library 'libuClibc++.so.0'
        ACC[~]$

        smartmontools скачивал с http://ipkg.nslu2-linux.org/feeds/op...g/cross/stable, но требующаяся библиотека отсутствует на трех репозитариях http://www.medialounge.ru/ipkg/azbox/stable/, http://ipkg.nslu2-linux.org/feeds/op...g/cross/stable, http://ipkg.nslu2-linux.org/feeds/op.../native/stable
        Не подскажите где можно скачать данную библиотеку?
        Azbox HD Ultra OPENRSI 2.1. HDD WD10EARS
        90e-30w на самодельной полярке (Invacom TWH-031 + Альяно 90 С премиум + Moteck MP838 )
        36e (GI-102 Supreme на Golden Interstar 0,6)

        Комментарий


        • #5
          Re: WD Green Caviar + Linux = убей свой диск!

          Не все источники полностью совместимы (между собой) и подходят к азбоксу.
          Если все устанавливать с http://www.medialounge.ru/ipkg/azbox/stable/ проблем не возникнет.
          Возможно лучше переустановить ipkg и все пакеты по новой.
          AzBox HD Premium 0.9.5306 (былo) HDD 1TB. mgcamd v1.35 или wicardd,
          OpenAZBox OpenPLi AlonzoREVOLUTION_8.0 (сталo)

          Комментарий


          • #6
            Re: WD Green Caviar + Linux = убей свой диск!

            У меня диск WD10EADS-00M2B0

            повторил все действия из первого поста
            в конце тоже получил:
            AZBox[~]$ hdparm -B 255 /dev/hdb

            /dev/hdb:
            setting APM level to disabled 0xFF (255)
            hdparm: HDIO_DRIVE_CMD: Input/output error
            Но после перезагрузки, ничего не изменилось, головка интенсивно паркуется и дальше,
            за год уже нащелкала:

            AZBox[~]$ /opt/sbin/smartctl -a /dev/hdb | grep Load_Cycle_Count
            193 Load_Cycle_Count 0x0032 128 128 000 Old_age Always - 216876
            Какие еще есть варианты?
            AzBox HD Premium 0.9.5306 (былo) HDD 1TB. mgcamd v1.35 или wicardd,
            OpenAZBox OpenPLi AlonzoREVOLUTION_8.0 (сталo)

            Комментарий


            • #7
              Re: WD Green Caviar + Linux = убей свой диск!

              [quote author=Suchov link=topic=7645.msg100055#msg100055 date=1294408092]
              Не все источники полностью совместимы (между собой) и подходят к азбоксу.
              Если все устанавливать с http://www.medialounge.ru/ipkg/azbox/stable/ проблем не возникнет.
              Возможно лучше переустановить ipkg и все пакеты по новой.
              [/quote]
              Все бы было так гладко. До этого пробывал устанавливать ipkg c medialounge.ru, но в этом репо transmission 1.77 с которым рес постоянно вешался, а после правки конфига ipkg на репозитарий Олега и установки оттуда transmission 2.13(с ним ultra работает гораздо стабильнее), transmission не хотел запускаться. Пришлось устанавливать ipkg вручную как писал mastu и устанавливать с http://ipkg.nslu2-linux.org/feeds/op...g/cross/stable transmission 2.13. Но как я писал выше при установке с этого репозитария smartmontools не запускается, так же как и при установке с http://www.medialounge.ru/ipkg/azbox/stable/ (там появляется другая ошибка).
              Мне то особо не нужна эта программа, т.к. hdparm установился и без проблем запускается. Просто интересно узнать насчет остановки счетчика парковок головок винта, так как после выполнения команды hdparm -B 255 /dev/hdb получил ту же самую ошибку
              Spoiler
              /dev/hdb:
              setting APM level to disabled 0xFF (255)
              hdparm: HDIO_DRIVE_CMD: Input/output error
              Azbox HD Ultra OPENRSI 2.1. HDD WD10EARS
              90e-30w на самодельной полярке (Invacom TWH-031 + Альяно 90 С премиум + Moteck MP838 )
              36e (GI-102 Supreme на Golden Interstar 0,6)

              Комментарий


              • #8
                Re: WD Green Caviar + Linux = убей свой диск!

                На  WD10EADS отключить парковку командой не получилось:
                /opt/sbin/hdparm -B 255 /dev/hdb
                setting Advanced Power Management level to disabled
                HDIO_DRIVE_CMD failed: Input/output error
                APM_level = not supported
                По поиску такая ситуация встречается и у других владельцев WD Green Caviar WD10EADS.
                Возможно, потому что:
                AZBox[~]$ /opt/sbin/hdparm -i /dev/hda | grep AdvancedPM
                AdvancedPM=no
                Встречались рекомендации включить (изменить) AAM (Automatic Acoustic Management).
                Сделал:
                hdparm -M 254 /dev/hdb
                Потом, подумал что может «дергать» диск.
                Своп? Сначала отключил, потом переместил в /DOM/Download
                Еще udpxy писала логи на диск, отключил.
                Сейчас ситуация следующая. При просмотре ТВ диск работает, но счетчик парковок не растет. Стоит просто подключиться по ssh (на ноуте линукс, захожу через «консоль&#187, начинает расти. Включил просмотр фильма с диска, за час нащелкал около сотни парковок!
                Хотя казалось бы, идет постоянное обращение к диску, зачем так часто парковаться?
                AzBox HD Premium 0.9.5306 (былo) HDD 1TB. mgcamd v1.35 или wicardd,
                OpenAZBox OpenPLi AlonzoREVOLUTION_8.0 (сталo)

                Комментарий


                • #9
                  Re: WD Green Caviar + Linux = убей свой диск!

                  Разрешите продолжить историю про загадочный диск из зеленой серии.
                  После полного сноса ipkg, установки его с http://techsat.info и загрузки и установки с http://www.medialounge.ru/ipkg/azbox/stable/ smartmoontools я смог посмотреть параметры SMART своего винта. На 500 часов работы диска уже приходилось 2400 парковок. И после выполнения команды
                  Код:
                  AZBox[~]$ hdparm -B 255 /dev/hdb1
                  и выключения, включения азбокса счетчик парковки головок не остановился.
                  Немного почитав в яндексе про такую проблему у многих и способы ее решения я проделал следующие шаги:
                  1. Скачал wdidle3 и распаковал архив;
                  2. Создал загрузочную дискету с MS-DOS и установил в корневую директорию файл wdidle3.exe;
                  3. Снял винт с азера, подключил к компу, отключил через BIOS все жесткие диски, кроме подопытного (рекомендуют перевести контроллер SATA на IDE режим, но т.к. я такой функции у себя не обнаружил, то оставил как есть);
                  4. Загрузился с дискеты, подождал пока загрузится MS_DOS и ввел команду
                  Код:
                  A:\>wdidle3.exe
                  на что получил ответ, что типа таймер активирован на 8сек. бездействия. Дал другую команду
                  Код:
                  A:\>wdidle3.exe /D
                  и получил ответ Ididle3 Timer is disabled, т.е. то, что мне было необходимо;
                  5. Подключил винт к азеру, дождался загрузки и примонтирования к системе папки opt. Запустил smartmoontools, но прога отказалась показывать SMART атрибуты и попросила дополнительно ввести -S on
                  Код:
                  /opt/sbin/smartctl -a /dev/hdb -S on
                  ;
                  6. Записал текущее значение Load_Cycle_Count, погонял на Azbox DVD рипы 2 часа, посмотрел еще раз на те же показания счетчика парковки головок и успокоился
                  P.S. Если кто будет повторять данные действия, то можно кроме дискеты создать загрузочную флешку или CD диск с MS-DOS и программой wdidle3. И еще важное замечание: если у вас после выполнения команды D в проге wdidle головки начали парковаться каждую секунду, то начинайте действия с 3 пункта и пользуйтесь установкой ручного интервала времени (команда S[<Timer>]).
                  Azbox HD Ultra OPENRSI 2.1. HDD WD10EARS
                  90e-30w на самодельной полярке (Invacom TWH-031 + Альяно 90 С премиум + Moteck MP838 )
                  36e (GI-102 Supreme на Golden Interstar 0,6)

                  Комментарий

                  Обработка...
                  X