320x100

안녕하세요.

오늘은 IBM Power8 이상의 장비에 연결된 I/O 확장드로어(EMX0) 를 사용하는 환경에서

발생할 수 있는 EEH 에러에 대한 조치방법에 대해서 알아보겠습니다.

 

장애내용

 PCIe Gen3 I/O 확장 드로어 기능이 있는 클라이언트 EMX0과 PCIe 6슬롯 팬아웃 모듈 기능 EMXF 또는 EMXG는 EEH(향상된 오류 처리) 오류가 발생하거나 설치된 I/O 어댑터에서 다시 로드를 재설정할 수 있습니다.

내부적으로 FPGA(Field Programmable Gate Array) 재설정이 발생했음을 나타내는 정보 시스템 참조 코드(SRC) B7006A8D 또는 B7006A8E가 기록됩니다.

 예를 들어 EMX0#1,#2 NIC 이더채널 구성시, EMX0#1 Active Line 장애가 경우에도 바로 EMX0#2 Standby fail over하지 않고 5분동안 스스로 Error Reset 진행합니다.

 

해결방법

 Power9 장비의 경우에는 FPGA Reset Mode Disable 경우 영구적으로 적용이 되지만, Power8 경우 EMX0 교체하거나, CEC Reboot 경우에는 다시 적용시켜주어야 합니다

적용을 시키기 위해서는 Server Operational or Standby Mode에서만 적용이 됩니다.

 

 FPGA Reset Mode를 Disable 해주는 방법은 3가지가 있습니다.

 

1. HMC Enhanced User Interface 환경일떄

위의 그림과 같이 시스템 선택 후 서비스상태>서비스상태>덤프관리 메뉴로 들어갑니다.

 덤프 관리 창에서 조치>자원덤프 시작 메뉴를 클릭합니다.

 자원 덤프 시작 창에서 자원선택자에 [xmsvc -disableccser] 값을 넣어주고 확인을 누릅니다.

 

2. ASM 환경일때

 위 그림과 같이 ASM화면에서 System Service Aids > Resource Dump 메뉴로 접근 후 [xmsvc -disableccser] 값을 넣어주고 [Initlate resource dump] 를 누릅니다.

 

3. HMC SSH 접속 후 cli 명령어 입력가능 환경

 startdump -m [myserver] -t resource -r "xmsvc -DISABLECCSER"

명령어를 수동으로 입력해 줍니다.

 

EEH에러 관련 AIX OS 파라미터 값

 AIX OS 파라미터인 [pcibus_eeh_perm_timeout ] 값은 EEH (enhanced error handling) error 발생시 빠른 recovery을 할 수 있게 해주는 parameter 입니다.

 PCI adapterIO operation 하는 동안 에러가 발생하면 EEH (Enhanced I/O Error Handling) 라는 error recoverykernel 단에서 수행 됩니다

 AIX에서 pcibus_eeh_perm_timeout에 정의된 시간() 만큼 recovery을 시도 하다 recovery가 되지 않으면 해당 adapterfail로 변경하고 , multipath인 경우 다른 adapter을 통해 IO operation을 수행 합니다.

 pcibus_eeh_perm_timeout 에 정의된 시간 동안 IO hang 또는 delay가 발생 할 수 있으며 이로 인해 Database 또는 Application에 정의된 timeout에 걸리게 되면 server reboot / HA failover등이 발생 할 수 있습니다.

 

 recovery time을 줄임으로써 정상적인 다른 adapterIO가 좀 더 빨리 재개 되며 running되고 있는 DB or Application에 영향을 최소화 할 수 있습니다

 기본 Default 값은 300(5분) 이며, 권고값은 “30” 입니다. 그 이하로 줄이는 것은 시스템 위험도가 증가 될 수 있습니다.

 

 현재의 파라미터 값 확인 및 변경방법은 아래와 같습니다.

# ioo -Fa | grep eeh
       pcibus_eeh_perm_timeout = 300
# ioo -FL | grep eeh
pcibus_eeh_perm_timeout   300    300    300    0      2G-1   seconds           D

# ioo -p -o pcibus_eeh_perm_timeout=30
Modification to restricted tunable pcibus_eeh_perm_timeout, confirmation required yes/no yes
Setting pcibus_eeh_perm_timeout to 30 in nextboot file
Setting pcibus_eeh_perm_timeout to 30
Warning: a restricted tunable has been modified

# ioo -Fa | grep eeh                  
       pcibus_eeh_perm_timeout = 30
# ioo -FL | grep eeh                  
pcibus_eeh_perm_timeout   30     300    30     0      2G-1   seconds           D

 

감사합니다.

반응형

+ Recent posts