“Как я с постоянными ребилдами 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. Маркетологи - за очередную победу бабла над разумом.

Лига Сисадминов

1.5K постов17.6K подписчик

Добавить пост

Правила сообщества

Мы здесь рады любым постам связанным с рабочими буднями специалистов нашей сферы деятельности.

Вы смотрите срез комментариев. Показать все
Автор поста оценил этот комментарий
А какая именно серия дисков - Deskstar или Ultrastar? Первая десктопная, дешевая херня. Со второй проблем вообще не было.
раскрыть ветку (5)
Автор поста оценил этот комментарий
Из HGST у нас две модельки HTS721010A9 и HTE721010A9
travelsar если не ошибаюсь.
раскрыть ветку (4)
Автор поста оценил этот комментарий
Понятно. Ширпотреб. Бери только с префиксом HU
раскрыть ветку (3)
1
Автор поста оценил этот комментарий
Расскажете в подробностях об отличиях? =)
раскрыть ветку (2)
Автор поста оценил этот комментарий
С префиксом HU идет серия ultrastar. Это enterprise-сектор. Гарантия 5 лет, вместе с этим существенно больший срок службы, наработка на отказ и качество в целом. Для меня как конечного потребителя на первом месте - гарантия. Сбойнувший диск меняется и работа продолжается без танцев с бубном.
раскрыть ветку (1)
1
Автор поста оценил этот комментарий
С гарантией соглашусь, именно она и вложена в ценник.
И даже в них SCT ERC может быть "в нулях", увы.
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку