Вопрос: Как один диск в аппаратном массиве SATA RAID-10 может привести к остановке всего массива?


Прелюдия:

Я обезьяна-кошка, которая все чаще берет на себя обязанности SysAdmin для моей маленькой компании. Мой код - наш продукт, и все чаще мы предоставляем такое же приложение, как SaaS.

Около 18 месяцев назад я переместил наши серверы с премиум-провайдера, ориентированного на хостинг, на толкатель баребонов в центре обработки данных уровня IV. (Буквально через дорогу.) Этот процесс делает намного больше нас - такие вещи, как создание сетей, хранение и мониторинг.

В качестве части большого шага, чтобы заменить наше арендуемое прямое хранилище от хостинговой компании, я построил двухточечное NAS на базе 9 Тбайт, основанное на моделях SuperMicro, 3ware RAID-картах, Ubuntu 10.04, двух десятках SATA-дисков, DRBD и. Все это с любовью задокументировано в трех блогах: Создание и тестирование нового 9TB SATA RAID10 NFSv4 NAS: Часть I, Часть II а также Часть III.,

Мы также установили систему мониторинга Cacit. Недавно мы добавляли все больше и больше данных, таких как значения SMART.

Я не мог бы сделать все это без здорово  Boffins  в  ServerFault, Это был интересный и образовательный опыт. Мой босс счастлив (мы сохранили загрузку ковша $$$), наши клиенты счастливы (расходы на хранение снижаются), Я счастлив (веселье, веселье, веселье),

До вчерашнего дня.

Отключение и восстановление:

Через некоторое время после обеда мы начали получать сообщения о вялой производительности из нашего приложения, потокового медиа CMS по требованию. Примерно в то же время наша система мониторинга кактусов отправила метель писем. Одним из наиболее важных предупреждений был график ожидания iostat.

enter image description here

Производительность стала настолько унизительной, что Pingdom начал отправлять уведомления «сервер вниз». Общая нагрузка была умеренной, и не было всплеска трафика.

После входа на сервер приложений, клиентов NFS NAS, я подтвердил, что почти все происходит с очень прерывистым и безумно длинным временем ожидания ввода-вывода. И как только я прыгнул на основной узел NAS, те же задержки были очевидны при попытке навигации по файловой системе массива проблем.

Время терпеть неудачу, все прошло хорошо. В течение 20 минут все было подтверждено, что он отлично работает и работает.

Посмертное:

После всех сбоев системы я выполняю посмертное определение причины сбоя. Первое, что я сделал, это ssh обратно в коробку и начать просмотр журналов. Он был отключен, полностью. Время для поездки в центр обработки данных. Сброс оборудования, резервное копирование и запуск.

В /var/syslog Я нашел эту страшную запись:

Nov 15 06:49:44 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_00], 6 Currently unreadable (pending) sectors
Nov 15 06:49:44 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_07], SMART Prefailure Attribute: 1 Raw_Read_Error_Rate changed from 171 to 170
Nov 15 06:49:45 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_10], 16 Currently unreadable (pending) sectors
Nov 15 06:49:45 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_10], 4 Offline uncorrectable sectors
Nov 15 06:49:45 umbilo smartd[2827]: Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
Nov 15 06:49:45 umbilo smartd[2827]: # 1  Short offline       Completed: read failure       90%      6576         3421766910
Nov 15 06:49:45 umbilo smartd[2827]: # 2  Short offline       Completed: read failure       90%      6087         3421766910
Nov 15 06:49:45 umbilo smartd[2827]: # 3  Short offline       Completed: read failure       10%      5901         656821791
Nov 15 06:49:45 umbilo smartd[2827]: # 4  Short offline       Completed: read failure       90%      5818         651637856
Nov 15 06:49:45 umbilo smartd[2827]:

Поэтому я пошел проверять графики Cacti для дисков в массиве. Здесь мы видим, что, да, диск 7 ускользает, как говорит syslog. Но мы также видим, что SMART Read Erros диска 8 колеблется.

enter image description here

