← Documents Documentation/watchdog/hpwdt.rst GitHub 원문 ↗

Linux 6.18.37 · Watchdog / Hardware

HPE iLO NMI Watchdog Driver

ProLiant iLO watchdog의 ASR, NMI pretimeout, kdump와 모듈 매개변수를 설명합니다.

Source pathDocumentation/watchdog/hpwdt.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약·해설

hpwdt.rst:1-77

ProLiant iLO watchdog의 ASR, NMI pretimeout, kdump와 모듈 매개변수를 설명합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 ===========================
2 HPE iLO NMI Watchdog Driver
3 ===========================
4
5 for iLO based ProLiant Servers
6 ==============================
7
8 Last reviewed: 08/20/2018
9
10
11 The HPE iLO NMI Watchdog driver is a kernel module that provides basic
12 watchdog functionality and handler for the iLO "Generate NMI to System"
13 virtual button.
14
15 All references to iLO in this document imply it also works on iLO2 and all
16 subsequent generations.
17
18 Watchdog functionality is enabled like any other common watchdog driver. That
19 is, an application needs to be started that kicks off the watchdog timer. A
20 basic application exists in tools/testing/selftests/watchdog/ named
21 watchdog-test.c. Simply compile the C file and kick it off. If the system
22 gets into a bad state and hangs, the HPE ProLiant iLO timer register will
23 not be updated in a timely fashion and a hardware system reset (also known as
24 an Automatic Server Recovery (ASR)) event will occur.
25
26 The hpwdt driver also has the following module parameters:
27
28 ============ ================================================================
29 soft_margin allows the user to set the watchdog timer value.
30 Default value is 30 seconds.
31 timeout an alias of soft_margin.
32 pretimeout allows the user to set the watchdog pretimeout value.
33 This is the number of seconds before timeout when an
34 NMI is delivered to the system. Setting the value to
35 zero disables the pretimeout NMI.
36 Default value is 9 seconds.
37 nowayout basic watchdog parameter that does not allow the timer to
38 be restarted or an impending ASR to be escaped.
39 Default value is set when compiling the kernel. If it is set
40 to "Y", then there is no way of disabling the watchdog once
41 it has been started.
42 kdumptimeout Minimum timeout in seconds to apply upon receipt of an NMI
43 before calling panic. (-1) disables the watchdog. When value
44 is > 0, the timer is reprogrammed with the greater of
45 value or current timeout value.
46 ============ ================================================================
47
48 NOTE:
49 More information about watchdog drivers in general, including the ioctl
50 interface to /dev/watchdog can be found in
51 Documentation/watchdog/watchdog-api.rst and Documentation/driver-api/ipmi.rst
52
53 Due to limitations in the iLO hardware, the NMI pretimeout if enabled,
54 can only be set to 9 seconds. Attempts to set pretimeout to other
55 non-zero values will be rounded, possibly to zero. Users should verify
56 the pretimeout value after attempting to set pretimeout or timeout.
57
58 Upon receipt of an NMI from the iLO, the hpwdt driver will initiate a
59 panic. This is to allow for a crash dump to be collected. It is incumbent
60 upon the user to have properly configured the system for kdump.
61
62 The default Linux kernel behavior upon panic is to print a kernel tombstone
63 and loop forever. This is generally not what a watchdog user wants.
64
65 For those wishing to learn more please see:
66 - Documentation/admin-guide/kdump/kdump.rst
67 - Documentation/admin-guide/kernel-parameters.txt (panic=)
68 - Your Linux Distribution specific documentation.
69
70 If the hpwdt does not receive the NMI associated with an expiring timer,
71 the iLO will proceed to reset the system at timeout if the timer hasn't
72 been updated.
73
74 --
75
76 The HPE iLO NMI Watchdog Driver and documentation were originally developed
77 by Tom Mingarelli.
78

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

ProLiant iLO watchdog과 ASR

1-20

HPE iLO NMI Watchdog 드라이버는 iLO 기반 ProLiant 서버에 기본 watchdog 기능과 iLO의 `Generate NMI to System` 가상 버튼 처리기를 제공하는 커널 모듈입니다. 문서의 iLO 언급은 iLO2와 이후 세대에도 적용됩니다. 마지막 검토일은 2018-08-20입니다.

일반 watchdog 드라이버와 마찬가지로 타이머를 주기적으로 갱신하는 애플리케이션이 필요합니다. `tools/testing/selftests/watchdog/watchdog-test.c`를 빌드해 실행할 수 있습니다.

시스템이 비정상 상태로 멈추면 ProLiant iLO 타이머 레지스터가 제때 갱신되지 않아 Automatic Server Recovery, 즉 ASR 하드웨어 reset이 발생합니다.

iLO watchdog 동작
watchdog-test 등 애플리케이션 시작iLO 타이머 주기적 갱신시스템 hang으로 갱신 중단타이머 만료ASR 하드웨어 reset

사용자 공간 갱신이 멈추면 하드웨어 복구로 이어집니다.

===========================
HPE iLO NMI Watchdog Driver
===========================

for iLO based ProLiant Servers
==============================

Last reviewed: 08/20/2018


 The HPE iLO NMI Watchdog driver is a kernel module that provides basic
 watchdog functionality and handler for the iLO "Generate NMI to System"
 virtual button.

 All references to iLO in this document imply it also works on iLO2 and all
 subsequent generations.

 Watchdog functionality is enabled like any other common watchdog driver. That
 is, an application needs to be started that kicks off the watchdog timer. A
 basic application exists in tools/testing/selftests/watchdog/ named

