186

“Как я с постоянными ребилдами HGST под HP боролся” или “Чем отличается обычный диск от серверного и как это исправить”

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


Не так давно я публиковал крик о помощи. pikabu.ru/story/postoyannyie_rebildyi_i_feylyi_hgst_pod_hp_5091296

Если кратко, меня, счастливого обладателя кучи HGST дисков и кучи рейдов и HBA-контроллеров от HP, замучили постоянные ребилды этого хозяйства.


В HGST support мне за полгода переписки ничем не помогли, стандартные - "попробуйте выключить-включить" и прочие "стекло протереть" и "по колесам постучать".


Многие рекомендовали сменить контролер - но на какой именно никто не решался сказать (даже HGST-шники на этом наставали - но непременно скукоживались после вопроса о конкретной модели).


Естественно, самые правоверные коллеги в комментариях сразу же возмутились, мол свечки-то купленные за воротами прихода и не должны работать. В смысле, что это все божья кара ниспосланная мне, грешнику, небесами ибо сотворил я ужасное - впав в ересь, осквернил священное железо HP дешевыми нечистыми дисками, цена которых в 3-4 раза ниже, освященных наклейкой священного же синода HP. И как ни странно, оказались частично правы. Слава Императору - только частично.


@ZaPusk был единственным, кто четко указал куда копать и как решать проблему. Огромное спасибо этому замечательному человеку. Собственно по его поручению и пилю данный пост.

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


1. повышенная наработка на отказ (часто иллюзорная, и в некоторых случаях излишне избыточная);

2. поведение при возникновении ошибок.


Вот во втором-то пункте и крылась причина моей столь затянувшейся серии приступов бессонницы.


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


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


Что будет если поставить обычный диск в рейд? Правильно, он будет регулярно строить из себя Д'Артаньяна и бесконечно тупить, за что его будут регулярно выкидывать из рейда на мороз.


Можно ли это поменять? Оказывается можно. Данная техника имеет два названия TLED (судя по всему уже устаревшее) и SCT ERC, и заключается в банальнейших внутридисковых таймаутах. ВСЕ современные диски ее поддерживают и соответственно ВСЕ они могут быть превращены в серверные. Отличие последних как раз и заключается в том, что у них эта опция включена по-умолчанию.


Теперь о печальном. Первое - далеко не все диски запоминают эту опцию и после перезагрузки/переподключения/замены необходимо ее перепрописывать снова и снова. Не за всякий контролер можно легко достучаться, в частности, для того что бы применить опции в hp-шному нужно ударить в бубен немного иначе:


lsscsi -g  # Находим, что наш контролер живет, например, на /dev/sg0


for i in {0..100}; do smartctl -l scterc,70,70 -d cciss,$i /dev/sg0; done 

# Выставляем для всех дисков c номерами 0-100 на этом контролере


Продолжаем о грустном. Судя по всему HP что-то напортачили с регистрами SCSI и эта команда выдаст ошибку.


Unexpected SCT status 0x0010 (action_code=0, function_code=0)

SCT (Set) Error Recovery Control command failed


Но расстраиваться не стоит - если изучить скрежали smartctl, станет понятно, что ошибка возникает уже ПОСЛЕ установки - при попытке считать эту опцию, именно по-этому не получится узнать текущее ее значение. Но при этом опция работает, что подтверждается спокойствием моего сна протяжении последних 2-х недель.


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


Вывод - все хороши:

1. HGST - за никакущую поддержку (про SCT ERC там никто не слышал, из-за видимо заткнутых в уши 100-долларовых купюр).

2. HP - за кривую реализацию SCSI.

3. Маркетологи - за очередную победу бабла над разумом.

Дубликаты не найдены

+4

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

раскрыть ветку 28
+1

У меня в хозяйстве и того и другого навалом. Тут есть еще один момент - железные рейд решения фактически устарели с ростом объема дисков. Прирост эффективности может дать только объединение уровней абстракции - фс+кеш+рапределение информации. Например raid-z от ZFS. Если ему подсунуть обратно выпавший диск он его очень быстро отресильверит и вернет в строй, я так понимаю благодаря журналу или чему-то подобному, а железный рейд и md будут его колбасить неприлично долго, посадив общую производительность системы. Кроме того там есть оч эффективный RAM-ARC и не самый эффективный SSD-LRU кеши (так называемый l2arc который, кстати ни разу не ARC, как оказалось - везде обман). Но и тот дает гигантский оверхед под нормальным linux, а переходить с debain я пока не готов.


