Пользователь
1,1
рейтинг
2 августа 2011 в 04:10

SCT Error Recovery Control

… или что такое на самом деле 'raid edition' для жёстких дисков



Немного теории


Существуют две стратегии поведения НЖМД при обнаружении ошибки:
  • standalone/desktop — пытаться прочитать до последнего. Это ощущается как «тормозящий винт», который всё-таки работает, если это единичный сбой, то «затупило, но прошло», плюс характерный перестук перекалибрующихся головок.
  • raid — отваливаться тут же. Это ощущается как «внезапно была ошибка диска но потом mhdd и т.д. НИЧЕГО НЕ НАШЁЛ ЧТО МНЕ ДЕЛАТЬ».
Статегии очевидным образом различаются по предназначению — десктоп лучше протупит, но ошибку не выдаст, в рейде есть запасной винт, и терпеть минутные тормоза на чтении никто не имеет никакой возможности. Не получилось прочитать? Читаем с запасных винтов, помечаем весь винт как сбойный, начинаем ресинк, а диск потом отправят в утилизатор. Возможно, незаслуженно, но нечего икать на ответственной должности.

Управление стратегиями поведения при ошибках — это фича дорогих винчестеров. В десктопных сериях её часто просто нет, или она есть, но без права включения — винчестер тупит над ошибкой столько, сколько сочтёт нужным. Второй важный момент — на рейдовых жёстких дисках эта опция включена по-умолчанию. Что может приводить к проблемам.

Расшифровка названия


Возможность управления поведением диска при ошибках называется очень и очень путанно: SCT ERC. Это расшифровывается как SCT Error Recovery Control. SCT в свою очередь название общего протокола SMART Command Transport. SMART в свою очередь расшифровывается как Self-Monitoring, Analysis and Reporting Technology, таким образом, полная расшифровка SCT ERC звучит так: Self-Monitoring, Analysis and Reporting Technology Command Transport Error Recovery Control (выдохнули).

Краткая справка


Посмотреть, поддерживает ли жёсткий диск управление ошибками можно с помощью команды smartctl -a /dev/sdxx строчка SCT capabilities:

SCT capabilities:  (0x303f) SCT Status supported.
			SCT Error Recovery Control supported.  *****
			SCT Feature Control supported.

Если строчки нет — диск их (команды) не поддерживает.

Далее — собственно, процесс управления. В тех дисках, которые я видел, есть два параметра — таймаут операции чтения и таймаут операции записи. Ниже я приведу значения для всех дисков, до которых у меня дотянулись руки.

Чтобы посмотреть таймауты используем команду smartctl -l scterc /dev/sda. Вывод выглядит так:

# smartctl -l scterc /dev/sda
SCT Error Recovery Control:
           Read:     70 (7.0 seconds)
          Write:     70 (7.0 seconds)

# smartctl -l scterc /dev/sde
SCT Error Recovery Control:
           Read: Disabled
          Write: Disabled

# smartctl -l scterc /dev/sdd
Warning: device does not support SCT Error Recovery Control command

Для установки, соответственно, указываем значения через запятую после scterc: smartctl -l scterc,120,60 /dev/sde (величина указывается в десятых долях секунды, то есть 120 соотвествует 12 секундам, первое число — чтение, второе — запись). 0 означает «до победного конца», то есть неограниченно долго.

Значения по-умолчанию


