소개
이 문서에서는 VIC 1400이 설치된 C Series 서버에서 Windows Server 2019용 VMQ를 구성하고 문제를 해결하는 방법에 대해 설명합니다.
사전 요구 사항
요구 사항
이 문서에 대한 특정 요건이 없습니다.
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
- UCS C220M6
- VIC 1467
- CIMC 4.2(2a)
- Windows Server 2019
- 5.11.14.1 NENIC 드라이버
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
구성
CIMC
CIMC(Cisco Integrated Management Controller)에서 Networking(네트워킹) > Adapter Card MLOM(어댑터 카드 MLOM) (1) > vNICs(2)(vNIC(vNIC))로 이동한 다음 구성할 가상 네트워크 인터페이스 카드(vNIC)(3)를 선택합니다.
CIMC를 사용하여 vNIC 찾기
여기서 VMQ 사용 확인란이 선택되었는지 확인합니다(4).
vNIC에서 VMQ 활성화
다음은 대기열 구조 정의입니다. 대기열 구조는 CIMC 관점에서 이더넷 인터럽트, 이더넷 수신 대기열(Rx 대기열), 이더넷 전송 대기열(Tx 대기열) 및 완료 대기열(CQ)의 4가지 주요 구성 요소로 구성됩니다.
이 백서는 VIC 1400 시리즈의 대기열 구조를 계산하는 방법을 간략하게 설명합니다. 이러한 계산이 어떻게 이루어지는지 더 잘 이해하기 위해 이 글을 읽는 것이 좋습니다.
이더넷 패브릭의 Cisco UCS VIC 1400 Series 모범 사례 백서
그러나 매개 변수는 가장 중요한 테이크오프입니다.
● TX 대기열 = 하위 vNIC 또는 vPort
● RX 대기열 = 8 * (Tx 대기열)
● CQ = TX + RX
● 인터럽트 = 최대 (RX 큐 또는 최소 2xCPU+ 4)
계산되지 않은 값이 하나 있으며 계산을 실행하기 전에 결정되어야 합니다. 하위 vNIC 또는 vPorts입니다. 이 실습에서는 4vPort에 해당하는 4개의 가상 머신이 사용됩니다. 따라서
● TX 대기열 = 4
● RX 대기열 = 8 * (4) = 32
● CQ = 4 + 32 = 36
● Interrupt = Max of (32 또는 최소 2x2+ 4 = 8
(32는 8보다 크므로 사용됨)
계산에서 대기열 매개 변수를 얻은 후에는 vNIC 페이지에서 아래로 스크롤하여 Ethernet Interrupt (1) 필드에 Interrupt(인터럽트) 값을 입력하고, Ethernet Receive Queue (2) 필드, Ethernet Transmit Queue (3) 및 Completion Queue (4)에 RX Queue(RX 큐) 값을 입력합니다.
이는 VMQ(가상 머신 다중 대기열) 컨피그레이션에서 가장 중요한 부분입니다. 대기열 구조가 잘못 계산되면 VMQ가 Windows에서 작동하지 않는 것처럼 보입니다.
참고: Windows에서 팀 구성된 NIC로 vSwitch를 사용하는 경우 CIMC에서 모든 vNIC를 동일하게 구성해야 합니다.
창
Windows Server에서 원하는 가상 머신에서 VMQ가 활성화되어 있는지 확인해야 합니다. VMQ는 대부분의 경우 기본적으로 활성화되어 있지만 확인해야 합니다.
VMQ가 활성화되었는지 확인하려면 Windows 키를 누르고 Hyper-V Manager를 검색합니다.
Hyper-V Manager에 있는 경우 왼쪽(1)에서 로컬 호스트를 클릭한 다음 VMQ가 활성화되어 있는지 확인할 가상 머신(2)을 마우스 오른쪽 버튼으로 클릭하고 Settings(설정)(3)를 클릭합니다.
설정에서 네트워크 어댑터 (1)로 이동하여 확장합니다. 확장 후 Hardware Acceleration (2)를 클릭합니다. 마지막으로 Enable Virtual Machine Queue(가상 머신 큐 활성화) 상자가 선택되었는지 확인합니다(3).
여기서 Enable SR-IOV(SR-IOV 활성화)를 선택하지 않았는지 확인해야 합니다(4).
그런 다음 사용 중인 가상 스위치에서 Microsoft Windows 플랫폼 필터링이 비활성화되어 있는지 확인합니다. 이렇게 하려면 Hyper-V Manager로 이동하고 Virtual Switch Manager (1)을 클릭합니다.
여기서 사용 중인 스위치(1)를 확장하고 Extensions (2)(확장(2))를 클릭합니다. 그런 다음 Microsoft Windows 플랫폼 필터링(3)의 선택을 취소합니다.
Microsoft Windows 필터링 플랫폼 사용 안 함
참고: Windows에서 팀 구성된 NIC로 vSwitch를 사용하는 경우 CIMC에서 모든 vNIC를 동일하게 구성해야 합니다.
또한 VMQ를 활성화할 각 인터페이스에 대해 RSS(Receive Side Scaling)가 활성화되어 있는지 확인합니다. 이렇게 하려면 Windows 키를 누르고 장치 관리자를 검색합니다.
디바이스 관리자에서 네트워크 어댑터(1)를 찾은 다음 VMQ를 활성화할 인터페이스의 속성(2)을 선택합니다.
고급(1)으로 이동한 다음 아래로 스크롤하여 Receive Side Scaling(수신 측 확장)(2)을 찾고 Enabled(3)(활성화됨)를 확인합니다.
다음을 확인합니다.
CIMC
CIMC 관점에서 수행할 수 있는 검증은 없습니다.
창
VMQ가 활성 상태인지 확인하는 첫 번째 위치는 Hyper-V 관리자 내의 Windows입니다.
Hyper-V Manage를 열고 확인할 가상 머신을 클릭합니다. 그런 다음 아래쪽으로 Networking (1)(네트워킹(1))을 클릭합니다. Status(상태) (2) 아래에서 OK(VMQ Active)를 확인할 수 있습니다.
Windows에서 VMQ가 활성 상태인지 확인합니다.
OK(확인)만 표시되고 OK(확인)는 표시되지 않는 경우(VMQ 활성), VMQ가 성공적으로 구성되지 않았으며 VMQ가 작동하지 않습니다.
VMQ가 활성 상태인지 확인할 다음 위치는 Powershell에 있습니다. Windows 키를 누르고 Powershell을 검색한 다음 다음 명령을 실행합니다.
Get-NetAdapterVmqQueue
Get-vm | get-vmnetworkadapter | vmname, vmqusage 선택
Powershell을 통해 VMQ가 활성 상태인지 확인
결과물에는 두 가지 사항을 살펴볼 필요가 있다. 먼저 QueueID(1)에 여러 대기열이 사용되고 있는지 확인합니다. 대기열 ID가 1과 2로 표시되면 VMQ가 작동 중임을 의미합니다.
둘째, VmqUsage (2)가 0보다 큰지 확인합니다. 값이 0보다 크면 VMQ가 사용 중임을 의미합니다.
문제 해결
창
먼저 CIMC에서 Windows Server에 VMQ를 제공하는지 확인합니다. Windows 키를 누르고 Powershell을 검색한 다음 다음 이 명령을 입력합니다.
Get-NetAdapterVmq
그런 다음 Enabled(활성화됨) 열을 확인합니다. VMQ가 비활성화된 것으로 표시되면 하드웨어 레벨에서 VMQ가 활성화되지 않은 것입니다. CIMC에서 vNIC 컨피그레이션으로 이동하고 VMQ가 활성화되었는지 확인합니다.
VMQ가 enabled(활성화됨)로 표시되지만 Hyper-V Manager의 Networking(네트워킹) 탭에 Status(상태)가 OK(확인)로 표시되는 경우, VMQ 큐 매개변수가 잘못 구성되었을 수 있습니다. 계산을 다시 수행하고 매개변수를 업데이트합니다.
Windows에서 VMQ가 활성 상태가 아님
다음은 잘못된 VMQ 큐 컨피그레이션의 예입니다. (여전히 4개의 VM 기반):
이 컨피그레이션의 문제는 다음과 같습니다.
● TX 대기열 = 4 올바른 번호로 시작
● RX 대기열 = 8 * (4) != 4 계산 오류
● CQ = 4 + 4 = 8 수학이 체크 아웃되는 동안 가비지 인/가비지 아웃됩니다. 잘못된 RX 큐 계산으로 인해 CQ 값이 잘못되었습니다.
● Interrupt = (RX 큐 또는 최소 2xCPU+ 4)의 최대값 입력 값 16이 RX 큐 또는 (2x2cpu +4)와 같지 않습니다.
이 문제를 해결하려면 RX Queue 계산을 32로 수정해야 합니다. 그러면 올바른 CQ 및 인터럽트 수를 계산할 수 있습니다.
결론
VMQ를 제대로 구성하는 것은 번거롭고 번거로울 수 있습니다. VMQ 대기열 구조가 CIMC에 올바르게 구성되어 있는지 확인해야 합니다.