Ну и да - для софтовых рейдов аналогично рекомендуется выручивать SCT ERC - по крайней мере для ZFS точно - HGST отваливались от него так же как железных рейдов.

раскрыть ветку 16
0

ZFS - это конечно очень круто, но пока "искаропки" не поддерживается. Поэтому пока что mdadm + LVM + XFS.

А функционала у mdadm за глаза, лично мне хватает на абсолютно все задачи. RAID5 + hot spare умеет и ладно. Главное - следить за состоянием бесперебойника. А железными решениями пусть пользуются те, кому не накладно купить про запас контроллер и серверные харды.

раскрыть ветку 15
0

Ну значит у вас просто нет потребности в настоящем рейде. У нас сейчас стоят полки от Netapp на общее место в полтора петабайта, как такое собирать и как таким рулить через софтрейд даже думать не хочу. Кстати диски в Netapp тоже от HGST, правда настоящие серверные.

раскрыть ветку 8
+2

Хм, а в чем проблема рулить софтовым рейдом? Хочешь - конфиг пиши, хочешь - через консоль командами, хочешь - через какой-нить вебмин админь. Для ценителей есть FreeNAS заточенный под хранение. Так что, вообще не наблюдаю проблемы. Хотя с такими объемами да, не сталкивался.

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

раскрыть ветку 1
0
Это сколько у тебя шпинделей? Пытаюсь на глаз прикинуть стоимость СХД.
раскрыть ветку 4
0

Неттаппы - донельзя приятные железки. Но диски большого объема - будут неподъемными для ТС. Он за ценник одного диска, сможет купить 5 консьюмерских.

0
А еще очень мило, когда дохнет контроллер (особенно старый), который хрен где найдешь. Вот тут-то веселье просто прет волной. Я тоже, хоть и в основном по маздаю, но тоже в последние годы делаю в основном софтовый рейд. Ну, или биос-рейд (те же яйца, но криворукие китайцы бывают напортачат в прошивке).
раскрыть ветку 1
0

Биос-рейд - это самое ужасное, что можно придумать. Он не хардварный, нет как такового контроллера, нет буфера, нет аккумулятора. Он самый обычный софтовый, но при этом ОС не может нормально им управлять. Мониторить более-менее можно, но вот деградировавший массив - только пересоздавать, предварительно сбэкапив данные, ну и ессно это чревато переустановкой ОС.

Софтовый рейд актуален только если он сделан средствами ОС, но никак не биоса.

+4

4. Админы - за очередную победу над маркетологами :)

ещё комментарии
+2

Что за контроллер такой что сам выкидывает из рейда (это нормально) и сам возвращает(а это странно)? Обычно диск на котором возникла ошибка помечается сбойным и выводится из рейда и вернуть его можно только руками.

раскрыть ветку 2
0

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

0
Выкидывает как раз в случае отсутствия ответа в отведенное время. А если хард ответит о ошибке, то дальше уже отработка по логике контроллера с вариантами.
+1
Позволю немного поправить, к сожалению, не на всех SATA HDD управление SCT ERC таки возможно ;)
И написано красиво, на пальцах. В мемориз)
+1

Поправь название поста плиз

раскрыть ветку 1
0

Да я бы рад :( Нету у меня такой опции. Надо @moderator видимо просить, если не ошибаюсь

+1

Спасибо! Молодец что не бросил!  

+1

Странно, что поддержка ни бум-бум. Статьи по этому поводу читал лет 5 назад еще. Стоит всего лишь задуматься чем же отличаются RE диски и поинтересоваться.

0
А какая именно серия дисков - Deskstar или Ultrastar? Первая десктопная, дешевая херня. Со второй проблем вообще не было.
раскрыть ветку 5
0
Из HGST у нас две модельки HTS721010A9 и HTE721010A9
travelsar если не ошибаюсь.
раскрыть ветку 4
0
Понятно. Ширпотреб. Бери только с префиксом HU
раскрыть ветку 3
0

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

C HP та же самая ситуация, наивно думать что они диски сами производят. Емсишные схд в упор другие диски не хотят видеть, и шаманство не какое тут не поможет.

раскрыть ветку 1
+1

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

0
Чтобы посмотреть таймауты используем команду smartctl -l scterc /dev/sdX

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

https://geektimes.ru/post/92701/
раскрыть ветку 2
0

Рекомендуемое значение 7 сек - соответственно 70. В tler по-дефолту 8 сек (80). Больше скажу, некоторые диски умеют только 7 секунд. Даже smartctl если у него не получается установить, говорит ставь 70,70 или 0,0 и не выпендривайся.


Ну и как я писал - не все рейды поддерживают команду просмотра текущих значений, типа чукча не читатель - чукча писатель.

0
Путь для обращения к дискам - разный, в зависимости от вендора контроллера. Подробности - в man smartctl
0

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

раскрыть ветку 1
0

Как ни странно, первое вытекает из второго )

