Перейти к основному содержимому

Обновление из репозитория

Обновление микропрограмм сервера из удаленного репозитория

Прим.
Для использования функциональных возможностей сохранения истории микропрограмм CIFS, NFS, HTTPS и встроенных требуется лицензия Platinum XCC.

Обзор

Для XCC обеспечена возможность обновления микропрограмм на сервере с помощью пакетов обновления. Эта функция упрощает процесс за счет использования одного инструмента клиента API или Redfish для обновления всех микропрограмм в системе, включая пакеты микропрограмм OOB и IB. Процесс включает идентификацию соответствующих пакетов микропрограмм, их скачивание и извлечение с удаленного сервера HTTP/HTTPS или отправку во внутреннее хранилище BMC через веб-браузер либо подключение из общего каталога CIFS или NFS.

Файлы метаданных необходимо разместить в корневом каталоге совместно используемой сетевой файловой системы (если применяется подключение по протоколу CIFS или NFS) с полезными данными микропрограмм, указанными в метаданных. В устройстве microSD сервера могут храниться репозитории за прошлые периоды, что позволяет пользователям выполнять откат уровней микропрограмм.

Если в пакетах микропрограмм содержатся какие-либо полезные данные, не поддерживающие внеполосное обновление микропрограмм, перед выполнением обновления контроллер BMC запускает сервер и настраивает его для загрузки из встроенного образа ОС, установленного в BMC.

Пакет обновления и метаданные

Пакет обновления — это сжатый файл пакета микропрограмм. Он содержит один или несколько пакетов микропрограмм для компонентов системы. Функция XCC обновления из репозитория использует файл пакета обновления. Разархивированный файл пакета содержит метаданные и двоичные файлы полезных данных. Файлы метаданных JSON предоставляют контроллеру XCC информацию о том, какие образы микропрограмм находятся в файле пакета, а двоичные файлы полезных данных содержат образы микропрограмм.

Репозиторий микропрограмм в XCC

Пакет обновления может содержать несколько пакетов микропрограмм, и XCC (электронное устройство) резервирует 2 ГБ пространства во флэш-памяти для новых функций. Получив новый пакет, XCC удаляет старые данные. На некоторых платформах для обеспечения дополнительного хранилища используется карта MicroSD, и XCC перемещает последний пакет обновления в репозиторий истории, расположенный на карте SD. В репозитории истории микропрограмм может храниться до трех пакетов. Для возврата к предыдущему пакету можно использовать функцию отката микропрограмм.

Прим.
  • Если в пакет обновления входит только пакет микропрограмм OOB, доступный для системы, XCC не изменяет состояние питания системы. Чтобы обновить микропрограмму устройства PCI, требуется включить систему.

  • Если в пакет обновления входит пакет микропрограмм IB, доступный для системы, перед обновлением и восстановлением состояния питания после обновления пакета обновления контроллер XCC сохраняет состояние питания системы. В процессе обновления контроллер XCC перезагружает хост для использования встроенной ОС.

  • Если пакет обновления содержит обязательный уровень микропрограммы UEFI, а установленная в настоящее время версия UEFI не соответствует ему или ее уровень ниже, XCC выключает систему для выполнения обновления микропрограммы UEFI.

  • Если пакет обновления содержит обязательный уровень микропрограммы XCC, а установленная в настоящее время версия XCC не соответствует ему или ее уровень ниже, XCC перезагружается после обновления.

Обновление с помощью графического веб-интерфейса пользователя

С помощью функции Обновление из репозитория пользователь может настроить XCC для синхронизации микропрограммы сервера с удаленным репозиторием микропрограмм CIFS/NFS. Репозиторий микропрограмм должен содержать пакеты, включающие двоичные файлы и файлы метаданных, или файлы JSON метаданных пакета обновления и соответствующие двоичные файлы. XCC анализирует файлы JSON метаданных и извлекает пакеты микропрограммы, поддерживающие обновление OOB для оборудования соответствующей системы, а затем запускает пакетное обновление.

Существует пять состояний обновления:
  • Зеленый флажок : обновление микропрограммы успешно завершено.
  • Красный значок X : произошел сбой обновления микропрограммы.
  • Выполняется обновление: микропрограмма находится в процессе обновления.
  • Отмена: обновление микропрограммы отменено.
  • Ожидание: обновление микропрограммы ожидает развертывания.
Если пользователь нажмет Остановить обновление, обновления в очереди будут отменены после завершения обновления текущего установочного пакета.

