본문 바로가기

리눅스

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

반응형

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