В syslog нет сообщений о диске 8. Более интересно то, что флуктуирующие значения для диска 8 напрямую коррелируют с большим временем ожидания ввода-вывода!  Моя интерпретация такова:

  • Диск 8 испытывает нечетную аппаратную ошибку, что приводит к прерывистому длительному периоду работы.
  • Как-то это условие неисправности на диске блокирует весь массив

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

Вопросы)

  • Как один диск в аппаратном массиве SATA RAID-10 может привести к остановке всего массива?
  • Могу ли я наивно думать, что RAID-карта должна была справиться с этим?
  • Как я могу помешать одному повреждающему диску влиять на весь массив?
  • Я что-то упускаю?

99
2017-11-16 11:14


Источник


Еще один хорошо написанный вопрос от вас, +1. Всегда приятно читать (но, к сожалению, над моей доской даже иметь представление). - tombull89
@daff: купив бюджет на эту настройку, мы сохранили твердую 66% от сопоставимого с HP. Мы устанавливаем год жизни на этом ящике, это не должно длиться дольше. Помните, что это ящик для хранения, стоит plumet в годовом исчислении. - Stu Thompson
3Ware - это не плохо, само по себе. У меня было странное поведение с карты PERC в системе Dell, которая должна быть достойной серверной аппаратурой. Карта 3Ware должна иметь встроенную батарею и так, поэтому я не буду слишком плохо относиться к этому решению. Хорошо, вы можете быть захлопнуты за решение SAS и SATA, но вы не теряете данные, и из вашего вопроса вы чувствуете, что у вас есть резервные копии и мониторинг на месте, так что вы делаете довольно хорошо :-) - Bart Silverstrim
@StuThompson: конечно, дешевле покупать бюджет и использовать потребительскую технику, и чаще всего он будет работать отлично, особенно когда, как и в вашем случае, за ним стоит хорошая концепция HA. Но, как вы показали, есть случаи, когда потребительское оборудование просто не режет его, когда происходят плохие вещи. Я могу в значительной степени гарантировать вам, что один неисправный диск SAS на хорошем контроллере PERC (Dell) или SmartArray (HP) не вызвал бы у вас каких-либо проблем, кроме вызова службы поддержки, чтобы получить заменяющий диск. На протяжении многих лет у нас было много мертвых дисков SAS, но у них не было ни одного сервера. - daff
Большинство дисков SATA не поддерживают TLER (Time Limited Error Recovery). Когда типичный диск SATA сталкивается с физической проблемой, он отправляет «удерживать, пока я работаю над этим», в подсистему диска (что обычно делает, как сказано). Затем диск начнет тратить 10-30 секунд (обычно) на каждую найденную ошибку, пока не достигнет порога «Я мертв». Диски SAS и диски SATA, поддерживающие TLER, настраиваются их HBA, чтобы сообщить дисковой подсистеме: «У меня проблема, что мне делать?» поэтому HBA может решить соответствующее действие в основном немедленно. (Упрощенное для краткости) - Chris S


Ответы:


Я ненавижу говорить «не использовать SATA» в критических производственных средах, но я часто видел эту ситуацию. Приводы SATA обычно не предназначены для рабочего цикла, который вы описываете, хотя вы использовали спецификацию диски, специально рассчитанные на работу 24x7 в вашей настройке. Мой опыт заключается в том, что диски SATA могут быть непредсказуемыми, что часто влияет на весь массив хранения, даже при использовании RAID 1 + 0, как вы это делали. Иногда диски выходят из строя таким образом, чтобы остановить всю шину. Следует отметить, используете ли вы расширения SAS в своей настройке. Это может повлиять на то, как на оставшиеся диски влияет отказ диска.

Но, возможно, имело смысл средняя линия / ближняя линия (7200 об / мин) SAS диски по сравнению с SATA. Там есть небольшая премия над SATA, но приводы будут работать / отказываться более предсказуемо. Коррекция ошибок и отчетность в интерфейсе / протоколе SAS более надежны, чем набор SATA. Так что даже с дисками чьи механики одинаковы, разница в протоколе SAS может предотвратить боль, которую вы испытали во время сбоя вашего диска.


47
2017-11-16 11:48



