반응형
HP DL360p Gen8 서버 오래된 BIOS 펌웨어 버그로 인한 시스템 재부팅 현상
테스트 환경
하드웨어 정보
dmidecode -t system | egrep "Manufacturer|Product Name"
Manufacturer: HP
Product Name: ProLiant DL360p Gen8
BIOS 펌웨어 정보
dmidecode -t bios | egrep "Vendor|Version|Release Date|Address|ROM Size"
Vendor: HP
Version: P71
Release Date: 08/02/2014
Address: 0xF0000
ROM Size: 8192 kB
CPU 정보
cat /proc/cpuinfo | egrep "model name" | uniq
model name : Intel(R) Xeon(R) CPU E5-2609 0 @ 2.40GHz
운영체제 정보
cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
로그
sudo journalctl -kb -p err
-- Logs begin at Thu 2025-11-06 16:22:58 KST, end at Thu 2025-11-06 17:11:55 KST. --
Nov 06 16:22:58 webserv-01 kernel: [Firmware Bug]: the BIOS has corrupted hw-PMU resources (MSR 38d is 330)
sudo dmesg -T | egrep -i "NMI|lockup|MSR|BUG"
로그 주요 내용
BIOS 관련 경고
ACPI BIOS Warning (bug): Invalid length for FADT/Pm1aControlBlock: 32, using default 16 (20130517/tbfadt-672)
ACPI BIOS Warning (bug): Invalid length for FADT/Pm2ControlBlock: 32, using default 8 (20130517/tbfadt-672)
ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])
[Firmware Bug]: the BIOS has corrupted hw-PMU resources (MSR 38d is 330)
- BIOS에서 ACPI 테이블 및 PMU(Performance Monitoring Unit) 초기화가 잘못되어 커널이 이를 “Firmware Bug”로 인식
- CPU 성능 카운터 레지스터가 손상된 상태로 전달되고 있음
NMI 및 Watchdog 관련
NMI watchdog: enabled on all CPUs, permanently consumes one hw-PMU counter.
hpwdt 0000:01:00.0: HPE Watchdog Timer Driver: NMI decoding initialized
- HP ProLiant 서버의 하드웨어 Watchdog(NMI 기반) 기능이 활성화되어 있음
- BIOS의 PMU 설정 오류로 NMI 인터럽트가 비정상적으로 발생할 경우
- Watchdog이 “하드웨어 응답 없음”으로 오인 → 시스템 강제 재부팅
HP DL360p Gen8의 오래된 BIOS(P71, 2014.08.02)가 PMU(Performance Monitoring Unit)를 망가뜨려 서버를 재부팅시키는 중입니다.
HP 공식 기술 문서 및 Red Hat Bugzilla에서도 동일 현상 보고됨
→ BIOS 업데이트로 일부 완화, 완전 해결은 IvyBridge 이상 하드웨어 교체
728x90
HP 공식 문서 기준
HP ProLiant DL360p Gen8의 BIOS(정식 명칭: System ROM) 릴리즈 이력 중 일부는 다음과 같습니다.
| 버전 | 릴리즈 날짜 | 주요 수정 사항 |
| P71 08/02/2014 | 현재 사용자 버전 | 구형 Haswell/Westmere 마이크로코드, PMU 버그 존재 |
| P70 2015.07.21 | (다운그레이드 버전, 패치 일부 포함) | 초기 PMU 관련 수정 시작 |
| P70 2018.05.21 / 2019.02.01 | 권장 최신 | Intel Xeon E5 v2 마이크로코드 업데이트, PMU/MSR 관련 펌웨어 버그 수정, 안정성 개선 |
최신 BIOS는 HPE Support Portal → DL360p Gen8 → Drivers & Software → BIOS (System ROM)에서 다운로드 가능합니다.
파일명 예시: System ROMPaq Firmware Upgrade for ProLiant DL360p Gen8 (BIOS – P70 v2019.02.01)
해결 방법
BIOS 및 iLO 펌웨어 업데이트
임시 해결: 커널 파라미터 추가(즉시 적용 가능)
BIOS 업데이트 전, 커널이 PMU를 접근하지 않도록 차단해 리부팅을 예방할 수 있습니다.
1. grub 편집
GRUB_CMDLINE_LINUX 항목에 다음을 추가합니다.
vim /etc/default/grub
GRUB_CMDLINE_LINUX="disable_pmu=1"
grub 재생성 및 재부팅
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot
- disable_pmu=1 설정 시 커널이 PMU 접근을 완전히 중단 → NMI watchdog과 충돌하지 않음
- 단, perf, oprofile 등 성능 분석 도구는 사용 불가
2. 추가 안정화: Watchdog 비활성화(선택 사항)
임시로 hpwdt 모듈을 비활성화해 NMI 리셋을 방지할 수도 있습니다.
echo "blacklist hpwdt" > /etc/modprobe.d/blacklist-hpwdt.conf
reboot
BIOS에서 “Watchdog Timer”를 끌 수도 있음.
단, 이 기능을 끄면 하드웨어 장애 시 자동복구 기능은 제한됨.
참고URL
- HPE 고객 지원 센터 : Online ROM Flash Component for Windows x64 - HP ProLiant DL380p Gen8 (P70) Servers
sudo dmesg -T | egrep -i "NMI|잠금|MSR|버그"
728x90
반응형
'리눅스' 카테고리의 다른 글
| HPE DL360 Gen9 서버에서 Smart Array Controller에 진입하여 RAID 설정하는 방법 (0) | 2025.11.06 |
|---|---|
| 우분투 24.04에서 APT 저장소 변경 및 패키지 설치/삭제 방법 (0) | 2025.11.04 |
| 우분투 24.04에서 Redis 클러스터를 구성하고 HAProxy + Keepalived로 고가용성을 확보하는 방법 (0) | 2025.11.04 |
| MySQL에서 Binary Log를 설정하는 방법 (0) | 2025.11.04 |
| Nginx HTTP 보안 헤더 설정 (0) | 2025.10.31 |