Комментарии 36
Счётчик, который переполнится через 3 года. Ошибка, которую легко допустить, и сложно найти. Скорее всего, это что-то историческое, пришедшее из 20 века; вряд ли в том контроллере имеет смысл использовать 16-битные переменные. Тестирование ее не выявит, анализатор кода тоже.
Но проблема в неумении писать прошивку для этого умного контроллера, которая надёжно разделяет разные блоки кода. И когда второстепенная печенька ломает логику всей системы это беда. А когда выход из строя печеньки ещё и портит данные, то есть не реализованы простейшие функции реакций на исключительные ситуации — это катастрофа.
Существуют FS, разработанные для использования на flash памяти.
Умные контроллеры со своими кривыми прошивками, собственным CPU и остальной периферией — костыль для того, чтобы не пользоваться такими FS.
Существуют FS, разработанные для использования на flash памяти.
Угу.
Умные контроллеры со своими кривыми прошивками, собственным CPU и остальной периферией — костыль для того, чтобы не пользоваться такими FS.
Хм… то есть количество отработанных часов обрабатывается как переменная со знаком… хм…И что такого? Unixtime вон тоже знаковое, хотя казалось бы, зачем. Я довольно часто в сишных исходниках и в схемах БД SQL встречаю такие ситуации, что кажется само существование unsigned типов для программистов является тайной за семью печатями.
Имхо в знаковости этой переменной проблемы как раз нет, проблема в том, что она 16-битная.
Была бы она беззнаковая — ну окей, 65536 часов не сильно лучше.
Если не поставили проверку на переполнение, то ещё столько же времени пройдет и счётчик обнулится.
Классический пример того, как cluster превращается в cluster fuck. Причина очевидна — если в кластере все узлы работают на одном и том же ПО одной и той же версии, то и баги в них одни и те же. Поделили на ноль на 32768 час работы, обнаружили високосную секунду, досчитали до 42, обнаружили, что год, месяц и день — простые числа. Не важно что, важно, что одновременно.
Единственным решением в такой ситуации может быть использование двух разных реализаций. И я говорю не про фирмварю конкретного диска, а про ПО на серверах. СХД неуязвимая и супернадёжная? С одной и той же версией ПО на каждом узле, ПО, в котором, в этот раз, наконец-то, не будет багов. Почему? Потому что верьте нам.
Пойду, пожалуй, бекапы сделаю
Если SSD подключены к контроллеру Smart Array, то остановка сервера во время обновления не потребуется: его можно будет провести «на горячую».
— Неправда!
HP Prolinat BL 460c G9 с блэйдовой дисковой полкой HP D2220sb потребовал ребутнуть систему (Win12) и только во время ребута контроллер перепрошил диски. Внутри дисковой полки стоит Smart Array P420i.
HP опубликовала патч для своих SSD, который исправляет проблему с полной потерей данных после 32768 часов работы