모듈 매개변수

21-48

`soft_margin`은 watchdog timeout을 설정하며 기본값은 30초입니다. `timeout`은 같은 값을 가리키는 별칭입니다.

`pretimeout`은 최종 timeout 몇 초 전에 NMI를 전달할지 정합니다. 0이면 pretimeout NMI를 끄고 기본값은 9초입니다.

`nowayout`은 한 번 시작한 타이머를 다시 시작하거나 임박한 ASR을 피하지 못하게 합니다. 기본값은 커널 빌드 때 결정되고 `Y`이면 시작 후 watchdog을 끌 방법이 없습니다.

`kdumptimeout`은 NMI를 받은 뒤 panic을 호출하기 전에 적용할 최소 timeout입니다. -1은 watchdog을 비활성화하고, 0보다 크면 지정값과 현재 timeout 중 더 큰 값으로 타이머를 다시 프로그래밍합니다.

hpwdt 매개변수
매개변수기본값의미
soft_margin30초watchdog timeout
timeout30초soft_margin 별칭
pretimeout9초NMI 선행 시간, 0은 비활성
nowayout빌드 설정시작 후 비활성 금지
kdumptimeout드라이버 설정NMI 뒤 panic 전 최소 timeout, -1은 비활성

iLO watchdog의 시간과 종료 정책입니다.

 watchdog-test.c. Simply compile the C file and kick it off. If the system
 gets into a bad state and hangs, the HPE ProLiant iLO timer register will
 not be updated in a timely fashion and a hardware system reset (also known as
 an Automatic Server Recovery (ASR)) event will occur.

 The hpwdt driver also has the following module parameters:

 ============  ================================================================
 soft_margin   allows the user to set the watchdog timer value.
               Default value is 30 seconds.
 timeout       an alias of soft_margin.
 pretimeout    allows the user to set the watchdog pretimeout value.
               This is the number of seconds before timeout when an
               NMI is delivered to the system. Setting the value to
               zero disables the pretimeout NMI.
               Default value is 9 seconds.
 nowayout      basic watchdog parameter that does not allow the timer to
               be restarted or an impending ASR to be escaped.
               Default value is set when compiling the kernel. If it is set
               to "Y", then there is no way of disabling the watchdog once
               it has been started.
 kdumptimeout  Minimum timeout in seconds to apply upon receipt of an NMI
               before calling panic. (-1) disables the watchdog.  When value
               is > 0, the timer is reprogrammed with the greater of
               value or current timeout value.
 ============  ================================================================

 NOTE:

고정 pretimeout과 kdump

49-67

일반 watchdog ioctl과 `/dev/watchdog` 인터페이스는 `Documentation/watchdog/watchdog-api.rst`와 `Documentation/driver-api/ipmi.rst`를 참조합니다.

iLO 하드웨어 제약 때문에 NMI pretimeout을 켠 경우 9초로만 설정할 수 있습니다. 다른 0이 아닌 값을 쓰면 반올림되어 0이 될 수도 있으므로 pretimeout이나 timeout을 설정한 뒤 실제 값을 다시 확인해야 합니다.

iLO NMI를 받으면 hpwdt는 crash dump를 수집할 수 있도록 panic을 시작합니다. 사용자는 kdump가 올바르게 구성되었는지 책임져야 합니다.

기본 Linux panic 동작은 kernel tombstone을 출력하고 무한 대기하는데, 일반적인 watchdog 사용자가 원하는 동작은 아닙니다. kdump 문서와 `panic=` 커널 매개변수, 배포판 문서를 함께 확인합니다.

iLO NMI 제약
항목동작
유효 pretimeout9초 또는 비활성 0
다른 값반올림될 수 있으므로 다시 읽어 확인
NMI 수신panic 시작
필수 사용자 설정kdump와 panic 정책

pretimeout과 crash dump 준비 사항입니다.

       More information about watchdog drivers in general, including the ioctl
       interface to /dev/watchdog can be found in
       Documentation/watchdog/watchdog-api.rst and Documentation/driver-api/ipmi.rst

 Due to limitations in the iLO hardware, the NMI pretimeout if enabled,
 can only be set to 9 seconds.  Attempts to set pretimeout to other
 non-zero values will be rounded, possibly to zero.  Users should verify
 the pretimeout value after attempting to set pretimeout or timeout.

 Upon receipt of an NMI from the iLO, the hpwdt driver will initiate a
 panic. This is to allow for a crash dump to be collected.  It is incumbent
 upon the user to have properly configured the system for kdump.

 The default Linux kernel behavior upon panic is to print a kernel tombstone
 and loop forever.  This is generally not what a watchdog user wants.

 For those wishing to learn more please see:
        - Documentation/admin-guide/kdump/kdump.rst
        - Documentation/admin-guide/kernel-parameters.txt (panic=)

NMI 누락 시 reset과 저작권

68-77

만료 타이머와 연관된 NMI를 hpwdt가 받지 못하더라도 타이머가 갱신되지 않으면 iLO는 최종 timeout 때 시스템 reset을 계속 진행합니다.

HPE iLO NMI Watchdog 드라이버와 이 문서는 원래 Tom Mingarelli가 개발했습니다.

        - Your Linux Distribution specific documentation.

 If the hpwdt does not receive the NMI associated with an expiring timer,
 the iLO will proceed to reset the system at timeout if the timer hasn't
 been updated.

--

 The HPE iLO NMI Watchdog Driver and documentation were originally developed
 by Tom Mingarelli.