суббота, 1 августа 2020 г.

Меняем порядок загрузки через ipmitool

Как таковой, как поменять порядок загрузки я пока не нашёл. Есть возможность у supermicro просто сдампить текущий конфиг в текстовом виде (через supermicro update manager), потом его поменять, потом залить обратно.

Но я нашёл интересную штуку - можно загрузить сервер в нужный пункт единожды, типа как bootnext в efibootmgr. При этом это должно работать также и для legacy режима загрузки.
Есть нюансы - непонятно пока как выбрать конкретный диск для загрузки, например. Ну и то что это работает только на серверах, потому что на десктопах нет ipmi.

В мануале ipmitool нашёл про эту возможность аж в нескольких местах.

1) ipmitool chassis bootdev
2) ipmitool chassis bootparam - отличается от предыдущей только тем, что параметры с префиксом force_, типа как force_bios, тогда как в предыдущей - просто bios

3) ipmitool mc chassis bootdev <device> опции. Можно например посмотреть ipmitool mc или bmc chassis bootdev
4) ipmitool mc chassis bootparam set <device> опции. Здесь девайсы с префиксом force_, в отличие от предыдущей команды. А ещё есть опции, ассоциированные с  очисткой BMC Boot Valid Bit. можно очищать valid bit при перезагрузке по питанию, по кнопке reset или мягкой перезагрузке, по таймауту, по какому-то PEF. Но и вообще, кто и где смотрит этот value bit не совсем понятно пока. Догадываюсь, что его смотрит прошивка системы при загрузке, и если выставить устройство в bootnext, и наступит какое-то условие, например, перезагрузка по кнопке, то если bootnext был выставлен с соответствующим параметром сброса, то система не будет учитывать это устройство в качестве приоритетной прогрузки. Но я это не проверял.




При выполнении вариантов 3 и 4 было написано  Invalid mc/bmc command: chassis
Видимо, там поехало форматирование. Либо я скосил. Но параметры описаны действительно в четырёх местах. Возможно второй раз - это более подробное уточнение первого. В общем, посмотреть повнимательнее.

Кстати, вот что выдало bootdev none options=help
Legal options settings are:
       help:   print this message
       valid:  Boot flags valid
       persistent:     Changes are persistent for all future boots
       efiboot:        Extensible Firmware Interface Boot (EFI)
       clear-cmos:     CMOS clear
       lockkbd:        Lock Keyboard
       screenblank:    Screen Blank
       lockoutreset:   Lock out Resetbuttons
       lockout_power:  Lock out (power off/sleep request) via Power Button
       verbose=default:        Request quiet BIOS display
       verbose=no:     Request quiet BIOS display
       verbose=yes:    Request verbose BIOS display
       force_pet:      Force progress event traps
       upw_bypass:     User password bypass
       lockout_sleep:  Log Out Sleep Button
       cons_redirect=default:  Console redirection occurs per BIOS configuration setting
       cons_redirect=skip:     Suppress (skip) console redirection if enabled
       cons_redirect=enable:   Suppress (skip) console redirection if enabled

Интересно. Так можно ли всё-таки задать на постоянку свой boot order с опцией persistent?
И в режиме uefi можно загрузиться с опцией efiboot? Попробовал
 chassis bootdev disk options=efiboot
Но эффекта не дало. Всё равно грузится в legacy. Возможно, надо в bios включить uefi.

Еще кстати непонятно, что за request Safe Mode и Force boot from Diagnostic Partition.
Вот тут в комментах https://ma.ttwagner.com/ipmi-trick-set-the-boot-device/ нашёл что можно использовать такие команды: chassis bootparam get 5
В мануале есть вот это:
get <param #>

                                  Get boot parameter. Currently supported values for <param #> are:

                                  0 - Set In Progress

                                  1 - Service Partition Selector

                                  2 - Service Partition Scan

                                  3 - BMC Boot Flag Valid Bit Clearing

                                  4 - Boot Info Acknowledge

                                  5 - Boot Flags

                                  6 - Boot Initiator Info

                                  7 - Boot Initiator Mailbox
Но команда get 2 и get 1 мне ничего про service partition не выдали на supermicro серваке. Unknown было.


Комментариев нет:

Отправка комментария