пятница, 29 января 2010 г.

Xyratex – обновление прошивок

Я уже писал про выход новой прошивки для систем Xyratex 5412/6412 и уже несколько раз возникали вопросы, как же нужно прошивать. Так что сегодня огромный пост будет про, на мой взгляд, самый большой недостаток этих дисковых систем – а именно про процедуру обновления firmware. Почему недостаток? А потому как процедура эта многоступенчатая, требует внимательности и осторожности. А, помимо прочего, требует еще и остановки системы (а, как следствие и всех приложений, которые с ней работают). Конечно, обновление прошивок дисков и в других системах потребует прервать ввод-вывод, но обычно все-таки действий нужно делать меньше. Итак, если Вам нужно обновить прошивку, то запланируйте downtime заранее. Если обновлять будете еще и прошивки на дисках, то учтите, что время простоя заметно возрастет – диски обновляются по-одному и если их 60 штук, то времени уйдет порядком. Что нам потребуется?

  1. Ноутбук или ПК, с которого и будем все обновлять. Обязательное условие – наличие последовательного порта! Стандартный кабель подключается к 9-пиновому разъему, возможно потребуется переходник.
  2. Кабель для последовательного порта, который скорее всего был в комплекте поставки (хотя это зависит от того, как была куплена система). Номер для заказа: RS-CAB-2M-RS232-USB.
  3. Программа для работы в терминале (либо стандартный HyperTerminal, либо что-то еще с поддержкой протокола 1K X-Modem для передачи файлов).
  4. Ну и конечно, необходимо иметь возможность подключиться к системе также и через локальную сеть.

Всего существует 5(!) различных прошивок (указаны в том порядке, в котором нужно обновлять):

  • прошивка модуля Disk I/O (это тот, который установлен в полках расширения)
  • boot PROM контроллера
  • прошивка самого контроллера RAID
  • прошивка StorView (система управления)
  • прошивка жестких дисков

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

Подготовили все необходимое. Сделали очередную резервную копию. Выключили серверы (или отмонтировали на серверах тома, находящиеся на дисковой системе).  И только после этого начинаем. Первым делом убеждаемся, что система работает нормально, нет ни “вылетевших” дисков, массивы не находятся в состоянии перестроения и не происходят никакие другие чудеса. Затем следует определиться с тем, что нужно обновлять, а что – нет. Если кроме контроллерного модуля ничего нет, то прошивку Disk I/O пропускаем так как их физически нет. Текущую версию boot PROM можно увидеть в StorView, нажав мышкой на любой из контролеров:

imageНажав в этом же окне на кнопку DIAGNOSTICS DUMP (откроется текстовый файл), можно узнать версии Disk I/O модуля (если он все-таки есть) и прошивок дисков:image

Версию StorView можно узнать, нажав на кнопку ABOUT в правой верхней части основного окна (впрочем, версию StorView все равно обновлять придется практически наверняка):

imageВсе полученные данные о версиях нужно сравнить с тем, что указано в сопроводительном файле к новому релизу прошивки. И вот уже после этого можно приступать к самому обновлению:

1. Прошивка модуля Disk I/O.

Если система не имеет модулей расширения (или их прошивки обновлять не требуется), то переходим к следующему пункту. Если система одноконтроллерная, то задача упрощается и мы сразу приступаем к прошивке: заходим в утилиту управления (StorView) через любой браузер (с отключенной блокировкой всплывающих окон) на адрес http://ip-address:9292/ (ip-address это очевидно адрес нашего единственного контроллера). Нажимаем на иконку Controller 0&1:

image

В открывшемся окне нажимаем кнопку UPDATE EXPANSION F/W.

image

Загружаем файл, ждем завершения. Первый этап закончен.

Если же система двухконтроллерная, то действий потребуется больше: необходимо сначала физически извлечь из системы один из RAID-контроллеров (из “головной” полки) – действуем, как было описано выше, но вместо UPDATE EXPANSION, делаем SHUTDOWN одному из контроллеров, а затем физически его извлекаем. После этого выполнить процедуру прошивки (как описано выше). Выключаем “головной” модуль, устанавливаем обратно вытащенный контроллер, а второй извлекаем. Включаем систему и повторяем процедуру обновления. Обратите внимание, что не нужно ничего вытаскивать из модулей расширения и выключать их также не нужно! Важно: прошивка занимает время, но статус ее через web-интерфейс отследить нельзя – только по индикаторам на системе. Так что лучше подождать и никуда не торопиться.

2. Прошивка boot PROM контроллера.

Вот здесь нам понадобится подключение к последовательному порту. На счастье boot PROM обновляется не так часто. Для двухконтроллерных систем, как и прежде, потребуется извлечь один из контроллеров, так что этот этап можно совместить с первым (чтобы два раза не дергать контроллеры). Оставив один контроллер, подключаемся к нему через терминальную программу. Стандартные установки порта 115200-8N1. Включаем систему, и несколько раз нажимаем на Enter (до того, как что-то появится на экране), чтобы попасть в “Monitor” (специальная утилита, которая загружается еще до Firmware контроллера). Еще раз проверить версию boot PROM можно, набрав команду ver (ниже, кстати, будет указана и модель контроллера чтобы не ошибиться):

