WindowsServer 2012 Hyper-V 와 특정 NIC의 VMQ 이슈
WindowsServer 2012 Hyper-V 와 특정 NIC의 VMQ 이슈
- Version : Windows Server 2012 Hyper-V
[문제발생]
- 서버 장비교체 후 Windows Server 2012 hyper-V 환경에서Guest Server의 외부 통신 저하 및 불안정한 연결 상태
- Guest Server의 CPU 사용량 증가.
- 통신시 latency 증가
[원인]
- 서버의 특정모델에 포함된 NIC카드에서 지원하는 VMQ(VirtualMachine Queue) 문제로 확인(Dell R620에 장착되어 있는 Broadcom NIC BCM5720QP)
- 인터넷 검색결과 여러 커뮤니티에서 해당 이슈 제기
[해결방법]
Hyper-V에서 GuestServer의 NIC설정에서 가상 네트워크 큐 비활성화
(아래 그림은 예시 화면)
[적용후 결과]
- Hyper-V의 외부통신 속도 정상화 및 간헐적 단절 현상 사라짐.
- CPU 사용량 정상 수치 사용
[VMQ(VirtualMachine Queue)?]
VMQ는 VMQ 네트워크를지원하는 하드웨어에 사용가능 하며 호스트 서버의 Windows Server 2008R2 Hyper-V 환경에서사용할 수 있다. (그 이상 버전부터 사용 가능)
VMQ는 호스트 서버에서 GuestServer로 패킷을 라우팅 및 관리하며 외부에서의 불필요한 패킷을 필터링하여 Guest Server의오버헤드를 줄여 준다.
VMQ가 활성화 되면 전용 큐는 큐를 요청한 각 가상 네트워크 어댑터에대한 물리적 네트워크 어댑터를 설정하게 된다. 패킷이 가상 네트워크 어댑터에 도착하면 물리적 네트워크어댑터는 네트워크 어댑터 큐에 배치한다. 패킷이 최대 표시 되 때 큐에 있는 모든 패킷 데이터는 가상네트워크 어댑터에 직접 전달 된다. 가상 전용 큐가 없는 네트워크 어댑터 뿐만 아니라 모든 멀티캐스트및 브로드캐스트 패킷은 디폴트 큐에 있는 가상 네트워크로 전달 된다. 가상 네트워크는 해당 가상 네트워크어댑터에 대해 패킷의 라우팅 처리를 한다.
[Windows Server 2008R2 Hyper-V VMQ]
[참고 자료]
- http://technet.microsoft.com/ko-kr/library/gg162704(v=ws.10).aspx
- http://blog.marcosnogueira.org/2013/04/12/nic-teaming-on-virtual-machines/
- http://www.dell.com/downloads/global/power/ps1q10-20100101-Chaudhary.pdf
2013-04-30 / 강성욱 / http://sqlmvp.kr