Вот данные с разных дисков, которые у меня есть в хозяйстве:
Название Модель ERC (есть или нет, если есть, значения по-умолчанию)
Western Digital VelociRaptor WDC WD1500HLFS-01G6U1 Есть, 7/7
Western Digital RE4 Serial ATA WDC WD1500HLFS-01G6U1 Есть, 7/7
Western Digital RE3 Serial ATA family WD1002FBYS-02A6B0 Есть, 7/7
Western Digital Caviar Green (Adv. Format) WDC WD20EARS-00MVWB0 не поддерживается
Western Digital Caviar Green WD7500AACS-00D6B0 Есть, 0/0, включить нельзя
Seagate Maxtor DiamondMax 22 STM3500320AS Есть, 0/0, можно включить
Seagate Barracuda 7200.9 ST3400633AS Нет (у максторов/сигейтов тех же лет есть, а у сигейтов нет — wow)
Seagate Barracuda 7200.10 ST3500630AS нет
Seagate Barracuda 7200.11 ST31500341AS (внезапно!) Есть, 0/0, можно включить
Seagate Barracuda LP ST31500541AS Есть, 0/0 (то есть выключен), можно включить
SAMSUNG SpinPoint F4 EG (AFT) SAMSUNG HD204UI Есть, 0/0 (выключен), можно включить
Hitachi Deskstar 7K3000 HDS723030ALA640 Есть, 0/0, включить нельзя (scsi error aborted command)
Hitachi Deskstar T7K500 HDT725032VLA360 Есть, 0/0, включить нельзя

(только не спрашивайте меня, откуда у меня столько дисков дома).

Мораль


Люди, которые берут себе RE4 диски (и прочие raid edition от других оставшегося производителя), а так же velocity raptor'ы для использования в качестве единственного жёсткого диска и при этом не выставляют ERC в ноль, делают гигантскую глупость, сравнимую лишь с глупостью людей, которые десктопные винты вгоняют в рейд без настройки ERC и надеются, что в случае сбоя их рейд спасёт.

По сути: купили крутой винт домой в количестве одна штука: выключите ERC (0,0). Купили винт в рейд — проверьте, что у него ERC отлично от нуля, а лучше ближе к разумному значению в районе 3-10с. (300-1000).

Модели, применение которых на десктопе требует внимания: WD RE3, RE4, Raptor, Seagate NS.

PS Помимо ERC, производители обещают повышенное качество и надёжность работы RE/NS серий, но этого мы проверить не можем, а вот наличие/отсутствие ERC — это объективный легко проверяемый признак. Диск без ERC в рейде быть не должен ни при каких условиях, так как в случае сбоя вреда он принесёт больше, чем пользы.

PPS Как выполнить операции со SMART'ом в Microsoft Windows — не имею ни малейшего представления. Звоните в службу поддержки производителя и спрашивайте. Телефон 8 (800) 200-8001.

Для Mac OS X, насколько я знаю, есть порт smartmontools, так что указанные команды (от рута) там вполне выполнимы.