image Убедившись, что версию надо обновить, набираем команду dp и отправляем файл с прошивкой по протоколу 1K X-Modem. Подтверждаем свое желание обновить прошивку и ждем завершения. Контроллер автоматически перезагрузится. Можно снова зайти в Monitor и проверить, что прошивка обновилась:

imageКак видим все получилось, поэтому выключаем систему, вытаскиваем “прошитый” контроллер и устанавливаем второй. Повторяем уже проделанную процедуру.

3. Прошивка контроллера RAID.

Неприятные процедуры практически закончились. Теперь проверяем, что оба контроллера установлены и все кабели (к дисковым полкам) подключены – их отключать и не нужно было, но лучше бы проверить. Включаем систему и после этого заходим в StorView (через барузер). Проверяем, что все компоненты определились и ошибок нет. Нажимаем на иконку Controller 0&1, а там на кнопку UPDATE CONTROLLER F/W, отправляем файл с прошивкой и ждем около трех минут. За это время оба контроллера будут прошиты. Проверить успешность процедуры можно еще раз нажав на Controller 0&1 и посмотрев версию.

4. Прошивка StorView

Находясь в StorView, нажимаем на кнопку About (вверху справа):

imageВ открывшемся окне нажимаем кнопку UPDATE, указываем файл прошивки и пароль для входа в StorView. Процедура длится примерно минуту. В некоторых обновлениях может присутствовать и новый “boot code” для StorView – его также нужно обновить. Для этого используется специальная утилита (идет вместе с прошивкой) - eSV_AutoUpdate_xxx.exe Запустив ее, указываем IP-адрес контроллера и прошивку, также ставим галочку “reboot when completed”:

image

После сообщения об успешной прошивке можно переходить к прошивке StorView на втором контроллере – вновь подключаемся по IP (уже к другому контроллеру) и повторяем все действия.

5. Прошивка жестких дисков.

И на сладкое осталась не самое приятное и, пожалуй, самое опасное – прошивка жестких дисков. Для этого нам опять потребуется доступ через последовательный порт. Для двухконтроллерной системы второй контроллер необходимо отключить (можно не вытаскивать, а просто сказать ему SHUTDOWN в окне Controller 0&1). После этого, привычным жестом подключаемся через терминал. Нажимаем Ctrl-E, чтобы вызвать меню:

image Далее двигаемся по меню: “2” - Diagnostics, “2” - Online Diagnostics, “2” - Drive Maintenance, “1” - Download Drive Firmware to Buffer. Через 1K X-Modem отправляем прошивку и затем нажимаем “3” - Program and Save Drive Firmware. После этого можно выбрать, какие именно диски надо обновить (все поддерживаемые, все поддерживаемые из незадействованных и hot-spare, все поддерживаемые с отличной от загруженной прошивкой). После этого потребуется нажать “Y” чтобы подтвердить свою уверенность. Остается ждать успешного завершения. Процедура не слишком быстрая, поэтому терпение потребуется. Выключаем “головную” полку и включаем ее снова - чтобы ожил отключенный на начальном этапе контроллер.

Все! После этого остается зайти в StorView по IP и проверить что все запустилось. Если все удалось, то нажимаем Controller 0&1 и там нажимаем на кнопки CLEAR LOGS и SYNCHRONIZE TIME. Затем на основном окне нажимаем Logical Drive Statistics:

image

И там нажимаем кнопку CLEAR.

Вот теперь действительно все обновили! Можно подключать серверы обратно и работать.

Процедура, как я и обещал, длинная и непростая. Но если варианта “свалить” работу на кого-то еще нет, то придется делать, а я постарался все описать максимально подробно.

