본문 바로가기

Virtualization/VMware vSphere

[VMware] NIC is missing in ESXi 5.5 or 6.7 with elxnet driver 10.0.725.2 and later.

사용 버전

vSphere 5.5 to 6.7 Upgrade (elxnet 드라이버 사용 환경)

 

 

 

Error Message

vmkernel.log

elxnet: elxnet_uplinkCapEnable:2718: [vmnic6] vmk_UplinkCap: 0x1

elxnet: elxnet_uplinkCapEnable:2718: [vmnic6] vmk_UplinkCap: 0x4

elxnet: elxnet_uplinkCapEnable:2718: [vmnic6] vmk_UplinkCap: 0x9

elxnet: elxnet_uplinkCapEnable:2718: [vmnic6] vmk_UplinkCap: 0x8

. . 

elxnet: elxnet_mccComplProcess:1153: [vmnic6] Mailbox/MCC command opcode 8-3 failed:status 1-22

elxnet: elxnet_rxQueuesCreate:3326: [vmnic6] elxnet_cmdRxqCreateUseMcc failed for rx 2

elxnet: elxnet_uplinkStartIO:3257: [vmnic6] elxnet driver: Failed to create Rx queues

 

 

 

상세 내용

ESXi5.5 to 6.7 업그레이드 후, 기존 네트워크 어댑터 중 vmnic6만 인식되지 않음. (vmnic0 ~ 8 NIC 모델 모두 동일)

NIC 펌웨어 최신, 드라이버는 elxnet 12.0.1115.0 사용 중. 호환도 맞고, 블레이드 구성도 특이사항 없음.

 

해당 이슈는 elxnet 10.0.575.7 to 10.0.725.2 이상 버전으로 업그레이드 시 발생할 수 있다고 한다.

드라이버를 업그레이드해도 BE2가 있는 Multi-Channel 구성으로 회귀되어 Rx 대기열을 8개만 요청하고

이에 NIC가 8개 이상이면 누락되는 현상.

 

VMware 커뮤니티에 이슈 내용, 환경, 로그가 판박이마냥 똑같은 글이 있었다 ㅠㅠ

 

 

 

해결책

찾아보니 Multi-Channel은 드라이버 제조사 내부 기능으로 보이는데,

특정 어댑터에 대해 유효한 Rx 대기열을 반환하고 주로 하위 버전(~ ESXi 5.X)에 대한 기술 문서만 부분부분 남아있다.

 

elxnet 10.2.241.0 이상 버전에서 해결되었다고 하지만, 패치해도 되지 않을 경우

NIC 8개를 검색할 수 있는 NetQueue/MSIX 기능을 비활성화하여 해결 가능하다고 한다.

 

 

> elxnet NetQueue/MSIX 기능 비활성화

~#esxcfg-module -s "msix=0" elxnet

* 드라이버 버전 변경(패치) 시에는 원복 후 진행 필요

 

> elxnet NetQueue/MSIX 기능 활성화

~#esxcfg-module -s "" elxnet

 

> 적용된 elxent 모듈 옵션 확인

~#esxcfg-module -g elxnet

 

 

 

해당 이슈는 직장 동료가 겪었던 내용인데,

NetQueue/MSIX 기능을 비활성화하니 vmnic6은 말끔히 인식됐지만.. ESXi Overwrite로 재설치하는게 더 나을수도 있을 것 같다. ㅎ

 

 

VMware KB : kb.vmware.com/s/article/2076072

VMware Community : communities.vmware.com/t5/VMware-vSphere-Discussions/Esxi-6-7-on-HP-c7000-blade-center/m-p/2249679