Obrigado a Thomas por desenterrar a referência do OpenManage doc. O OMSA, que precisa ser instalado em algum lugar, depois usado remotamente ou localmente para se conectar ao BMC, define os PEFs do IPMI. Descobri que a Dell fabrica um kit de implantação que contém basicamente todas as ferramentas usadas pelo OMSA para realizar isso.
O Dell OpenManage Development Kit pode ser encontrado aqui:
A versão do Linux (parece ser apenas de 64 bits, costumava haver uma versão de 32 bits, mas não consigo encontrá-la) inclui uma imagem inicializável para instalar o firmware, etc ... mas também obtendo um prompt do console com todas as ferramentas de implantação acessíveis. Faça o download, grave, insira em um servidor e inicialize-o. No prompt, você tem acesso ao comando 'syscfg'.
A documentação pode ser encontrada aqui, mas o que você quer é o guia de referência!
Usando o comando syscfg, você pode definir um PEF para que o BMC acione uma ação quando um alerta IPMI normal for emitido. O uso atual ficaria assim:
syscfg pcp --filter=tempfail --filteraction=powerdown
Agora, quando o IPMI normalmente relata um alerta de tempfail, o BMC emitirá um evento de desligamento. O sistema operacional deve ser informado do evento via APIC e tentar desligá-lo normalmente. Exceto isso, os limites térmicos internos farão o que eles fazem.
Se você estiver familiarizado com o ipmitool, você também pode verificar (e possivelmente configurar PEFs com ele, mas eu não tentei) o novo PEF que você definiu com algo parecido com isto:
ipmitool <options> pef list
Se você optar por "Temperature", verá algo assim: (não pode C & P do console)
11 | active | 0x11 | Temperature | Any | Critical | Threshold | (0x01/0x0204),<LC,<UC | Alert,Power-off | 1
O Power-off é a ação do PEF recém-adicionada.
Eu não descobri o uso correto para definir o limite de temperatura usando as ferramentas da Dell, mas eu tenho usando ipmitool!
ipmitool <options> sensor list | grep Ambient
Ambient Temp | 24.000 | degrees C | ok | na | na | 3.000 | 8.000 | 42.000 | 47.000 | na
Você pode definir um novo limite com base no uso do parâmetro thresh do sensor ipmitool. Aqui está uma exumaple onde eu mudo o limite crítico superior para 48C:
ipmitool <options> sensor thresh "Ambient Temp" ucr 48.000
Você pode tentar emitir um evento de temperatura crítica superior manualmente, mas parece apenas emitir o evento e não está sujeito às configurações de ação do filtro PEF. (emitir o evento 1 é mais fácil do que identificar manualmente o sensor, etc ...)
ipmitool <options> event 1
O que eu fiz foi configurar a temperatura de desligamento para 25 ° C e desligar a AC do meu servidor por 5 minutos com um colega enquanto monitorávamos tudo. O servidor de destino desligar a 25C.