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
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 90
    • –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, можно включить
                                                                                    • 0
                                                                                      У некоторых SSD поддержка SCT тоже есть и даже включена. Plextor PX-64M2S — 2/2. Причём, первое значение можно изменить, а второе нет.

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