Когда я писал вопрос, я просто знал мой выбор SAS собирался придумать. : / IOPS и пропускная способность вполне соответствуют возможностям моей настройки. Но я не в полной мере ощущал некоторые из более тонких различий. Мы поставили на этот ящик 3-летнюю продолжительность жизни. Обязательно использовать SAS в следующий раз. - Stu Thompson
Да, это нужно подумать в следующий раз. Приоритетные приводы SAS, о которых я упоминал, не обязательно работают лучше, чем SATA, но это такие вещи, как восстановление ошибок и сбои дисков, где SAS более управляем. У меня есть система хранения данных SATA Sun Fire x4540 с 48 контроллерами с 6 контроллерами, а отдельные отказы дисков имеют тенденцию блокировать сервер. Жесткий урок. - ewwhite
Хороший мой приятель находится в мире корпоративных хранилищ. Он прочитал все это и сказал: «этот парень прав. Что происходит, так это то, что SATA предназначен для обозначения полного сбоя, и прерывистый будет требовать, чтобы шина не принимала переход на другой ресурс. Обычно этого никогда не наблюдается, поскольку большинство конфигураций SATA - это один диск», - Stu Thompson
@StuThompson С тех пор вы построили новую коробку с близкими линиями SAS? Я бы хотел прочитать о вашем опыте. Ваш вопрос мне очень помог, скорее всего, я буду строить аналогичную коробку в ближайшем будущем. - chrishiestand
@chrishiestand Нет, нет. Я покинул компанию в 13 января; если бы я остался, мы бы построили коробку замены с близлежащей линией. Увы, существование NAS было слишком близко привязано к моему, и данные были перенесены в SAN поставщика услуг. - Stu Thompson


Как один диск может сбить массив? Ответ заключается в том, что он не должен, но это зависит от того, что вызывает отключение. Если диск должен был умереть так, как он себя вел, он не должен его убирать. Но вполне возможно, что он не работает в режиме «края», который контроллер не может обработать.

Вы наивно думаете, что этого не должно произойти? Нет, я так не думаю. Подобная аппаратная RAID-карта должна была справиться с большинством проблем.

Как предотвратить это? Вы не можете предвидеть такие странные краевые дела, как это. Это часть sysadmin ... но вы можете работать над процедурами восстановления, чтобы не повлиять на ваш бизнес. Единственный способ попытаться исправить это сейчас - либо попробовать другую аппаратную карту (возможно, не то, что вы хотели бы сделать), либо изменить свои диски на диски SAS вместо SATA, чтобы узнать, является ли SAS более надежным. Вы также можете связаться со своим поставщиком RAID-карты и рассказать им, что произошло, и посмотреть, что они говорят; они, в конце концов, являются компанией, которая, как предполагается, специализируется на знании внутренних и внешних устройств электроники привода. У них может быть больше технических советов о том, как работают диски, а также о надежности ... если вы можете обратиться к нужным людям, с которыми можно поговорить.

Вы что-то пропустили? Если вы хотите проверить, что накопитель имеет ошибку краевого случая, вытащите его из массива. Массив будет деградирован, но у вас не должно быть больше странных спадов и ошибок (кроме состояния ухудшенного массива). Вы говорите, что сейчас это работает нормально, но если у него есть ошибки чтения диска, вы должны заменить диск, когда сможете. Диски с высокой пропускной способностью могут иногда иметь ошибки URE (лучшая причина не запускать RAID 5, примечание), которые не отображаются до тех пор, пока другой диск не сработает. И если вы сталкиваетесь с поведением с одного диска, вы не хотите, чтобы поврежденные данные переносились на другие диски в массиве.


17
2017-11-16 11:58



