Ссылка на команду IPMI? - PullRequest
0 голосов
/ 25 июня 2019

Я управляю большим количеством серверов и пытаюсь написать bash-скрипт для проверки их BMC с помощью ipmitool. Это суть того, что я делаю:

...
admin=$(ipmitool -U user -P pasw -I lanplus -H $ipmi user list | grep " user " | awk '{print $1}')
chn=$(ipmitool -U user -P pasw -I lanplus -H 10.100.10.3 channel info | grep -e '^Channel.*info:' | awk '{print $2}')
ipmitool -U user -P pasw -I lanplus -H $ipmi user priv $admin 4 $chn
ipmitool -U user -P pasw -I lanplus -H $ipmi channel setaccess $chn $admin callin=on ipmi=on link=on privilege=4
ipmitool -U user -P pasw -I lanplus -H $ipmi sol payload enable $chn $admin
ipmitool -U user -P pasw -I lanplus -H $ipmi sol set volatile-bit-rate 115.2 $chn
ipmitool -U user -P pasw -I lanplus -H $ipmi sol set non-volatile-bit-rate 115.2 $chn
ipmitool -U user -P pasw -I lanplus -H $ipmi sol looptest 1
...

Работает нормально, пока не доберусь до команд sol set ..., которые не работают:

Error setting SOL parameter 'set-in-progress': Attempt to set set-in-progress when not in set-complete state
Error: set of parameter "volatile-bit-rate" failed

Глядя на sol set ... из оболочки ipmi:

ipmitool -U user -P pasw -I lanplus -H $ipmi shell

Понятно:

ipmitool> sol set

SOL set usage: 

  sol set <parameter> <value> [channel] [noguard]


SOL set parameters and values: 

  set-in-progress             set-complete | set-in-progress | commit-write
  enabled                     true | false
  force-encryption            true | false
  force-authentication        true | false
  privilege-level             user | operator | admin | oem
  character-accumulate-level  <in 5 ms increments>
  character-send-threshold    N
  retry-count                 N
  retry-interval              <in 10 ms increments>
  non-volatile-bit-rate       serial | 9.6 | 19.2 | 38.4 | 57.6 | 115.2
  volatile-bit-rate           serial | 9.6 | 19.2 | 38.4 | 57.6 | 115.2

Так что похоже, что можно вручную настроить его на завершение - но так ли это просто? Существует ли справочное руководство по выполнению этих команд?

1 Ответ

1 голос
/ 26 июня 2019

Ниже приведено описание [Set In Progress] в спецификации IPMI.

Этот параметр используется для указания того, когда какой-либо из следующих параметров обновляется, и когда обновление завершено.Этот бит в основном предназначен для предупреждения программного обеспечения, чем какое-либо другое программное обеспечение или утилита находится в процессе внесения изменений в данные.

Реализация также может выбрать функцию «отката», которая использует эту информацию, чтобы решить, следует лидля «отката» к предыдущей информации о конфигурации или для принятия изменения конфигурации.

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


Если ваш BMC поддерживает эту функцию, порядок настроек следующий:

ipmitool sol set set-in-progress set-in-progress
ipmitool sol set xxxx
ipmitool sol set set-in-progress commit-write
ipmitool sol set set-in-progress set-complete

Спецификация IPMI: https://www.intel.com/content/www/us/en/servers/ipmi/ipmi-second-gen-interface-spec-v2-rev1-1.html

...