PPPS (из комментариев) Для WD есть утилита WDTLER (Time-Limited Error Recovery) на некоторых hdd green-серии можно все-таки включить ERC/TLER: blog.agdunn.net/?p=208
@amarao
карма
205,0
рейтинг 1,1
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (89)

  • –5
    На домашнем ПК стоит один RE4, что даст выключение ERC? Больше проживёт?
    P.S: Может кто-нить знает как выключить его под виндой?
    • +12
      Больше не проживёт. Я ж написал что даёт ERC — поведение при ошибке. Когда она будет, в зависимости от ERC винт либо тут же её выдаст операционке с соответствующими последствиями, либо будет тупить до последнего.
      • +19
        Вы как первый день на Хабре. Ну когда тут первый комментирующий статью читал?
    • +2
      smartctl есть и под винду
  • 0
    Как то столкнулись в адаптековских рейдах с кучей дисков с такой проблемой — винт внезапно «пропадает» из массива, как-будто его отключили, перепроверили все коннекторы в корзине много раз — все нормально. Судя по всему проблема была именно в этом — т.е. винт натыкался на ошибку чтения, и пытался ее прочитать до последнего, а контроллер тем временем считал что винт отключен, по тайм-ауту. Когда заменили все диски на raid edition — проблема больше не повторялась. Очень доставляло, когда при ребилде raid 5/6 внезапно начинали пропадать диски и весь массив умирал.
    • 0
      По моему опыту адаптек — то ещё чудо в перьях. У нас оно умудрялось SCSI bus hung делать даже на RE'шках.

      • 0
        А какие контроллеры можете по рекомендовать? С аналогичной удобностью управления, уведомлениями, аппаратным биппером, и т.д.?
        • 0
          «порекомендовать» конечно
        • +6
          mdadm. Лучше рейда я пока не видел. И уведомления, и произвольные конфигурации по дискам.

          Бипер в реальной жизни — глупость, его чаще всего не слышно среди остальных серверов, а даже если слышно, то не понятно, какой именно из серверов в стойке пищит.

          В качестве HBA я пока на LSI'ках остановился, но это от безысходности. Народ ещё 3ware хвалит, сам я не щупал.
          • 0
            mdadm конечно хорош, но во-первых не во всех ОС он есть, во-вторых если вам нужно поставить ОС на массив, то начинаются танцы с бубном — прописывание загрузчика на каждое зеркало, и если у вас RAID 5/6 то не получится поставить систему на такой массив. И еще он грузит CPU на сложных массивах.
            • 0
              И еще у него нет такого понятия как батарейка для кеша.
              • 0
                Иногда, ей богу, лучше бы и небыло.
                • 0
                  Если вам не нужен кеш записи, то его можно принудительно отключить, но в остальных случаях он ощутимо повышает производительность.
                  • +1
                    Да нет, производительность повышает отлично.
                    Проблема в том, что «полученная кашица» с батарейкой бывает гораздо более питательной по высеру кирпичей, чем без неё.
              • +6
                Кстати, у всех нормальных сборок mdadm таки есть батарейка для кеша. UPS называется.
                И, к слову, неплохо справляется со своей обязанностью.
                • –1
                  Главное в это крепко верить, потому что если не верить, то может и не сработать :)
                  • +1
                    Ни разу не подводил. А вот от аппаратных я уже натерпелся :)
            • +1
              Ой, ну что за сказки «грузит cpu»

              На практике у меня ни разу в него не упиралось. Куда заметнее, что он грузит шину (например, 4 диска SATA — значит, при записи на 1+0 запись идёт сразу на 4 диска, что уже может полностью занять всю пропускную способность PCI)
            • +1
              На шестых рейдах не грузит, до 2 гигабит выдает на чтение или запись влет. Ну а на остальных грузит ещё меньше чем на шестых.
            • 0
              че? Грузит CPU? Раздавая 15 гигабит на чтение и гигабит на запись не тупит. Расскажете мне про аппаратный рейд, который такое может?
          • +1
            3ware уже часть LSI.
            • 0
              и это большая печаль. есть люди которые умеют делать хорошие девайсы, но не умеют их продавать, а другие наоборот.
              но слава богу пока линейки контроллеров пока различаются. а то этот LSI тихий ужас.
          • 0
            Ну и что, что не поймёшь. Зато, помимо писка, есть замечательные индикаторы, которые зажигаются около того диска, который сдох.

            Кстати, я переформулирую вопрос core: а какие контроллеры для дисков используются (при условии, что в RAID они будут собираться софтварный)? У нас на практике диски висят на Fusion MPT SAS, но может это плохой выбор?
            • 0
              Амарао же сказал, что используются hba от lsi.
        • 0
          Areca, к примеру.
  • 0
    У меня была подобная история, коллега говорит, что на сетевом диске папка пропала, захожу разворачиваю из бэкапа, а диск говорит, что файлы есть и размер у них такой-то, но не вижу я этих файлов. пляска вокруг 3ware в попытках понять причину выпадения, ребут, и всё один диск пропадает, второй при чтении тоже сильно ругается контроллеру, но с игнорированием ошибок дочитываем данные для возможного сравнения с бэкапом.

    покупаем новые диски разворачиваем данные с бэкапа, те старые диски идут на полку — до лучших времён, когда тестируем, а ошибок на них я так и не смог найти ни в смарт ни с пом. mhdd.
    вот и лежит пара 1.5Тб вроде и целых, а мирных целях использоваться страшно.
    • +1
      > захожу разворачиваю из бэкапа, а диск говорит, что файлы есть и размер у них такой-то, но не вижу я этих файло

      это же под виндами происходило, да?
  • 0
    smartctl из smartmontools? А какой версии пакет? А то у меня что-то не знает такого параметра:

    gw merlin # smartctl -l scterc /dev/sda
    smartctl version 5.38 [x86_64-pc-linux-gnu] Copyright © 2002-8 Bruce Allen
    Home page is smartmontools.sourceforge.net/

    =======> INVALID ARGUMENT TO -l: scterc
    =======> VALID ARGUMENTS ARE: error, selftest, selective, directory, background, scttemp[sts|hist] <=======

    Use smartctl -h to get a usage summary
    • 0
      У меня более новый билд:
      smartctl 5.40 2010-07-12 r3124 [i686-pc-linux-gnu] (local build)

      На нем все работает.
      • 0
        # smartctl -l scterc,1000,1000 /dev/ad10
        smartctl 5.40 2010-10-16 r3189 [FreeBSD 8.2-STABLE amd64] (local build)
        Copyright © 2002-10 by Bruce Allen, smartmontools.sourceforge.net

        =======> INVALID ARGUMENT TO -l: scterc,1000,1000
        =======> VALID ARGUMENTS ARE: error, selftest, selective, directory[,g|s], background, scttemp[sts|hist], scterc[,N,M], sasphy[,reset], sataphy[,reset], gplog,N[,RANGE], smartlog,N[,RANGE], xerror[,N][,error], xselftest[,N][,selftest] <=======
        =======> Option -l scterc,[READTIME,WRITETIME] syntax error

        Use smartctl -h to get a usage summary

        • 0
          Может быть 1000 очень много? Попробуйте установить 100.
          • 0
            да, много, но даже 120 не выставляется:

            # smartctl -l scterc,120,120 /dev/ad10
            smartctl 5.40 2010-10-16 r3189 [FreeBSD 8.2-STABLE amd64] (local build)
            Copyright © 2002-10 by Bruce Allen, smartmontools.sourceforge.net

            SCT Error Recovery Control:
            Read: 57345 (5734.5 seconds)
            Write: 57345 (5734.5 seconds)
            • 0
              Даже не знаю что еще вам подсказать… Может быть диски не поддерживают смену этого параметра? Какие у вас диски?
            • 0
              Обычное поведение десктопного винта. Достаточно цивилизованный, чтобы рассказать про ERC, но не достаточно энтерпрайзнутый, чтобы позволить его менять.
              • 0
                Нужно как-то scterc поменять :)
                Model Family: SAMSUNG SpinPoint F1 DT series
                Device Model: SAMSUNG HD753LJ
                Serial Number: S13UJ1DQ502325
                Firmware Version: 1AA01112
                User Capacity: 750 156 374 016 bytes
                • 0
                  обновите smartmontools!!!
                  на версии 5.41 все работает.
                • 0
                  НО, на FreeBSD параметр почему-то неправильно отображается, показывается 57345, хотя новое значение устанавливается. проверить можно на Linux/Windows.
  • +3
    а выставленные параметры ERC винчестер запоминает навсегда, один раз выставил и на всю жизнь, следить за этим боьше не придётся?
    • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        Нет, saveauto это сохранение параметров смарта (например, power on hours).
    • 0
      ERC is a feature stated in the ATA-specifications. But in the specs it is also noted, that the change a
      SCT-ERC-Command does will not survive a power cycle.
      Поэтому можно настроить задание таймаутов где-нибудь при старте системы или прямо в udev
  • 0
    Пойду задрачивать коллегу, который вставил себе raid edition в десктоп и жутко горд этим, спасибо :)
  • +1
    Для WD есть утилитка WDTLER (Time-Limited Error Recovery) на некоторых hdd green-серии можно все-таки включить ERC/TLER blog.agdunn.net/?p=208
    • 0
      Спасибо.
    • 0
      На caviar black работает?

      А то вот альтернативное решение: ithappens.ru/story/5177
      4х WD caviar black в raid5+hotspare на встроенном рейдконтроллере. 10й софтрейд не по-пацански.
      • 0
        на блеках работает smartctl

        а встроенный рейдконтроллер — это, простите, тот же софтрейд. То есть, загружаешь линукс, а он видит его как софтрейд со всеми причиндалами — записи в /proc/mdstat и т. п… Только контейнер есть — ddf или imsm, вот и вся разница от «чисто линуксового» софтрейда
  • 0
    Вот, за одним узнал, что у меня винчестеры в домашнем сервере за лето разогрелись до плюс 53 по Цельсию %)
  • НЛО прилетело и опубликовало эту надпись здесь
  • +1
    SAMSUNG HD105SI 1AJ10001

    SCT Error Recovery Control:
    Read: 57345 (5734.5 seconds)
    Write: 57345 (5734.5 seconds)

    Какие то большие цифры слишком.
    Для RAID по рекомендациям из статьи следует уменьшить до 100 получается.
    • +1
      Model Family: SAMSUNG SpinPoint F3
      Device Model: SAMSUNG HD103SJ


      два диска таких и на обоих такие значения:

      SCT Error Recovery Control:
      Read: 57344 (5734.4 seconds)
      Write: 57344 (5734.4 seconds)


      • 0
        SAMSUNG HD754JJ, дефотные настройки (были) — 0/0
  • +1
    А как быть с SAS-дисками? На них вывод smartctl существенно отличается:
    gw merlin # smartctl -a /dev/sda
    smartctl 5.40 2010-10-16 r3189 [x86_64-pc-linux-gnu] (local build)
    Copyright © 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net
    
    Device: SEAGATE  ST3500620SS      Version: 0001
    Serial number: 3QM00TLJ00008817EVD4
    Device type: disk
    Transport protocol: SAS
    Local Time is: Tue Aug  2 13:16:13 2011 MSD
    Device supports SMART and is Enabled
    Temperature Warning Enabled
    SMART Health Status: OK
    
    Current Drive Temperature:     41 C
    Drive Trip Temperature:        68 C
    Elements in grown defect list: 0
    Vendor (Seagate) cache information
      Blocks sent to initiator = 1813824591
      Blocks received from initiator = 3355975879
      Blocks read from cache and sent to initiator = 1240205903
      Number of read and write commands whose size <= segment size = 521982773
      Number of read and write commands whose size > segment size = 5
    Vendor (Seagate/Hitachi) factory information
      number of hours powered up = 19151.00
      number of minutes until next internal SMART test = 6
    
    Error counter log:
               Errors Corrected by           Total   Correction     Gigabytes    Total
                   ECC          rereads/    errors   algorithm      processed    uncorrected
               fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
    read:   2162328582    36413         0  2162364995   2162364995      25127.652           0
    write:         0        0         0         0          0       6166.241           0
    verify:   128126        0         0    128126     128126          0.000           0
    
    Non-medium error count:        6
    
    SMART Self-test log                                                                                                                                                   
    Num  Test              Status                 segment  LifeTime  LBA_first_err [SK ASC ASQ]                                                                           
         Description                              number   (hours)                                                                                                        
    # 1  Background long   Completed                   -    4529                 - [-   -    -]                                                                           
                                                                                                                                                                          
    Long (extended) Self Test duration: 6798 seconds [113.3 minutes]                                                                                                      
    


    Команды типа smartctl -l scterc /dev/sda выполняются, но никакой информации не выдают. Ни ошибки, ничего.

    Как про них узнать поподробнее?
    • 0
      SAS — свой мир. Рыть в сторону sgutils, там свой набор команд для управления scsi generic.
      • 0
        в общем, ответ получен командой sdparm. В частности, там есть такие параметры (этот же диск):

          AWRE        1  [cha: y, def:  1, sav:  1]  Automatic write reallocation enabled
          ARRE        1  [cha: y, def:  1, sav:  1]  Automatic read reallocation enabled
          EER         0  [cha: y, def:  0, sav:  0]  Enable early recovery
          DTE         0  [cha: y, def:  0, sav:  0]  Data terminate on error
          DCR         0  [cha: y, def:  0, sav:  0]  Disable correction
          RRC        11  [cha: y, def: 11, sav: 11]  Read retry count
          WRC         5  [cha: y, def:  5, sav:  5]  Write retry count
          RTL        -1  [cha: y, def: -1, sav: -1]  Recovery time limit (ms)
        


        смысл понятен из описаний.

        Вообще, sas-диск куда тоньше настраивается. Всего настраиваемых параметров там примерно в пять раз больше, чем здесь перечислено.
    • 0
      Есть подозрение что SAS по умолчанию, так сказать от рождения предназначены для работы в рейдах и имеют все нужные параметры по дефолту.
      • 0
        Сомнительно. Какие именно нужные параметры?

        Например, из статьи следует, что консистентный массив должен работать с небольшими значениями, типа 60/60. Но как раз когда массив деградировал, на остальных дисках есть смысл выключить ERC (0/0), чтобы при собственно перестроении массива он с выживших дисков считывал информацию до последнего — таким образом, меньше шансов, что в процессе реконструкции RAID5 умрёт окончательно.

        Диск же сам никак не сможет узнать, что массив, в котором он участвует, деградировал и сейчас нужно считывать тяжёлые блоки до последнего, а не выдавать сбой через пять секунд неудачных попыток, нужен способ ему об этом сказать. Так вот, не может быть, чтобы в «домашних» дисках «домашнего» интерфейса SATA такой способ был, а в «профессиональных» с «профессиональным» же интерфейсом SAS — не было.
        • 0
          Нужные параметры — ответ контроллеру за 7 секунд, если дольше то он посчитает диск мертвым, и отключит его тоже. Поэтому бесполезно выставлять больше в попытках ребилда. В железных рейдах есть и другие технологии — постоянное сканирование поверхностей в простое, анализ смарта, хот-спаре и т. д., чтобы диски «внезапно» не переставали работать.
          А если уж такое произошло, то появляется бэкап, и раскатывается.

          А те параметры, которые выше, нужны в исключительных случаях: если суппорт (или коммьюнити), в определённой конфигурации, под определённую задачу рекомендует выставить нужные параметры.
  • 0
    Печально что в уже существующих аппаратных рейдах не проверить возможности того или иного диска.
    • +3
      ошибаетесь, можно:
      ошибаетесь, это возможно:
      xen0 merlin # smartctl -a -d cciss,0 /dev/cciss/c0d0
      smartctl version 5.38 [x86_64-pc-linux-gnu] Copyright © 2002-8 Bruce Allen
      Home page is http://smartmontools.sourceforge.net/
      
      Device: HP       DG072BABCE       Version: HPD5
      Serial number: BSA5P8702STJ0830
      Device type: disk
      Transport protocol: SAS
      Local Time is: Tue Aug  2 13:37:20 2011 MSD
      Device supports SMART and is Enabled
      Temperature Warning Enabled
      SMART Health Status: OK
      
      Current Drive Temperature:     38 C
      Drive Trip Temperature:        65 C
      Manufactured in week 30 of year 2008
      Recommended maximum start stop count:  50000 times
      Current start stop count:      47 times
      Elements in grown defect list: 0
      
      Error counter log:
                 Errors Corrected by           Total   Correction     Gigabytes    Total
                     ECC          rereads/    errors   algorithm      processed    uncorrected
                 fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
      read:          0        0         0         0          0          0.000           0
      write:         0        0         0         0          0          0.000           0
      
      Non-medium error count:      115
      No self-tests have been logged
      Long (extended) Self Test duration: 1142 seconds [19.0 minutes]
      
      xen0 merlin # smartctl -a -d cciss,4 /dev/cciss/c0d0
      smartctl version 5.38 [x86_64-pc-linux-gnu] Copyright © 2002-8 Bruce Allen
      Home page is http://smartmontools.sourceforge.net/
      
      Serial number:      WD-WX50AC9D8701
      Device type: disk
      Local Time is: Tue Aug  2 13:38:31 2011 MSD
      Device supports SMART and is Enabled
      Temperature Warning Disabled or Not Supported
      Log Sense failed, IE page [scsi response fails sanity test]
      Read defect list: asked for grown list but didn't get it
      
      Error Counter logging not supported
      Device does not support Self Test logging
      
      

      это — случай когда диск подключен к контроллеру HP (Compaq) SmartArray E200. Подробности про это и другие контроллеры есть в man smartctl.

      • 0
        В одном из серверов используется adaptec 2805

        image
        • +1
          конкретно с adaptecом у вас, видимо, ничего не выйдет.

          вот описание основного в данном вопросе ключа -d: Specify device type to one of: ata, scsi, sat[,N][+TYPE], usbcypress[,X], usbjmicron[,x][,N], usbsunplus, marvell, areca,N, 3ware,N, hpt,L/M/N, megaraid,N, cciss,N, auto, test
        • 0
          Через адаптеки можно достучаться, но если ОС — Linux. Он предоставляет драйвер sg — общий для SCSI, и последние контроллеры 2 и 5 серий позволяют через него работать напрямую с дисками — как SAS, так и SATA.
          • 0
            Не позволяют, я пробовал. smartmontool на ленни (пробовал именно на ленни) нихрена не может через /dev/sg* сделать. Адаптековцы что-то фееричное присылали про метод чтения смарта у винтов, но это было так через… пно…
          • 0
            да, пятая серия, разумеется.
          • 0
            У меня Adaptec 5405, firmware 17899. Прочитал smart, даже на FreeBSD через /dev/pass* :)
  • 0
    Я вот не понял какие последствия будут, если в десктопе стоит RAID версия HDD и у нее SCT ERC выставлен не в 0/0? Что с диском может быть не так, если не выставит значения таймингов в нули?
    • +1
      Первый чих, и ваша файловая система огребает ошибку записи в журнал транзакций, BMP или другую ценную область.
      • 0
        То-есть будут никому не нужные записи об ошибках, которые будут портить статистику использования винчестера? А емкость HDD будет снижаться при появлении таких ошибок?
        • 0
          не записи об ошибках, а ошибки записи. чисто теоретически, это примерно одинаково по эффекту с «перезагрузкой кнопочкой».

          практически возможны варианты — ядро делает ретрай записи или фс обрабатывает ошибку и что-то делает (уход в ro, паника. итд).
      • +1
        … и ядро переотправляет команду записи.
        • 0
          … по другому адресу, а этот блок диска помечается как сбойный и про него ФС забывает навсегда
          • 0
            Спасибо! Понятно!
            Сегодня вечером все выставлю в нули.
          • +1
            >… по другому адресу, а этот блок диска помечается как сбойный и про него ФС забывает навсегда

            драйвер контроллера вполне может и без ФС тихо насрать в лог, сделать ретрай и ФС ничего не узнает.

            кроме того, что-то я не помню такого поведения, например у линуксовых фс, при котором ядерный драйвер САМ обновлял таблицу сбойных блоков.

            обычно как раз диск сыпется, в логах срач, бедблоки сиди ищи руками и руками же в фс их список закидывай.

            возможно мой опыт в данном вопросе не такой широкий, так как у меня нет коробочки с сотней жестких дисков для хранения разных версий Евангелиона.
            • 0
              Ну возможно. Сейчас осознал, что у меня диски какие сыпались — всегда были компонентами массива, так что до сбойных блоков ФС не доходило.

              Так или иначе, это лучше, чем по-тихому смолчать, а потом прочитать некорректные данные.
            • 0
              Евангелион мало места занимает.
              • +1
                Когда-то, в начале столетия, мы смотрели его в viv-файлах. 26 серий занимало 2 cd. Ощущения типа «красное пятно подползло к зелёному и что-то пробулькало».
  • 0
    О, спасибо, очень полезно.
    У меня как раз RE3 и RE4 стоят в софт-рейде — думал, а не надо ли их настраивать.
  • 0
    может, будет полезно: у меня
    Model Family: Western Digital Caviar Blue Serial ATA family

    но при этом проверка на SCT как бы проходит:

    SCT capabilities: (0x3037) SCT Status supported.
    SCT Feature Control supported.
    SCT Data Table supported.

    хотя на самом деле управлять им нельзя:

    $ smartctl -l scterc /dev/sda
    smartctl 5.40 2010-07-12 r3124 [i686-pc-linux-gnu] (local build)
    Copyright © 2002-10 by Bruce Allen, smartmontools.sourceforge.net

    Warning: device does not support SCT Error Recovery Control command
  • 0
    Как выполнить операции со SMART'ом в Microsoft Windows — не имею ни малейшего представления. Звоните в службу поддержки производителя и спрашивайте.

    Что за желчь? sourceforge.net/projects/smartmontools/files/smartmontools/5.41/ качайте установщик на здоровье.
  • 0
    Из статьи не очень понятно — а каковы будут действия ОС \ Raid-контроллера, если в рэйде установлены несколько дисков с работающим (ненулевым) ERC?
    И чем это будет отличаться от ситуации без ERC?
    • 0
      Запрос на чтение. Пауза. Долгая. Запрашивающий уже отвалился по таймауту. А запрос всё ещё исполняется.
  • 0
    % smartctl -l scterc /dev/ad16
    smartctl 5.41 2011-06-09 r3365 [FreeBSD 8.2-STABLE amd64] (local build)
    Copyright © 2002-11 by Bruce Allen, smartmontools.sourceforge.net

    SCT Error Recovery Control:
    Read: 57345 (5734.5 seconds)
    Write: 57345 (5734.5 seconds)

    — и так для всех дисков Samsung (2,5" HDD) и WD (3,5" HDD). Работают в ZFS-пулах.
    • 0
      Это на самом деле плохо, потому что если диску захочется «перечитать» запрошенное, то он это будет делать неограниченно долго, или, с поправкой на современные линуксы/бзди — две минуты, пока операция не отвалится по таймауту.
      • 0
        А что за «поправка»? Современные *nix'ы не обращают внимания на ERC и сами дают диску меньшее время на чтение? Диск же тупит и ждёт истечения полного таймаута ERC, для ОСи он в это время считается не ответимшим?

        То есть нужно каким-то образом привести ERC и ожидания операционной системы в синхронное состояние — чтобы и там и там время таймаута совпадало с неким значением, допустим, 1 секунда. Так?
        • 0
          Не так. Правильно (если есть рейд) чтобы диск отвечал о проблеме сразу же (с небольшим лагом), а не пытался до последнего.

          В случае современных ОС они имеют свой таймаут, и железка, не прочитавшая в указанное время (у линукса 2 минуты) считается мёртвой и игнорируется.

          ERC просто контролирует когда диск должен вернуть ошибку (если таковая есть). С поведением линукса никак не коррелирует.
          • 0
            Правильно ли я понял, что таймаут операционной системы на общение с носителем и ERC самого носителя мало связаны между собой? Но вот где проходит разрыв этой связи, я пока не улавливаю.

            Попробую ещё раз: диск в RAID должен как можно скорее вернуть ошибку RAID-контроллёру и даже не пытаться самостоятельно перечитывать сбойный сектор. А значит, значения ERC его должны быть минимальными (несколько секунд). Так?

            Когда RAID переходит в аварийный режим работы и режим восстановления, ERC у оставшихся дисков нужно выставить на максимум (две минуты), чтобы обеспечить надёжность считывания без случайных отвалов по ошибке чтения/записи? Я правильно понял идею?
            • 0
              Чтобы был «разрыв связи» должна быть связь. А её нет.

              В остальном правильно.
    • 0
      Это баг в smartmontools — 57345 показывался независимо от реального значения.
      В SVN уже исправлено:
      sourceforge.net/apps/trac/smartmontools/ticket/198
  • 0
    Добавим в табличку:
    Hitachi Travelstar 7K1000 | HGST HTS721010A9E630 | Есть, 0/0, можно включить

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.