В конце прошлой недели HP опубликовала патч прошивки своих твердотельных накопителей HPE, который решает критическую проблему потери данных и отказа диска после 32768 часов (~3 года и 9 месяцев) работы.
Речь идет о накопителях HPE SAS SSD с прошивками вплоть до версии HPD8. Проблема касается 20 моделей SSD, которые, например, поставляются вместе с серверами и хранилищами HPE ProLiant, Synergy, Apollo, JBOD D3xxx, D6xxx, D8xxx, MSA, StoreVirtual 4335 и StoreVirtual 3200.
Пока патч был опубликован только для части проблемных устройств. Остальные прошивки ожидаются 9 декабря.
HPE Synergy 480 Gen9 Compute Module, HPE Synergy 660 Gen9 Compute Module, HPE 400GB 12G SAS Mixed Use-3 SFF 2.5-in SC 3yr Wty MO0400JFFCF Solid State Drive, HPE 800GB 12G SAS Mixed Use-3 SFF 2.5-in SC 3yr Wty MO0800JFFCH Solid State Drive, HPE 1.6TB 12G SAS Mixed Use-3 SFF 2.5-in SC 3yr Wty MO1600JFFCK Solid State Drive, HPE 3.2TB 12G SAS Mixed Use-3 SFF 2.5-in SC 3yr Wty MO3200JFFCL Solid State Drive, HPE 480GB 12G SAS Read Intensive-3 SFF 2.5-in SC 3yr Wty VO0480JFDGT Solid State Drive, HPE 960GB 12G SAS Read Intensive-3 SFF 2.5-in SC 3yr Wty VO0960JFDGU Solid State Drive, HPE 3.84TB 12G SAS Read Intensive-3 SFF 2.5-in SC 3yr Wty VO3840JFDHA Solid State Drive, HPE Synergy 620 Gen9 Compute Module, HPE Synergy 680 Gen9 Compute Module, HPE ProLiant XL270d Gen9 Server, HPE D6020 Disk Enclosure, HPE StoreVirtual 3000 Storage, HPE D8000 Disk Enclosures, HPE ProLiant SL230s Gen8 Server, HPE ProLiant BL460c Gen8 Server Blade, HPE ProLiant BL465c Gen8 Server Blade, HPE ProLiant DL160 Gen8 Server, HPE ProLiant BL420c Gen8 Server Blade, HPE ProLiant DL320e Gen8 Server, HPE ProLiant WS460c Gen8 Graphics Server Blade, HPE ProLiant BL660c Gen8 Server Blade, HPE ProLiant DL560 Gen8 Server, HPE D6000 Disk Enclosure, HPE StoreEasy 1000 Storage, HPE D2220sb Storage Blade, HPE ProLiant SL210t Gen8 Server, HPE StoreVirtual 4335 Hybrid Storage, HPE ProLiant DL580 Gen8 Server, HPE D3000 Disk Enclosures, HPE ProLiant DL160 Gen9 Server, HPE ProLiant DL180 Gen9 Server, HPE ProLiant DL360 Gen9 Server, HPE ProLiant BL460c Gen9 Server Blade, HPE ProLiant DL380 Gen9 Server, HPE ProLiant ML350 Gen9 Server, HPE ProLiant XL230a Gen9 Server, HPE ProLiant DL388 Gen9 Server, HPE ProLiant DL120 Gen9 Server, HPE ProLiant WS460c Gen9 Graphics Server Blade, HPE ProLiant DL580 Gen9 Server, HPE ProLiant BL660c Gen9 Server Blade, HPE ProLiant DL560 Gen9 Server, HPE Apollo 4200 Gen9 Server, HPE Apollo 4500 System, HPE ProLiant XL450 Gen9 Server
Обновление является критическим и обязательно для раскатки, если вы хотите сохранить свои данные. От потери не спасет даже RAID-массив, если оба SSD в нем были введены в эксплуатацию одновременно и имеют одно и то же время работы.
Определить время работы SSD и оценить, сколько у вас осталось времени на апдейт, можно с помощью этого официального руководства HP (суть в проверке параметра Power-on Hours через Smart Storage Administrator). Если SSD подключены к контроллеру Smart Array, то остановка сервера во время обновления не потребуется: его можно будет провести «на горячую».
Основным виновником сбоя HP называет некоего стороннего подрядчика, который занимался разработкой и производством SSD для компании. Конкретную организацию, виновную в проблемах, HP не уточняет, что наводит на мысли о том, что подобная ошибка может «всплыть» где-нибудь еще.
Комментарии (35)
antiBILLotic
27.11.2019 10:57Я вообще не представляю, как можно криво реализовать не просто SMART, а один из его стандартных (не vendor-specific) атрибутов?! Тут же не только «всё уже написано до нас», но и ещё оттестировано десятилетиями на миллионах устройств хранения.
amarao
27.11.2019 11:16Классический пример того, как cluster превращается в cluster fuck. Причина очевидна — если в кластере все узлы работают на одном и том же ПО одной и той же версии, то и баги в них одни и те же. Поделили на ноль на 32768 час работы, обнаружили високосную секунду, досчитали до 42, обнаружили, что год, месяц и день — простые числа. Не важно что, важно, что одновременно.
Единственным решением в такой ситуации может быть использование двух разных реализаций. И я говорю не про фирмварю конкретного диска, а про ПО на серверах. СХД неуязвимая и супернадёжная? С одной и той же версией ПО на каждом узле, ПО, в котором, в этот раз, наконец-то, не будет багов. Почему? Потому что верьте нам.
Andrey_Rogovsky
27.11.2019 11:26+1Никогда не имейте дел с HP.
DMGarikk
27.11.2019 12:14не всегда можно выбирать, иметь с ними дела или нет, к сожалению
p.s. хотя лично я довольно хорошо к их серверной продукции относился, правда давно это было
diogen4212
27.11.2019 11:45у меня недавно SSD от OCZ сдох, может, тоже по этой причине? 80% оставшегося ресурса, ничто не предвещало беды, а потом раз… и ничего, либо вообще Винда не видит, либо долго загружается и отображает его том в файловой системе RAW с нулевыми секторами. Чистое время работы возможно примерно такое же было
genuimous
27.11.2019 12:13+3Ну так гарантийный срок отработало, какие претензии? Имеет право рассыпаться на атомы и улететь в атмосферу: )
DMGarikk
27.11.2019 12:13+1Вот подгорит у адептов 'никогда не ставлю апдейты, работает — не трогай', когда начнёт всё разваливаться на глазах из-за этого бага
akuzmin
27.11.2019 13:29+1А гарантия на эти SSD небось 3 года и 6 месяцев. При производстве просто немного перестарались с «искусственным устареванием» устройства.
navion
28.11.2019 16:59Это PM1633, PM1633a, PM1635 and PM1643, но пока не ясно проблема в кривой брендированной прошивке от HPE или оригинальной от Samsung.
JerzyEx
Хм… то есть количество отработанных часов обрабатывается как переменная со знаком… хм… Зато быстро и дёшево разработали, быстро выкатили патч. Интересно, через ~3 года и 9 месяцев не придётся ли снова патчить?
iig
Счётчик, который переполнится через 3 года. Ошибка, которую легко допустить, и сложно найти. Скорее всего, это что-то историческое, пришедшее из 20 века; вряд ли в том контроллере имеет смысл использовать 16-битные переменные. Тестирование ее не выявит, анализатор кода тоже.
Goron_Dekar
Статический анализатор может найти. А вообще вот зачем код счётчика часов работы настолько тесно связан с остальным кодом, что сбой в этом счётчике влияет на данные. И как можно написать прошивку, что фикс такой ошибки не позволяет получить данные на жестком диске.
DaemonGloom
Проблема современных ssd — умный контроллер, который держит полную карту блоков, с указанием где какие данные лежат. Если сломалась запись этой карты — мы получаем вместо наших данных просто мешанину секторов в случайном порядке.
Goron_Dekar
Умный контроллер — это не проблема, это просто отлично. Он позволяет равномерный износ, быструю работу, прозрачность для остального железа и уйму всяких печенек в дополнение.
Но проблема в неумении писать прошивку для этого умного контроллера, которая надёжно разделяет разные блоки кода. И когда второстепенная печенька ломает логику всей системы это беда. А когда выход из строя печеньки ещё и портит данные, то есть не реализованы простейшие функции реакций на исключительные ситуации — это катастрофа.
Temtaime
Существуют FS, разработанные для использования на flash памяти.
Умные контроллеры со своими кривыми прошивками, собственным CPU и остальной периферией — костыль для того, чтобы не пользоваться такими FS.
iig
Угу.
Иногдапочти всегда вместе с SSD нужна файловая система, которая умеет разные плюшки типа журналирования, квот, снапшотов… У jffs2 (например) с этим никак.JerleShannara
А не подскажите такую ФС для MS Windows 2012?
Temtaime
Это вопрос к MS :)
Умные контроллеры и появились как раз из-за их нежелания что-либо делать. По этой же причине специализированные FS в обычном ПК и не разрабатываются. Слишком много софта и желания сохранения обратной совместимости.
navion
Мучаться осталось недолго — новый тренд в лишении SSD мозгов и передаче управления ОС.
Mur81
Так давно уже. Например контроллер SM2263XT где часть функций переложена на ОС — технология Host Memory Buffer. Такая SSD работает только в Windows 10 (но это не точно).
Чем-то напоминает dial-up модемы, где перед вымиранием оных все функции переложили на драйверы, оставив в железе только ЦАП-АЦП.
DreamingKitten
tmin10
Если минус, то можно дату до 1970 года использовать, наверное.
Amomum
Имхо в знаковости этой переменной проблемы как раз нет, проблема в том, что она 16-битная.
Была бы она беззнаковая — ну окей, 65536 часов не сильно лучше.