Чтобы выполнить обновление из репозитория, выполните следующие действия:

  1. Нажмите Подключить к удаленному репозиторию после ввода сведений о нем.
  2. Нажмите Обновить, чтобы начать пакетное обновление.
  3. Нажмите Просмотреть сведения, чтобы увидеть состояние обновление. Как говорилось выше, существует 5 категорий состояния.
  4. Нажмите Остановить обновление, чтобы отменить обновления в очереди после завершения обновления текущего установочного пакета.
  5. Нажмите Отключить, чтобы отключиться от удаленного репозитория.
  6. Если для того чтобы обновление вступило в силу, требуется перезапустить XClarity Controller, отобразится соответствующее предупреждение. Подробные сведения о перезапуске контроллера XClarity Controller см. в разделе Действия кнопки питания.
Прим.
Если в системе установлена карта MicroSD, можно посмотреть историю обновлений пакета обновления и выбрать индекс пакета обновления для выполнения отката микропрограммы. Этот процесс аналогичен обновлению из репозитория, за исключением того, что пакет обновления за прошлые периоды размещается на карте MicroSD.

Обновление с помощью Redfish

Интерфейс Redfish использует полезные данные в формате JSON для удобства чтения и создания скриптов. Redfish XCC предлагает стандартный API-интерфейс (SimpleUpdate) для извлечения файла пакета обновления с определяемого кодом URI ресурса по протоколу HTTP, HTTPS, SFTP или TFTP, а также многокомпонентное принудительное обновление по протоколу HTTP для отправки файла пакета обновления UpdateService. Для выполнения обновлений микропрограмм и запроса состояния обновления можно использовать команду или один инструмент клиента Redfish.

Пример команды для отправки файла пакета в XCC и создания задачи для передачи и проверки файла:

