СТОЙКА С МНОЖЕСТВОМ МОДУЛЕЙ УПРАВЛЕНИЯ СТОЙКОЙ И СПОСОБ ОБНОВЛЕНИЯ ВСТРОЕННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, ИСПОЛЬЗУЕМОГО ДЛЯ СТОЙКИ
RACK WITH PLURALITY OF RACK CONTROL MODULES AND METHOD OF UPDATING FIRMWARE USED FOR RACK

ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ
1. Область техники, к которой относится изобретение
Настоящее изобретение относится к стойке, в частности относится к стойке с множеством модулей управления стойкой, и к способу обновления встроенного программного обеспечения, используемого для стойки.
2. Описание предшествующего уровня техники
Обычно серверная стойка содержит множество серверов и контроллер управления стойкой (RMC). Администраторы стойки собирают информацию о сервере и осуществляют управление серверами посредством подключения RMC к серверам.
RMC является чем-то наподобие однокристальной системы (SoC) с памятью и его начальная загрузка осуществляется посредством встроенного программного обеспечения. Как следствие, аналогично центральным процессорам (ЦП) серверов администраторы стойки вынуждены время от времени выполнять обновления встроенного программного обеспечения RMC.
В целом RMC получает образы обновления встроенного программного обеспечения и автоматически выполняет обновление встроенного программного обеспечения. При этом если выполнение процедуры обновления случайно прерывается (например, серверы ломаются или происходит отключение питания стойки), или если в процедуре обновления используется неправильное встроенное программное обеспечение, после повторного запуска RMC этот RMC не может быть нормально загружен. Согласно предшествующему уровню техники каждая стойка оснащена одним RMC, соответственно, если нормально загрузить RMC не удается, нормальное функционирование всех серверов в стойке невозможно, что нежелательно для пользователей серверов.
Более того, поскольку после неудачного обновления встроенного программного обеспечения нормальная загрузка RMC невозможна, стойка не может повторно обновить встроенное программное обеспечение без посторонней помощи (например, обновление вручную администраторами стойки) для разрешения проблемы.
Из документа TW200821812 (A), озаглавленного «Method of updating an image file», также опубл.под номером TWI326408 (B) известен способ обновления файл образа, и этот способ осуществляется в сервере. Если для запоминающего блока сервера необходимо обновление рабочего файла образа, рабочий файл образа в первой области образа запоминающего блока сохраняется во второй области образа запоминающего блока в виде файла образа резервной копии, так что сервер может использовать обновленный рабочий файл образа в первой области файла образа для запуска операционной системы. Если сервер не может использовать рабочий файл образа обновления для запуска операционной системы, сервер сможет автоматически выбирать файл образа резервной копии для запуска операционной системы и восстановления состояния перед обновлением запоминающего блока.
Ввиду этого задачей специалистов в данной области техники является предоставление решений, согласно которым RMC может выполнять повторное обновление встроенного программного обеспечения после неудачного обновления встроенного программного обеспечения без посторонней помощи и будет гарантировать нормальную загрузку RMC.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Основной целью настоящего изобретения является предоставление стойки с множеством модулей управления стойкой и способа обновления встроенного программного обеспечения для стойки. Стойка позволяет модулю управления стойкой выполнять обновление встроенного программного обеспечения других модулей управления стойкой во избежание случаев, когда модуль управления стойкой не может загружаться нормально после неудачного обновления встроенного программного обеспечения, и дополнительно стойка не может выполнять повторное обновление встроенного программного обеспечения.
Другой целью настоящего изобретения является предоставление стойки с множеством модулей управления стойкой и способа обновления встроенного программного обеспечения для стойки, где множество модулей стойки выполняют обнаружение тактовых импульсов относительно друг друга и обеспечивают решения для резервного копирования в случае ненормальной работы остальных модулей управления стойкой.
Для достижения указанных выше целей стойка, раскрытая в настоящем изобретении, содержит множество модулей управления стойкой, причем каждый модуль управления стойкой соответственно содержит контроллер управления стойкой (RMC), переключатель и запоминающее устройство, причем переключатель каждого модуля управления стойкой соединен с запоминающим устройством и соответственно встроенное программное обеспечение сохраняется в каждом запоминающем устройстве. Когда RMC получает внешние скачанные образы обновления встроенного программного обеспечения, RMC отправляет на переключатель команду на переключение для обеспечения переключения и соединения выключателя с запоминающим устройством другого модуля управления стойкой. Когда RMC выполняет процедуру обновления встроенного программного обеспечения, RMC осуществляет обновление встроенного программного обеспечения в запоминающем устройстве другого модуля управления стойкой через соединение переключателя.
По сравнению с родственным уровнем техники RMC согласно настоящему изобретению не осуществляет обновление встроенного программного обеспечения того же модуля управления стойкой. Соответственно, даже в случае случайного прерывания процедуры обновления встроенного программного обеспечения, в результате которого возникает ошибка обновления, после перезагрузки RMC будет нормально загружаться, несмотря на ошибку обновления встроенного программного обеспечения. Соответственно, даже если процедура обновления встроенного программного обеспечения была неудачной, RMC все равно может осуществлять обновление встроенного программного обеспечения до тех пор, пока обновление не произойдет. Таким образом, вероятность того, что администраторам придется вручную ремонтировать RMC, неспособный нормально загрузиться вследствие неудачного обновления встроенного программного обеспечения, снижена.
Более того, в соответствии с настоящим изобретением в одной стойке предоставлено множество модулей управления, и все модули управления стойкой соединены друг с другом и осуществляют обнаружение тактовых импульсов относительно друг друга. Таким образом, при обнаружении ненормальной работы одного из модулей управления стойкой остальные модули управления стойкой могут обеспечивать решения для резервного копирования. Соответственно исключается вероятность проблем с нормальным функционированием стойки после возникновения ошибок с модулями управления стойкой.
КРАТКОЕ ОПИСАНИЕ ГРАФИЧЕСКИХ МАТЕРИАЛОВ
На фиг. 1 показан схематический вид стойки в соответствии с первым вариантом осуществления настоящего изобретения;
на фиг. 2 показана схема подключения стойки в соответствии с первым вариантом осуществления настоящего изобретения;
на фиг. 3 схематически показана операция обновления встроенного программного обеспечения стойки в соответствии с первым вариантом осуществления настоящего изобретения;
на фиг. 4 схематически показана операция обновления встроенного программного обеспечения стойки в соответствии со вторым вариантом осуществления настоящего изобретения;
на фиг. 5 показана блок-схема получения образа обновления в соответствии с первым вариантом осуществления настоящего изобретения;
на фиг. 6 показана блок-схема обновления встроенного программного обеспечения в соответствии с первым вариантом осуществления настоящего изобретения; и
на фиг. 7 показана блок-схема резервного копирования в соответствии с первым вариантом осуществления настоящего изобретения.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Совместно с прилагаемыми графическими материалами техническое содержание и подробное описание настоящего изобретения описаны далее только в соответствии с предпочтительным вариантом осуществления, который не используется для ограничения его осуществляемого объема. Любая эквивалентная вариация или модификация в соответствии с прилагаемой формулой изобретения является полностью охваченной формулой изобретения, заявленной в настоящем изобретении.
На фиг. 1 показан схематический вид стойки в соответствии с первым вариантом осуществления настоящего изобретения. На фиг. 1 стойка 1 содержит множество установочных разъемов для установки множества узлов 4. Стойка 1 также содержит множество модулей управления стойкой соответственно и электрически соединенных с узлами 4, предназначенных для сбора информации от узлов 4 и управления узлами 4. Согласно варианту осуществления первый модуль 2 управления стойкой и второй модуль 3 управления стойкой показывают множество модулей управления стойкой, и их количество не ограничено.
В настоящем изобретении каждый модуль управления стойкой содержит контроллер управления стойкой (RMC), переключатель, запоминающее устройство. RMC соединяется с запоминающим устройством посредством переключателя, а встроенное программное обеспечение сохраняется в запоминающем устройстве и используется RMC для загрузки.
На фиг. 2 показана схема подключения стойки в соответствии с первым вариантом осуществления настоящего изобретения. Как показано на фиг. 2, указанный выше первый модуль 2 управления стойкой содержит первый RMC 21, первый переключатель 22 и первое запоминающее устройство 23. Первый RMC21 соединяется с первым переключателем 22 и соединяется с первым запоминающим устройством 23 посредством первого переключателя 22. Первое встроенное программное обеспечение 231 сохраняется в первом запоминающем устройстве 23 и используется первым RMC 21. Более того, второй модуль 3 управления стойкой содержит второй RMC 31, второй переключатель 32 и второе запоминающее устройство 33. Второй RMC 31 соединяется со вторым переключателем 32 и соединяется со вторым запоминающим устройством 33 посредством второго переключателя 32. Второе встроенное программное обеспечение 331 сохраняется во втором запоминающем устройстве 33 и используется вторым RMC 31. Согласно варианту осуществления первое запоминающее устройство 23 и второе запоминающее устройство 33 реализованы как постоянное запоминающее устройство (ROM), но не ограничено им.
Как показано на фиг. 2, первый переключатель 22 соединяется с первым запоминающим устройством 23 по первому каналу L1 доступа, второй переключатель 32 соединяется со вторым запоминающим устройством 33 по второму каналу L2 доступа. Когда первый RMC 21 осуществляет загрузку, первый RMC 21 извлекает первое запоминающее устройство 23 по первому каналу L1 доступа посредством соединения с первым переключателем 22 и выполняет первое встроенное программное обеспечение 231 для завершения процедуры загрузки. Аналогично, когда второй RMC 31 осуществляет загрузку, второй RMC 31 извлекает второе запоминающее устройство 33 по второму каналу L2 доступа посредством соединения со вторым переключателем 32 и выполняет второе встроенное программное обеспечение 331 для завершения процедуры загрузки.
В настоящем изобретении переключатели множества модулей управления стойкой соединены друг с другом. Согласно варианту осуществления, показанному на фиг. 2, первый переключатель 22 и второй переключатель 32 соединены друг с другом. Более подробно, согласно варианту осуществления, первый переключатель 22 и второй переключатель 32 соединены по третьему каналу L3 доступа.
Основной электрической характеристикой настоящего изобретения является то, что когда первый RMC 21 выполняет процедуру обновления встроенного программного обеспечения, первый RMC 21 выполняет обновление второго встроенного программного обеспечения 331 во втором запоминающем устройстве 33. Когда второй RMC 31 выполняет процедуру обновления встроенного программного обеспечения, второй RMC 31 осуществляет обновление первого встроенного программного обеспечения 231 в первом запоминающем устройстве 23. Соответственно первый RMC 21 выполнен с возможностью нормальной загрузки после перезагрузки в результате ошибки самостоятельного обновления первого встроенного программного обеспечения 231. Аналогично первый RMC 31 выполнен с возможностью нормальной загрузки после перезагрузки в результате ошибки самостоятельного обновления второго встроенного программного обеспечения 331.
Более подробно, первый RMC 21 также соединяется с первым переключателем 22 по первому интерфейсу I1 передачи команд; второй RMC 31 также соединяется со вторым переключателем 32 по второму интерфейсу I2 передачи команд. Когда первый RMC 21 выполняет процедуру обновления, первый RMC 21 передает команду на переключение на первый переключатель 22 по первому интерфейсу I1 передачи команд. Первый переключатель 22 осуществляет переключение в соответствии с командой на переключение для соединения второго переключателя 32 по третьему каналу L3 доступа и соединяет второе запоминающее устройство 33 по второму каналу L2 доступа. Как следствие, первый RMC 21 извлекает второе запоминающее устройство 33 соответственно посредством первого переключателя 22, третьего канала L3 доступа, второго переключателя 32 и второго канала L2 доступа для осуществления процедуры обновления второго встроенного программного обеспечения 331.
Аналогично, когда второй RMC 31 выполняет процедуру обновления, второй RMC 31 отправляет команду на переключение на второй переключатель 32 по второму интерфейсу I2 передачи команд. Второй переключатель 32 осуществляет переключение в соответствии с командой на переключение для соединения с первым переключателем 22 по третьему каналу L3 доступа, а затем соединяется с первым запоминающим устройством 23 по первому каналу L1 доступа. Как следствие, второй RMC31 извлекает первое запоминающее устройство 23 соответственно посредством второго переключателя 32, третьего канала L3 доступа, первого переключателя 22 и первого канала L1 доступа для осуществления процедуры обновления первого встроенного программного обеспечения 231.
Необходимо отметить, что RMC множества модулей управления стойкой соединены друг с другом в соответствии с настоящим изобретением. На фиг. 2 первый RMC 21 и второй RMC 31 согласно варианту осуществления соединены друг с другом. Более подробно, первый RMC 21 и второй RMC 31 соединены посредством интерфейса I0 передачи данных. Согласно варианту осуществления интерфейс I0 передачи данных представляет собой универсальный интерфейс ввода/вывода (GPIO), универсальный интерфейс приема/передачи (UART), интерфейс с шиной данных для соединения интегральных схем (I2C), интерфейс с шиной для интеллектуальной платформы управления (IPMB), интерфейс локальной вычислительной сети (LAN) и т. д., и не ограничивается этим.
В настоящем изобретении первый RMC 21 и второй RMC 31 осуществляют обнаружение тактовых импульсов относительно друг друга посредством интерфейса I0 передачи данных и предоставляют решение для резервного копирования. Более подробно, каждый RMC 21, 31 определяет ненормальный тактовый импульс другого RMC по интерфейсу I0 передачи данных, причем RMC выполнен с возможностью выполнения принудительной перезагрузки другого RMC посредством отправки команды по интерфейсу I0 передачи данных в случае определения ненормального тактового импульса другого RMC и назначения себя как активного RMC в стойке 1. Как следствие, когда один из RMC в стойке 1 работает ненормально, другой RMC может осуществлять операцию резервного копирования. После перезагрузки работающего ненормально RMC работа восстанавливается в исходное состояние. Описанное выше техническое решение позволяет эффективно избегать случаев, когда множество узлов в стойке не могут работать нормально, когда только один RMC, расположенный в стойке, работает с ошибками.
На фиг. 3 схематически показана операция обновления встроенного программного обеспечения стойки в соответствии с первым вариантом осуществления настоящего изобретения. На фиг. 3 показана схема работы первого модуля 2 управления стойкой.
Когда первый RMC 21 осуществляет загрузку, первый RMC 21 извлекает первое встроенное программное обеспечение 231 в первом запоминающем устройстве 23 посредством первого переключателя 22 и первого канала L1 доступа и выполняет первое встроенное программное обеспечение 231 для завершения процедуры загрузки.
Когда первый RMC 21 получает образ F1 обновления встроенного программного обеспечения и команду на обновление, переданную извне, первый RMC 21 отправляет первую команду C1 на переключение на первый переключатель 22 посредством первого интерфейса I1 передачи команд, первый переключатель 22 переключается и соединяется со вторым переключателем 32 второго модуля 3 управления стойкой в соответствии с первой командой C1 на переключение. Таким образом, первый RMC21 извлекает второе запоминающее устройство 33 посредством первого переключателя 22, третьего канала L3 доступа, второго переключателя 32 и второго канала L2 доступа, а первый RMC21 выполняет обновление второго встроенного программного обеспечения 331.
После завершения обновления первый RMC 21 перезагружается, а первый переключатель 22 возвращается к исходным настройкам (т. е. соединяется с первым запоминающим устройством 23 по первому каналу L1 доступа). Таким образом, после перезагрузки первого RMC 21 завершение процедуры загрузки обеспечивается выполнением первого встроенного программного обеспечения 231 в первом запоминающем устройстве 23. Другими словами, даже если выполнение процедуры обновления в последний раз было неудачным, на операцию загрузки первого RMC 21 это не влияет, поскольку неудавшаяся процедура обновления выполняется на втором встроенном программном обеспечении 331.
Необходимо отметить, что первый RMC 21 установлен вместе с первым запоминающим блоком 211 для временного хранения переданного извне образа F1 обновления встроенного программного обеспечения обновления. Когда первый RMC 21 выполняет процедуру обновления второго встроенного программного обеспечения 331, образ F1 обновления встроенного программного обеспечения, временно сохраненный в первом запоминающем блоке 211, записывается во второе запоминающее устройство33 для завершения процедуры обновления. Согласно варианту осуществления первый запоминающий блок 211 представляет собой оперативное запоминающее устройство (RAM) или флэш-память и т. д., и не ограничивается этим.
На фиг. 4 схематически показана операция обновления встроенного программного обеспечения стойки в соответствии со вторым вариантом осуществления настоящего изобретения. На фиг. 4 показана схема работы второго модуля 3 управления стойкой.
Когда второй RMC 31 осуществляет загрузку, второй RMC 31 извлекает второе встроенное программное обеспечение 331 во втором запоминающем устройстве 33 посредством второго переключателя 32 и второго канала L2 доступа, и процедура загрузки завершается выполнением второго встроенного программного обеспечения 331.
Когда второй RMC 31 получает образ F1 обновления встроенного программного обеспечения и команду на обновление, второй RMC 31 отправляет вторую команду C2 на переключение на второй переключатель 32 посредством второго интерфейса I2 передачи команд, второй переключатель 32 переключается и соединяется с первым переключателем 22 первого модуля 2 управления стойкой в соответствии со второй командой C2 на переключение. Таким образом, второй RMC 31 извлекает первое запоминающее устройство 23 посредством второго переключателя 32, третьего канала L3 доступа, первого переключателя 22 и первого канала L1 доступа и выполняет процедуру обновления первого встроенного программного обеспечения 231.
Аналогично после завершения выполнения процедуры обновления второй RMC 31 перезагружается, а второй переключатель 32 возвращается к исходным настройкам (т. е. соединяется со вторым запоминающим устройством 33 по второму каналу L2 доступа). Таким образом, после перезагрузки второго RMC 31 завершение процедуры загрузки обеспечивается выполнением второго встроенного программного обеспечения 331 во втором запоминающем устройстве 23. Аналогично, даже если выполнение процедуры обновления в последний раз было неудачным, на операцию загрузки второго RMC 31 это не влияет, поскольку неудавшаяся процедура обновления выполняется на первом встроенном программном обеспечении 231.
Аналогично указанному выше первому запоминающему блоку 211 второй запоминающий блок 311 устанавливают во втором RMC 31 для временного хранения образа F1 обновления встроенного программного обеспечения. Когда второй RMC 31 выполняет процедуру обновления первого встроенного программного обеспечения 231, образ F1 обновления встроенного программного обеспечения, временно сохраненный во втором запоминающем блоке 311, записывается в первое запоминающее устройство 23 для завершения процедуры обновления. Согласно варианту осуществления второй запоминающий блок 311 представляет собой RAM или флэш-память и не ограничивается этим.
Как было указано выше, после того как первый RMC 21 выполнит обновление второго встроенного программного обеспечения 331, первый RMC 21 будет продолжать загрузку посредством первого встроенного программного обеспечения 231, которое не было обновлено; после того как второй RMC 31 выполнит обновление первого встроенного программного обеспечения 231, второй RMC 31 будет продолжать загрузку посредством второго встроенного программного обеспечения 331, которое не было обновлено. Соответственно в предпочтительном варианте осуществления множество модулей управления стойки 1 одновременно извлекает переданный извне образ F1 обновления встроенного программного обеспечения и команду на обновление соответственно для обновления встроенного программного обеспечения множества модулей управления стойкой, что гарантирует, что версия встроенного программного обеспечения будет последней. Тем не менее, описанное выше решение представляет собой один из предпочтительных вариантов осуществления настоящего изобретения и не ограничивается этим.
На фиг. 5 показана блок-схема получения обновленного образа в соответствии с первым вариантом осуществления настоящего изобретения. Как показано на фиг. 5, когда встроенное программное обеспечение множества RMC стойки 1 (только один RMC используется далее в качестве примера в качестве иллюстрации) необходимо обновить, стойку 1 соединяют с внешним инструментом для обновления (например, персональным компьютером или облачным сервером и т. д., не показанным на чертежах). Инструмент для обновления отправляет команду управления на RMC в стойке 1 посредством интерфейса (например, отправляет команду IPMI по интерфейсу IPMI) для обеспечения входа RMC в режим обновления (этап S10).
Затем RMC получает образ F1 обновления встроенного программного обеспечения посредством инструмента для обновления (этап S12). RMC временно сохраняет полученный образ F1 обновления встроенного программного обеспечения во внутреннем запоминающем блоке (этап S14) и проверяет правильность образа F1 обновления встроенного программного обеспечения. Если образ F1 обновления встроенного программного обеспечения является правильным, RMC выполняет процедуру обновления в соответствии с временно сохраненным образом F1 обновления встроенного программного обеспечения (этап S16). Согласно указанному выше варианту осуществления первый RMC 21 и второй RMC 31 начинают выполнять процедуру обновления посредством выполнения указанных выше этапов S10-S16.
На фиг. 6 показана блок-схема обновления встроенного программного обеспечения в соответствии с первым вариантом осуществления настоящего изобретения. В настоящем изобретении последовательность обновления встроенного программного обеспечения в соответствии с настоящим изобретением применяется для стойки по меньшей мере с двумя модулями управления стойкой. Сначала RMC в одном из модулей управления стойкой стойки 1 (например, первый RMC 21 в первом модуле 2 управления стойкой) получает указанную выше команду на обновление (этап S20). Затем RMC отправляет команду на переключение на переключатель того же модуля управления стойкой (например, первый переключатель 22) для обеспечения переключения и соединения переключателя с запоминающим устройством другого модуля управления стойкой (например, вторым запоминающим устройством 33 во втором модуле 3 управления стойкой) (этап S22).
После завершения переключения переключателя RMC выполняет процедуру обновления встроенного программного обеспечения в запоминающем устройстве другого модуля управления стойкой в соответствии с образом F1 обновления встроенного программного обеспечения, временного сохраненного в установленном запоминающем блоке (этап S24). После завершения выполнения процедуры обновления RMC перезагружается, а переключатель того же модуля управления стойкой возвращается к исходным настройкам (этап S26), причем переключатель соединяется с запоминающим устройством того же модуля управления стойкой на основании исходных настроек после этапа S26.
После перезагрузки RMC, который на этапе S24 выполняет процедуру обновления, он соединяется с запоминающим устройством того же модуля управления стойкой посредством переключателя того же модуля управления стойкой и выполняет встроенное программное обеспечение в запоминающем устройстве для завершения процедуры загрузки (этап S28). Наконец,RMC определяет успешность выполнения предыдущей процедуры обновления (этап S30). Если обновление не было успешным, происходит возврат на этап S22 и повторное обновление встроенного программного обеспечения другого модуля управления стойкой. С другой стороны, если обновление было успешным, RMC завершает процедуру обновления.
Способ обновления в соответствии с настоящим изобретением позволяет эффективно избегать случаев, когда RMC не может работать нормально после неудачной процедуры обновления встроенного программного обеспечения.
На фиг. 7 показана блок-схема резервного копирования в соответствии с первым вариантом осуществления настоящего изобретения. Последовательность резервного копирования в соответствии с настоящим изобретением осуществляется на стойке по меньшей мере с двумя модулями управления стойкой. Сначала RMC по меньшей мере двух модулей управления стойкой в стойке 1 соединяют друг с другом посредством интерфейса I0 передачи данных, и он выполняет обнаружение тактовых импульсов посредством интерфейсов I0 передачи данных (этап S40).
Во время обнаружения тактовых импульсов каждый RMC соответственно определяет, является ли тактовый импульс другого RMC ненормальным (этап S42). Если тактовый импульс другого RMC является нормальным, снова выполняется этап S40 для того, чтобы продолжить выполнение обнаружения тактовых импульсов другого RMC.
С другой стороны, если после определения тактовый импульс другого RMC является ненормальным, RMC с нормальным тактовым импульсом отправляет команды посредством интерфейса I0 передачи данных для активации перезагрузки RMC с ненормальным тактовым импульсом и указывает себя как активный RMC в стойке 1 (этап S44). Благодаря решению для операции резервного копирования, когда один из RMC в стойке 1 работает ненормально, другой RMC временно выполняет операцию резервного копирования и возвращается к выполнению основной работы после перезагрузки работающего ненормально RMC. В результате исключаются случаи, когда множество узлов в стойке 1 не могут нормально работать после ошибок, возникших в RMC.
Специалистам в данной области необходимо принять во внимание, что в описанном варианте осуществления могут быть выполнены различные изменения и модификации. Он предполагает включение всех таких вариантов, модификаций и эквивалентов, которые попадают в пределы объема настоящего изобретения, как определено в прилагаемой формуле изобретения.