18 комментариев:

  1. Андрей, огромное спасибо за статью!

    1. Подскажите, а в каком порядке необходимо (и нужно ли) вместе с прошивкой обновлять на серверах StorView Path Manager? Имеется ли у этого компонента обратная совместимость?

    2. Какой вид имеет прошивка для boot PROM?

    Еще раз спасибо!

    ОтветитьУдалить
  2. Пожалуйста! :)
    1. SVPM обновлять нужно (даже если не обновляете прошивку системы). Работать будет и старая версия на новой прошивке, и новая на старой. Но, повторюсь, обновлять нужно.
    2. Вопрос не понял - прошивка имеет вид файла с именем типа fw_00xx.bin

    ОтветитьУдалить
  3. Планирую обновить прошивки на F5402E
    У нас стоят старые прошивки.
    На сайте ftp://ftp.xyratex.com/pub/_Current_Products/F5402E_(RS-1220-F4-5402E)/ есть много новых версий.
    Я могу становить самую последнюю, либо мне надо обновлять все версии по порядку?

    ОтветитьУдалить
  4. Я не сталкивался с ситуацией, когда нужно было бы обновляться в несколько этапов, правда больше чем через пару версий не прыгал никогда.

    ОтветитьУдалить
  5. У нас стоит версия 3.2 Build 0152 надо обновиться до 3.07.0036

    ОтветитьУдалить
  6. Думаю, что проблем у Вас не возникнет.
    Можно конечно обновиться сначала до релиза 2.2 и уже потом на 2.4.2 переходить, но не думаю что это так уж необходимо.

    ОтветитьУдалить
  7. Андрей, не подскажете где в диагностик дампе можно увидеть версию extension fw? Я просмотрел весь файл, но нигде не увидел. спасибо

    ОтветитьУдалить
  8. В дампе версия прошивки I/O модуля расширения видна, увы, не всегда (или не с каждого контроллера - не помню, если честно). Искать нужно вот такого вида строки (например):
    List of Enclosures and Firmware Version
    00 Vendor ID: XYRATEX , Product ID: F5402E
    01 Vendor ID: XYRATEX , Product ID: 3GSAS1.0-SATAEXP, Firmware Version: 1.07

    Можно посмотреть через serial порт, подключившись поочередно к обеим контроллерам.

    ОтветитьУдалить
  9. В файле дампа по поиску sataexp ничего не нашлось по firmware только рассуждения про сами контроллеры. А не подскажете через серийный порт как это посмотреть?

    ОтветитьУдалить
  10. Ctrl-E
    2 - Diagnostics
    1 - Offline Diagnostics
    4 - Disk IO Module Maintenance
    2 - View Firmware on Disk IO Module

    ОтветитьУдалить
  11. Андрей, подскажите как прошить диски, если версии прошивок разные(всего 24 sata диска: ST3500641NS 3.AEK(15 шт), ST3500630NS 3.AEG(7 шт), ST3500630NS 3.AEL(1 шт), ST31000340NS SN04(1 шт))
    модель F5402E?
    Стоит ли обращать внимание на 3 символ в маркировке обновления?

    ОтветитьУдалить
  12. Диски прошивать, как и обычно. Можно выбрать - либо прошивать все диски, для которых подходит загруженная прошивка, либо прошивать подходящие диски с отличающейся прошивкой (чтобы не прошивать диски по два раза).
    Все символы имеют значение и на них нужно обращать внимание.

    ОтветитьУдалить
  13. Анонимный18 мая 2011 г., 16:21

    Андрей, спасибо за статью. Без Ваших советов было бы трудно. Все заработало с прошивкой 2.5.6 Подскажите пожалуйста, как использовать прошивки, где файлы не все. Например в прошивке 2.5.10 есть только прошивка на сами контролеры и сторвью. ПРичем для стровью ест два бин файла и один s19. Что с ними делать, каким прошивать? СТоит ли накатывать "неполную" прошивку или довольствоваться 2.5.6, в которой файлы все. Для 2.5.10 есть файлы storview-3.26-003-xyr-2mb-nb-en.bin, ...s19 и stroview-3.26.0003-xyr-2mb-v0.07f-image.bin

    ОтветитьУдалить
  14. Если в более новой прошивке "не все" файлы, значит все остальные соответсвуют прошлой версии. В 2.5.10 для StorView нужно использовать storview-3.26.0003-xyr-2MB-nb-en.bin

    ОтветитьУдалить
  15. В StorView, если подключаться через сеть к любому контроллеру - не отображает информацию о "корпусе" - состояние дисков, вентиляторов, питания, контроллеров.
    А если открыть StorView на хосте через FC - показывает нормально. Но только там версии StorView разные. Не показывает версия 3.26.0003, а нормально показывает 3.22.0018
    Что я не так сделал? Или что-то еще недообновил?
    Из-за чего может не отображать данные о корпусе?

    Controller 0 Information:
    Controller Type: FC-SAS
    Processor Rev : D-0 / D-1
    Firmware Rev. : 03.09 Build 0021 (G) Xyratex
    Firmware Date : Dec 14 2010
    Firmware Time : 12:02:37
    SAS F/W Rev. : 01.12.88.00
    FC F/W Rev. : 04.00.26
    Boot PROM Rev. : 0023

    Controller 1 Information:
    Controller Type: FC-SAS
    Firmware Rev. : 03.09 Build 0021 Xyratex
    Firmware Date : Dec 14 2010
    Firmware Time : 12:02:37
    Boot PROM Rev. : 0023

    ОтветитьУдалить
  16. 2IT_Prof:
    Сложно однозначно сказать - я такого не видел.
    Набор советов стандартный - попробуйте подключиться с другого ПК (почистить кэш браузера), перегрузить массив (или просто управляющие модули через консоль).

    ОтветитьУдалить
  17. Андрей подскажите, есть ли сейчас обновления прошивки и где их брать?

    ОтветитьУдалить