MYCSS

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

2023-04-04

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

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

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

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