Проблема: Для твердотельных накопителей на наших серверах требуется цикл питания (то есть выключение / включение, а не сброс / горячая перезагрузка) после обновления прошивки.
Мысли: Используя 'ipmitoolssis power cycle', я могу выключить и включить питание сервера. Однако это приведет к отключению питания, пока система все еще работает, файловые системы смонтированы и т. Д.
В основном я хочу, чтобы цикл включения питания был отложен, чтобы система могла остановиться. Но я предполагаю, что это должно быть реализовано на плате IPMI сервера, так что это не вариант.
Моя первоначальная идея заключалась в том, чтобы динамически создать виртуальный диск, содержащий инструмент и библиотеки, и каким-то образом интегрировать его в процесс остановки. Я видел, что есть /etc/init.d/halt, так что это будет моей отправной точкой. Хотя я считаю, что ядро в какой-то момент в процессе выключения начинает убивать оставшиеся процессы. Так что я даже не уверен, что это жизнеспособный способ.
Вопрос: Как лучше всего выполнить ipmitool (или любую другую команду) после остановки системы и размонтирования всех обычных файловых систем?
Я бы перевел его в однопользовательский режим, отключил все файловые системы, не относящиеся к ОС, и перемонтировал все существующие как только для чтения. Затем запустите инструмент обновления прошивки и «цикл включения питания корпуса ipmitool».
Это некрасиво или умно, но должно быть достаточно безопасно
Сделайте нормальное полное выключение и отключение питания; сосчитайте до десяти, а затем снова включите машину с помощью wake-on-lan или IMPI для BMC (DRAC в случае Dell?). Если вы хотите сохранить его полностью локальным для машины, некоторые BIOS позволят вам указать время пробуждения / включения через ACPI - см. http://www.mythtv.org/wiki/ACPI_Wakeup . Например. установите время включения (сейчас) + (нормальная продолжительность выключения) + (небольшой запас прочности), затем запустите выключение.
Я понятия не имею, возможно ли это на самом деле с оборудованием серверного класса - сообщите нам, если вы попробуете это сделать.
Вы ищете сторожевого пса. Таймер, который активируется вашим программным обеспечением и сбрасывает компьютер, если таймер истекает без обновления. Для этого вам понадобится либо BIOS с поддерживающим таймером для включения машины, либо внешний менеджер IPMI, либо удача для поддержки цикла питания IPMI, которая будет работать непосредственно на вашей машине.
В качестве отправной точки посмотрите Утилита IPMI который также включает в себя инструмент со сбросом "цикла питания".
Если вы можете установить сторожевой таймер активным, установите уровень выполнения, который запускает таймер с функцией тайм-аута аппаратного отключения питания. Последним результатом вашего уровня выполнения shutdown-without-ACPI-off должно быть прекращение процесса обновления таймера.
При запуске (вместо выключения).
Использование сетевой загрузки.
Вам необходимо выключить и снова включить физические диски, поэтому я предлагаю вам перезагрузить машину, сказав ей загрузиться по сети, после этого вы выключите и снова включите диски, а затем перезагрузитесь с дисков.