Да ... мы уже внесли новую политику замены, как «если ошибки чтения колеблются, тогда держите их», Теперь, когда я думаю об этом, у нас был довольно высокий уровень сбоев на этих дисках. 4 из 22 в 18 месяцев. Хммм .... - Stu Thompson
4 диска через 18 месяцев? это довольно высокая скорость ... в то время как это могут быть диски не в спецификации, может быть проблема охлаждения / воздушного потока, чтобы посмотреть. Или, возможно, что-то странное с контроллером. Просто некоторые мысли ... следите за журналами. Если вы можете связаться с кем-либо в 3Ware с фактической работой с карточками, а не только с скриптом, вы можете запустить их ими и посмотреть, что они говорят. - Bart Silverstrim
В зависимости от набора, где вы видите ошибки, вы также можете проверить, что с кабелями тоже нет ничего страшного или маргинального. Если ошибки, похоже, сконцентрированы на одном и том же порту, у вас может быть меньше случайного набора сбоев. - Bart Silverstrim
Я только что видел, что значения SMART для этого привода bum работали при температуре ~ 31 ° C, или на 4 ° C выше, чем у всех других дисков. Вещи, которые заставляют вас идти хмммм .... - Stu Thompson
@DanNeely: из 14 дисков (11 данных, 3 системы) он был единственным с более высокой температурой. Я довольно уверен, что воздушный поток хорош, но явным образом буду проверять завтра. - Stu Thompson


Я не эксперт, но я собираюсь сделать дикий выстрел в темноте на основе моего опыта работы с RAID-контроллерами и массивами хранения.

Диски терпят неудачу разными способами. К сожалению, диски могут терпеть неудачу или быть неисправными, когда их производительность серьезно затронута, но RAID-контроллер не видит сбоя.

Если диск выходит из строя очевидным образом, любое программное обеспечение RAID-контроллера должно быть довольно хорошо обнаруживать недостаток ответа с диска, удалять его из пула и запускать любые уведомления. Тем не менее, моя догадка о том, что происходит здесь, заключается в том, что на диске наблюдается необычный сбой, который по какой-то причине не вызывает сбой на стороне контроллера. Поэтому, когда контроллер проводит пишущий поток или считывает с поврежденного диска, требуется много времени, чтобы вернуться и, в свою очередь, повесил всю работу ввода-вывода и, следовательно, массив. По какой-то причине этого недостаточно для того, чтобы RAID-контроллер перешел «ах, сбойный диск», вероятно, из-за того, что данные в конечном итоге возвращаются.

Мой совет - немедленно заменить неисправный диск. После этого я взглянул на конфигурацию вашей RAID-карты (это 3ware, я думал, что они были довольно хороши) и выяснили, что он считает неудавшимся диском.

Постскриптум хорошая идея, импортирующая SMART в кактусы.


10
2017-11-16 11:57



Как только я подключил точки, первое, что я подумал, это удалить диск из массива; горячая резервная копия заполнена. Это было прошлой ночью. Сегодня я вытащил диск и RMA'd его. Оскорбительный диск: geekomatic.ch/images/wd-re4-flux-read-error.jpg - Stu Thompson
Одна из причин, по которой я думаю, что каждая критически важная система должна иметь карту, которая очищает данные. Я видел это слишком много раз, чтобы рассчитывать, особенно на массивах SATA, однако даже более высокие конечные диски SAS, как известно, терпят неудачу, не запуская контроллер. - Jens Ehrich


Вам нужны функции устройств хранения корпоративного класса. В частности, на корпоративных дисках WD RE 4 есть две функции, необходимые для предотвращения такого поведения в RAID-массивах. Первая технология, перечисленная ниже, предотвращает вибрацию вращательной гармоники от чрезмерного износа механических компонентов жесткого диска. Вторая технология - вот что вызвало вашу проблему, протокол SATA не имеет этой функции. Чтобы получить эти функции, вам нужен SAS, и если вы настаиваете на SATA-дисках, вы можете приобрести SAS для карт SATA Interposer, таких как LSISS9252.

Усовершенствованная технология RAFF. Сложная электроника контролирует привод и исправляет как линейную, так и вращательную вибрацию в реальном времени. Результатом является значительное повышение производительности в условиях высокой вибрации по сравнению с предыдущими поколениями накопителей.

RAID-специфическое, ограниченное по времени восстановление ошибок (TLER) Предотвращает выпадение дисков, вызванное расширенными процессами восстановления ошибок на жестком диске, обычными для настольных дисков.

http://en.wikipedia.org/wiki/Error_recovery_control#Overview

Также см. Ссылку ниже:

http://en.wikipedia.org/wiki/Error_recovery_control#Raid_Controllers