curl -s -k -u USERID:PASSW0RD-F 'UpdateParameters={"Targets":[]};type=application/json' -F 'UpdateFile=@./NY7D72-IB-320.zip;type=application/octet-stream' https://10.240.218.157:443/mfwupdate
{
"ld": "f2fd6e9d-cOa6-4b11-b9f6-69a17a1 ,
"Name": "Task f2fd6e9d-cOa6-4b11-b9f6-69a17a1 e579c",
"@odata.type": "#Task.v1_5_1. Task",
"@odata.id': "[redfish/v 1 fTaskServicefTasks/f2fd6e9d-c0a6-4b11-b9f6-69a 17a1 e579c",
"Messages": [l
"Description": "This resource represents a task for a Redfish implementation."
"StartTime": "2022-03-21 TOT 16:41 +00:00",
"TaskMonitor": "/redfish/v1fTaskSen.'ice/c069ed4a-e754-4970-ab9a-922e8a3e076b",
"@odata.context": "'redfish/v1/$metadata#Task.Task",
"@odata.etag":
"PercentCompIete": O,
"HidePayload": true,
"TaskState": "New"
}

Пример команды для задачи, в которой API отвечает идентификатором задания для обновления микропрограммы после завершения передачи и проверки образа:

<strong className="ph b">https://10.240.218.157/
redfish/v1/TaskService/Tasks/f2fd6e9d c0a6 4b11 b9f6 69a17a1e579c</strong>
{
"@odata.etag": ,
"Name-: "Task f2fd6e9d-cOa6-4b11-b9f6-69a17a1e579c",
Task",
"IredfishNI/TaskSemcenasksff2fd6e9d-cOa6-4bI I-b9f6-69aI 7a1e579c",
"Messages": [
{
"Resolution": "Follow the referenced job and monitor the job for further updates.",
"@odata.type":
'MessageSeverity": "0K",
"MessageArgs": [
"IredfishtvI/JobService/J0bs/J0bROOOOOI-lJPdate"
],
"Messageld": "Update. 1 .O.OperationTransitionedToJob",
"Message": "The update operation has transitioned to the job at URI 'Iredfsh/vl IJobService/Jobs/JobR000001-Update'."
}
],
"Description": "This resource represents a task for a Redfish implementation.",
"HidePayIoad": true,
"StartTime":
"TaskMonitor: "'redfish1v1/TaskseNice/c069ed4a-e754-4970-ab9a-922e8a3e076b",
"TaskStatus": "0K",
"@odata.context-: "'redfish/v1/$metadata#Task.Task",
"ld": "f2fd6e9d-cOa6-4b11-b9f6-6ga17a 1 e579c",
"Percentcomplete": 100,
"EndTime": 2022-03-21
"TaskState": "Completed"
}

Запрашивая идентификатор задания, XCC возвращает этапы задания для всех пакетов микропрограмм в пакете обновления, как показано ниже:

https://10.240.218.157/redfish/v1/JobService/Jobs/JobR000001-Update
{
"@odata.etag": "\"1647847200776\"", "PercentComplete": 100, "@odata.type": "#Job.v1_0_7.Job",
"@odata.id": "/redfish/v1/JobService/Jobs/JobR000001-Update", "Messages": [
{
"Resolution": "None.",
"@odata.type": "#Message.v1_1_2.Message", "MessageSeverity": "OK",
"MessageArgs": [ "NY7D72-IB-320.zip",
"HardDiskDrive"
],
"MessageId": "Update.1.0.UpdateSuccessful ",
"Message": " Device 'HardDiskDrive' successfully updated with image 'NY7D72-IB-320.zip'."
},
{
"Resolution": "None.",
"@odata.type": "#Message.v1_1_2.Message", "MessageSeverity": "OK",
"MessageArgs": [ "NY7D72-IB-320.zip",
"/redfish/v1/UpdateService/FirmwareInventory/UEFI"
],
"MessageId": "Update.1.0.UpdateSuccessful",
"Message": "Device '/redfish/v1/UpdateService/FirmwareInventory/UEFI' successfully updated with image 'NY7D72-IB-320.zip'. "
},
{
"Resolution": "None.",
"@odata.type": "#Message.v1_1_2.Message", "MessageSeverity": "Critical",
"MessageArgs": [ "NY7D72-IB-320.zip",
"/redfish/v1/UpdateService/FirmwareInventory/BMC-Primary"
],
"MessageId": "Update.1.0.ApplyFailed",
"Message": "Installation of image 'NY7D72-IB-320.zip' to '/redfish/v1/UpdateService/FirmwareInventory/BMC-Primary' failed."
}
],
"Description": "This resource is used to represent a job for a Redfish implementation.",
"StartTime": "2022-03-21T07:16:58+00:00",
"Id": "JobR000001-Update",
"EndTime": "2022-03-21T07:20:00+00:00",
"@odata.context": "/redfish/v1/$metadata#Job.Job", "Steps": {
"@odata.id": "/redfish/v1/JobService/Jobs/JobR000001-Update/Steps"
},
"Name": "JobR000001-Update", "StepOrder": [
"lnvgy_fw_drives_all.samsung.pm1735.cq-cq37_anyos_comp.lvt", "lnvgy_fw_uefi_ese103a-1.00_anyos_comp.uxz", "lnvgy_fw_xcc_esx301p-0.01_anyos_comp.uxz"
],
"JobState": "Completed"

При запросе этапа задания контроллер XCC возвращает дополнительную информацию об отдельном обновлении микропрограммы:

https://10.240.218.157/redfish/v1/JobService/Jobs/JobR000001- Update/Steps/lnvgy_fw_drives_all.samsung.pm1735.cq-cq37_anyos_comp.lvt
{
"@odata.etag": "\"1647847202778\"", "PercentComplete": 1, "@odata.type": "#Job.v1_0_7.Job",
"@odata.id": "/redfish/v1/JobService/Jobs/JobR000001-Update/Steps/lnvgy_fw_drives_all.samsung.pm1735.cq- cq37_anyos_comp.lvt",
"Messages": [],
"Description": "This resource is used to represent a job for a Redfish implementation.", "StartTime": "2022-03-21T07:16:58+00:00",
"@odata.context": "/redfish/v1/$metadata#Job.Job",
"Id": "lnvgy_fw_drives_all.samsung.pm1735.cq-cq37_anyos_comp.lvt", "Name": "lnvgy_fw_drives_all.samsung.pm1735.cq-cq37_anyos_comp.lvt", "EndTime": "2022-03-21T07:20:02+00:00",

"JobState": "Completed"

Выполните скачивание из удаленного репозитория и обновление, как показано ниже:

system> syncrep
syncrep [options] Launch firmware sync from remote repository options:
-t protocol to connect repository. The local type will reboot host immediately. (eg: syncrep -t samba -l url -u user -p password; syncrep -t local -l /bulk/bundle.tgz;
syncrep -t http -l http://IP/bundle.tgz)
-l location of remote repository (URL format)
-u User
-p Password
-o option (extra option string for samba and nfs mounts)
-d domain (domain for samba mount)
-q query current update status
-c cancel the sync process
-r <> firmware rollback
-gl get repository list