리눅스

HP DL360p Gen8 서버 오래된 BIOS 펌웨어 버그로 인한 시스템 재부팅 현상

변군이글루 2025. 11. 6. 17:48
반응형

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
반응형