0

Про свечки за воротами вам все верно сказали.

Прибавте сюда:

1. кастомные прошивки брендованных винчестеров которые знают о существовании корзинок сервера и выводят индикацию ошибок на бэкплейн (что не получится с небрендованными дисками).

2. Контроллер которые не знает о прошивке диска ничего (нету прошивки в его базе) может работать с такими дисками "как нибудь не так". Например чрезвычайно медленно.


То что у вас получилось - это конечно хорошо, но риски от такого скрещивания полностью лежат на вас. Эти риски вам необходимо регулярно держать в голове и учитывать.

раскрыть ветку 4
+1
1.Индикацию на бэкплейн выводит контроллер. Активность определенных опций - в большинстве настраиваемы на HDD.
2. У контроллера нет в принципе базы с прошивками HDD. Vendor-lock реализуется чуть по другому. Режимы работы с HDD, тормоза - это отдельная тема.
раскрыть ветку 3
0
Адски плюсую своего спасителя. Пока изучал проблему наткнулся на довольно старую забавную статью про WD https://forums.freenas.org/index.php?threads/hacking-wd-gree... с которой, как говорит сегодня поросль - "поорал", особенно про скорость диска между 5400-7200.
раскрыть ветку 2
0

А ОС тоже православная (HP UX) стоит? Если да, то соболезную...

раскрыть ветку 1
0

Нет, конечно. Емнип, банальный Linux.

-1

TLER- называется фича в Western Digital

раскрыть ветку 1
0

Ну как бы HGST - это тоже WD с недавних пор, у них даже сапорт общий. А пока изучал проблему, посмотрел имеющиеся в хозяйстве WD - в свежих TLER уже нет, а вот SCT ERC есть.

-1
Ну едреныть. Если уж ставишь неродные диски в Хьюлетт - озаботься банально хотя бы тем чтобы диск был серверным. Из nl-sas/sata можно не парясь брать wd re серии. В segate не разбираюсь, извиняй.
раскрыть ветку 1
0

Закупался не я - но логика предшествеников мне понятна - цена и доступность на рынке. В месяц ставится по 1-2 полке где-то на 20-40 хардов. Даже в Москве столько у одного поставщика есть в наличии далеко не всегда. Хорошо хардами майнить еще не додумались - а то бы вообще была жопа.

-3

Из статьи понял только то, что ты прикрутил костыли к здоровому RAID контроллеру, который ведёт себя с жёсткими дисками именно так, как это задумывалось производителем и пытаешься узнать, есть ли RAID контроллеры, которые будут игнорировать ошибки HDD?

Никакой RAID контроллер не будет переназначать сектор на сбойном диске. Такой диск сразу помечается как сбойный, иногда как кандидат на замену и в случае повторения ошибки уже вышибает. В частности так себя ведёт DELL овский RAID.

раскрыть ветку 2
+2
Нет, к контроллеру не прикручивались костыли. Только активирована и настроена опция на используемых HDD.
раскрыть ветку 1
+1

Ну да, на серверных дисках эта опция включена по-умолчанию, на десктопных нет - собственно никаких костылей - только каблучки что бы быть повыше :)

-3
свечки-то купленные за воротами прихода и не должны работать

Очень понравилась фраза, и как ТС сказал


оказались частично правы

На что только не пойдёт человек, чтобы получить конфетку из говна, и плеватся будет, и говорить, что невкусно, но это же "конфетка".

раскрыть ветку 3
0
В том и дело, что говнетки-то по сути отличаются только цветом обертки (RED, BLUE, GREEN, BLACK :D), ну и разве что ЧСВ потребителя. Производителю экономически не выгодно делать 2 самостоятельных продукта. Это сборочные линии, материалы, обучение, даже прошивки нет смысле две поддерживать - проще менять дефолтные параметры.
-1
Иди уже айфон купи)
раскрыть ветку 1
-1

К чему эта фраза? у меня есть телефон, он для целей звонить у меня и вполне устраивает.

Похожие посты
Похожие посты не найдены. Возможно, вас заинтересуют другие посты по тегам: