У меня много серверов, которые иногда требуют холодного запуска всего сервера из-за определенных изменений.
У нас много серверов, поэтому все автоматизировано.
Сейчас, если процессу требуется холодный запуск, задача запускается ipmitool power cycle
локально на хосте, обеспечивая его полный холодный перезапуск.
Это не было проблемой, но я вижу, что это станет проблемой в будущем, поскольку нет попыток мягкого выключения. Я знаю, что есть IPMI, power soft
поэтому было бы неплохо, если бы был способ объединить power soft
и затем power cycle
после завершения мягкого выключения ИЛИ истечения тайм-аута.
Это вообще возможно?Я понимаю, что могу сделать это извне, выполнив power soft
, отслеживая, а затем запустив отдельный power cycle
, но для этого потребуется удаленное подключение к IPMI, что выходит за рамки текущей автоматизации.
решение1
Неужели для этого нужно использовать только одну команду? Последовательность такая
CREDS="-H <host> -U <user> -P <passwd> -I lanplus"
ipmitool $CREDS power soft
while [ $(ipmitool $CREDS power status)="on" ]; do
sleep 1
done
ipmitool power on
сделает то, что вам нужно imho. Конечно, следует учитывать некоторый тайм-аут, чтобы обеспечить перезагрузку, если ОС зависнет.