MYCSS

Показ дописів із міткою IPMI. Показати всі дописи
Показ дописів із міткою IPMI. Показати всі дописи

2023-04-04

Нотатка: IPMI Watchdog timer, скидання та встановлення через ipmitool

Сучасні серверні материнські плати мають можливість контролювати свій "живий" стан через спеціальний сторожовий таймер (Watchdog timer).

Налаштування Watchdog Timer у BIOS.
 

2017-11-26

Нотатка. Віддалене керування живленням сервера через IPMI.

Стався випадок коли локальний сервер шлюз маршрутизатор вимкнувся. І що робити?
Віддалений доступ при цьому заблокований.
Тому на всяк такий випадок, до з'ясування причини вимкнення, налаштував віддалений моніторинг стану живлення через  IPMI, і у випадку якщо він вимкнутий запускаю команду ввімкнення.
Для керування використовую  внутрішній сервер з freebsd, встановлюю пакунок ipmitool, і створюю запит:
ipmitool -H 192.168.1.1 -U admin -P admin chassis power status
Chassis Power is on

Тепер формую скрип котрий за розкладом cron кожні 15 хв. буде перевіряти чи ввімкнений сервер.
#!/bin/sh
>state=$(/usr/local/bin/ipmitool -H 192.168.1.1 -U admin -P admin chassis power status| grep 'is off')
if [ ! -z "$state" ]
then
 /usr/local/bin/ipmitool -H 192.168.1.1 -U admin -P admin chassis power on | /usr/bin/logger -p user.notice -t "Power control [GW was off]".
fi

Якщо потрібне керування з операційної системи Windwos то потрібен пакунок з проекту http://ipmiutil.sourceforge.net, завантажую ipmiutil-3.0.7-win64.zip.

Статус:
ipmiutil.exe reset -n  -N 192.168.1.1 -U admin -P admin
Ввімкнення:
ipmiutil.exe reset -u  -N 192.168.1.1 -U admin -P admin
Для безпеки рекомендую на сторінці керуванням BMC сервера додати спеціального користувача:

Користувачі iKVM
Спеціальний користувач для керування живленням
І використовувати цього користувача у запитах замість admin.

2017-09-30

Оновлення сторожового апаратного таймера Watchdog2 у Windows Hyper-V Server 2016 через IPMI

Оновлення сторожового апаратного таймера  Windows Hyper-V Server 2016 не реалізовано базово.
Тому потрібне додаткове програмне забезпечення на кшталт "Enterprise Managment".
Після реалізації під FreeBSD (pfSense)  вирішив зробити те саме і у Windows Hyper-V Server 2016.
Так як сервер не має графічного інтерфейсу, все робиться віддалено через PowerShell.
Enter-PSSession -ComputerName COMPUTER 
З проекту http://ipmiutil.sourceforge.net, завантажую ipmiutil-3.0.7-win64.zip,
розпаковую та переписую до теки що знаходиться на сервері.

Перевіримо статус:
[hv]: PS С:\install\ipmiutil-3.0.7-win64> .\ipmiutil.exe wdt
ipmiutil ver 3.07
iwdt ver 3.07
-- BMC version 2.01, IPMI version 2.0
wdt data: 43 00 00 08 70 17 d7 16
Watchdog timer is started for use with OS Load. Logging
               pretimeout is 0 seconds, pre-action is None
               timeout is 600 seconds, counter is 584 seconds
               action is No action

ipmiutil wdt, completed successfully

Для скидання таймера
[hv]: PS С:\install\ipmiutil-3.0.7-win64> .\ipmiutil.exe wdt -r
ipmiutil ver 3.07
iwdt ver 3.07
-- BMC version 2.01, IPMI version 2.0
wdt data: 43 00 00 08 70 17 ca 13
Watchdog timer is started for use with OS Load. Logging
               pretimeout is 0 seconds, pre-action is None
               timeout is 600 seconds, counter is 506 seconds
               action is No action
Resetting watchdog timer ...
reset_wdt: ret = 0
wdt data: 43 00 00 08 70 17 70 17
Watchdog timer is started for use with OS Load. Logging
               pretimeout is 0 seconds, pre-action is None
               timeout is 600 seconds, counter is 600 seconds
               action is No action

ipmiutil wdt, completed successfully

Для періодичного запуску створюю завдання:
SCHTASKS /create /sc MINUTE /MO 1 /TR "С:\install\ipmiutil-3.0.7-win64\ipmiutil.exe wdt -r" /TN "WDT reset"

Оновлення сторожового апаратного таймера Watchdog2 у pfSense через IPMI

З'ясував що версії pfSense версій 2.3.4, 2.4.0, не обробляє оновлення апаратного сторожового таймера материнської плати з Watchdog2.
Виправляв ось так:
Додати підтримку IPMI у ядро:
Додавання рядка ipmi_load="YES" до файлу /boot/loader.conf.local
/boot/loader.conf.local - ipmi_load="YES"

Потрібно перезавантажити систему і перевірити чи є підтримка IPMI з терміналу:
cat /var/log/dmesg.boot | grep ipmi

/var/log/dmesg.boot

З терміналу читаємо значення сенсорів:
ipmitool sensor

ipmitool sensor, перевірка наявності Watchdog2

Надалі необхідно оновити значення сенсора, це можна зробити за допомоги команди watchdog
$watchdog -d -t 300
shifted 549755813888
seconds_to_pow2ns: seconds: 300, ns 300000000000, power 39
Timeout for -t is 2^39 nanoseconds (in: 300 sec -> out: 549 sec 755813888 ns -> 549757 ticks)
Timeout is 2^39 nanoseconds

І повторювати її періодично, наприклад правилами планувальника cron:
Періодичне оновлення значення сенсора Watchdog2
Або можна запустити у фоновому режимі програму watchdogd.
watchdogd  -s 60 -t 300

Також можна скинути значення таймера виконавши  команду ipmitool:
$ipmitool mc watchdog reset
IPMI Watchdog Timer Reset -  countdown restarted!

Або визначити поточне значення таймера:
$ipmitool mc watchdog get
Watchdog Timer Use:     SMS/OS (0x44)
Watchdog Timer Is:      Started/Running
Watchdog Timer Actions: Hard Reset (0x01)
Pre-timeout interval:   0 seconds
Timer Expiration Flags: 0x08
Initial Countdown:      549 sec
Present Countdown:      545 sec

Або вимкнути таймер повністю:
$ipmitool mc watchdog off
Watchdog Timer Shutoff successful -- timer stopped

Тоді можна змінити cron на ipmitool mc watchdog reset:
ipmitool mc watchdog reset


Використано материнську плату Asus P10S-C/4L з модулем ASMB8-iKVM.
Налаштування Watchdog timer в BIOS через віддалене підключення iKVM.
Коли забув ти рідну мову, біднієш духом ти щодня...
When you forgot your native language you would become a poor at spirit every day ...

Д.Білоус / D.Bilous
Рабів до раю не пускають. Будь вільним!

ipv6 ready