Также см. Документ Western Digital TLER, в котором подробно описывается процесс восстановления ошибок. Ошибка восстановления Fallout Prevention в WD Caviar RAID Edition Последовательные жесткие диски ATA:

http://www.3dfxzone.it/public/files/2579-001098.pdf


7
2018-02-25 19:34





Просто предположение: жесткие диски настроены на повторение ошибок чтения, а не сообщение об ошибке. Хотя это желательно поведение в настройках рабочего стола, оно является контрпродуктивным в RAID (где контроллер должен переписать любой сектор, который не считывает данные с других дисков, поэтому диск может переназначить его).


6
2017-11-16 13:30



Очень возможно. Если это так, это вызывающе не круто, поскольку они являются спецификациями «RAID edition». : | - Stu Thompson
Абсолютно не круто, потому что эта настройка - это самое определение «RAID edition» :) - Simon Richter


мой выстрел в темноте:

  • диск 7 не работает. он имеет некоторые окна с отказами, где он недоступен.

  • В драйвере 8 также есть «более легкие» ошибки; исправлено путем повторной попытки.

  • RAID10 обычно является «RAID0 из нескольких пар RAID1», являются ли диски 7 и 8 членами одной и той же пары?

если это так, то, похоже, вы попали в случай «не должно случиться» с двухдисковым сбоем в той же паре. почти единственное, что может убить RAID10. к сожалению, это может произойти, если все ваши диски принадлежат к одной и той же партии, поэтому они с большей вероятностью умрут одновременно.

Я предполагаю, что во время сбоя диска 7 контроллер перенаправил все чтения на диск 8, поэтому любая попытка повторной попытки вызвала большие задержки, вызвавшие лавину замороженных задач, в то же время убивая производительность.

вам повезло, что диск 8 пока не мертв, поэтому вы можете исправить без dataloss.

Я бы начал с изменения обоих дисков, и не забудьте проверить кабели. это может привести к ослабленному соединению, и если он не будет прочно проложен, это, скорее всего, произойдет в соседних приводах. Кроме того, некоторые многопортовые карты имеют несколько двухпортовых разъемов, если привод 7 и диск 8 находятся на одном и том же, это может быть источником вашей проблемы.


6
2017-11-16 14:11



Привод 8 является причиной прерывания службы, я уже потянул ее. Привод 7, в то время как он потерял некоторые секторы, как было в этом состоянии на некоторое время и по-прежнему в целом хорошо работает. Нет, они приводятся в разные пары. (Это было то, что я рассматривал, а также возможное несоосность моих запросов Cacti / SNMP.)  Карта имеет 16 портов, 4 кабеля, 4 порта на кабель в задней панели. Если проблема связана с картой, кабелем или бэкграфом, я скоро узнаю, когда я вставлю замену диска 8. - Stu Thompson


SATA Interposer Cards - еще одно решение.

Я недавно пережил эту же участь и нашел эту тему. Общий тенор заключается в том, что SAS протокол лучше подходит для RAID, чем SATA, потому что SATA не хватает функций. Вот почему одни и те же физические диски оснащены контроллерами SAS, а затем продаются как Nearline SAS.

Далее, я обнаружил:

http://www.lsi.com/products/storagecomponents/Pages/LSISS9252.aspx

Я изучаю обновление одной из моих хранилищ с их пакетом. В настоящее время разница в цене между 3 ТБ SATA и SAS составляет 400% (цена на ваниль, та же марка, спецификации и магазин, Германия). Я, очевидно, не могу сказать, хорошо ли эта стратегия работает, но стоит попробовать.

Комментарии очень приветствуются :-)


3
2018-02-22 19:12



Хорошо хорошая теория. После сбора некоторой информации производители систем хранения данных могут интегрировать эти платы, и их добавление не обязательно означает лучшую обработку ошибок. - korkman


Я видел, что диск SATA со сломанной электроникой прочно закрепил прошивку прошивки Areca 12something, не было никакого способа получить доступ к BIOS, не говоря уже о загрузке машины с любого носителя, пока не будет найден повреждающий жесткий диск, вытаскивая диски в двоичном формате поиск мода.


2
2018-05-06 18:57