가속화된 네트워킹 개요
주의
이 문서는 EOL(수명 종료) 상태인 Linux 배포판인 CentOS를 참조합니다. 이에 따라 사용 및 플랜을 고려하세요. 자세한 내용은 CentOS 수명 종료 지침을 참조하세요.
이 문서에서는 가속화된 네트워킹의 이점, 제약 조건 및 지원되는 구성에 대해 설명합니다. 가속 네트워킹에서는 지원되는 VM(가상 머신) 유형에서 단일 루트 I/O 가상화(SR-IOV)를 활성화하여 네트워킹 성능을 크게 향상시킵니다. 이 고성능 데이터 경로는 호스트를 우회함으로써 가장 까다로운 네트워크 워크로드에 대한 대기 시간, 지터 및 CPU 사용률을 줄입니다.
참고 항목
MANA(Microsoft Azure Network Adapter) 미리 보기에 대한 자세한 내용은 Azure MANA Docs를 참조하세요.
다음 다이어그램은 가속화된 네트워킹을 사용하거나 사용하지 않고 두 VM이 통신하는 방법을 보여 줍니다.
가속화된 네트워킹을 사용하지 않는 경우 VM에서 들어오고 나가는 모든 네트워킹 트래픽이 호스트와 가상 스위치를 통과합니다. 가상 스위치는 네트워크 트래픽에 모든 정책 적용을 제공합니다. 정책에는 네트워크 보안 그룹, 액세스 제어 목록, 격리 및 기타 네트워크 가상화된 서비스가 포함됩니다.
가속화된 네트워킹을 사용하는 경우 VM의 NIC(네트워크 인터페이스)에 도착하는 네트워크 트래픽은 VM으로 직접 전달됩니다. 가상 네트워킹은 가상 스위치가 적용한 모든 네트워크 정책을 오프로드하고 하드웨어에 적용합니다. 하드웨어는 정책을 적용하기 때문에 NIC는 네트워크 트래픽을 VM에 직접 전달할 수 있습니다. NIC는 호스트와 가상 스위치를 바이패스하지만 호스트에 적용된 모든 정책을 유지 관리합니다.
이점
가속화된 네트워킹에는 다음과 같은 이점이 있습니다.
더 짧은 대기 시간과 더 많은 초당 패킷 수 데이터 경로에서 가상 스위치를 제거하면 패킷이 정책 처리를 위해 호스트에서 소비하는 시간이 제거됩니다. 또한 VM이 처리할 수 있는 패킷 수를 늘립니다.
지터 감소. 가상 스위치의 처리 시간은 적용할 정책의 양과 처리를 수행하는 CPU의 워크로드에 따라 달라집니다. 정책 적용을 하드웨어로 오프로드하면 패킷을 VM에 직접 전달하여 이러한 가변성이 제거됩니다. 또한 오프로드는 호스트-VM 통신, 모든 소프트웨어 인터럽트 및 모든 컨텍스트 스위치를 제거합니다.
CPU 사용률 감소. 호스트의 가상 스위치를 우회하면 네트워크 트래픽 처리에 사용되는 CPU가 감소됩니다.
제한 사항 및 제약 조건
가속화된 네트워킹의 이점은 사용하도록 설정된 VM에만 적용됩니다.
최상의 결과를 얻으려면 동일한 Azure 가상 네트워크에 있는 둘 이상의 VM에서 가속화된 네트워킹을 사용하도록 설정합니다. 이 기능은 가상 네트워크를 통해 통신하거나 온-프레미스에 연결할 때 대기 시간에 미치는 영향을 최소화합니다.
실행 중인 VM에서는 가속화된 네트워킹을 사용하도록 설정할 수 없습니다. VM이 중지되고 할당이 취소된 경우에만 지원되는 VM에서 가속화된 네트워킹을 사용하도록 설정할 수 있습니다.
Azure Resource Manager를 통해 가속화된 네트워킹을 사용하여 가상 머신(클래식)을 배포할 수 없습니다.
Azure 플랫폼은 VM에서 Mellanox NIC 드라이버를 업데이트하지 않습니다. Linux 및 FreeBSD를 실행하는 VM의 경우 고객은 배포에서 제공하는 최신 커널 업데이트를 최신 상태로 유지하는 것이 좋습니다. Windows를 실행하는 VM의 경우 나중에 Marketplace 이미지로 배달되거나 사용자 지정 이미지에 적용된 드라이버에 문제가 발생하는 경우 고객은 Nvidia 지원 페이지에서 업데이트된 드라이버를 적용해야 합니다.
지원되는 지역
가속화된 네트워킹은 모든 글로벌 Azure 지역 및 Azure Government 클라우드에서 사용할 수 있습니다.
지원되는 운영 체제
다음 버전의 Windows는 가속화된 네트워킹을 지원합니다.
- Windows Server 2022
- Windows Server 2019 Standard/Datacenter
- Windows Server 2016 Standard/Datacenter
- Windows Server 2012 R2 Standard/Datacenter
- Windows 10 버전 21H2 이상(Windows 10 Enterprise 다중 세션 포함)
- Windows 11(Windows 11 Enterprise 다중 세션 포함)
Azure Marketplace의 다음 Linux 및 FreeBSD 배포판은 즉시 가속화된 네트워킹을 지원합니다.
- linux-azure 커널을 사용하는 Ubuntu 14.04
- Ubuntu 16.04 이상
- SLES12 SP3 이상
- RHEL 7.4 이상
- CentOS 7.4 이상
- CoreOS Linux
- Debian “Stretch”(백포트 커널 포함)
- Debian "Buster" 이상
- Oracle Linux 7.4 이상(RHCK(Red Hat 호환 커널) 포함)
- Oracle Linux 7.5 이상(UEK 버전 5 포함)
- FreeBSD 10.4, 11.1 및 12.0 이상
지원되는 VM 인스턴스
2개 이상의 vCPU가 포함된 대부분의 범용 및 컴퓨팅에 최적화된 VM 인스턴스 크기는 가속화된 네트워킹을 지원합니다. 하이퍼스레딩을 지원하는 인스턴스에서 4개 이상의 vCPU가 포함된 VM 인스턴스는 가속화된 네트워킹을 지원합니다.
VM 크기가 가속화된 네트워킹을 지원하는지 여부를 확인하려면 Azure의 가상 머신 크기를 참조하세요.
Azure CLI az vm list-skus 명령을 사용하여 가속화된 네트워킹을 지원하는 VM SKU 목록을 직접 쿼리할 수 있습니다.
az vm list-skus \
--location westus \
--all true \
--resource-type virtualMachines \
--query '[].{size:size, name:name, acceleratedNetworkingEnabled: capabilities[?name==`AcceleratedNetworkingEnabled`].value | [0]}' \
--output table
참고 항목
명령 출력에 NC 및 NV 크기가 표시되지만 해당 크기는 가속화된 네트워킹을 지원하지 않습니다. NC 또는 NV VM에서 가속화된 네트워킹을 사용하도록 설정해도 아무런 효과가 없습니다.
사용자 지정 VM 이미지
가속화된 네트워킹을 지원하는 사용자 지정 이미지를 사용하는 경우 다음 요구 사항을 충족해야 합니다.
디바이스 및 드라이버 지원
가속 네트워킹을 지원하는 모든 사용자 지정 이미지에는 Azure 플랫폼에서 사용되는 NIC(네트워크 인터페이스 카드)에 대해 단일 루트 I/O 가상화를 사용하도록 설정하는 드라이버가 포함되어야 합니다. 이 하드웨어 목록에는 NVIDIA ConnectX-3, ConnectX-4 Lx, ConnectX-5 및 MANA(Microsoft Azure 네트워크 어댑터)가 포함됩니다.
가상 함수의 동적 바인딩 및 해지
가속화된 네트워킹을 사용하려면 게스트 OS 이미지가 제거되거나 동적으로 추가되는 가상 함수를 제대로 처리해야 합니다. 호스트 유지 관리 또는 실시간 마이그레이션과 같은 시나리오는 유지 관리 이벤트 후에 가상 함수를 동적으로 해지하고 복원합니다. 또한 애플리케이션은 이러한 이벤트 중에 네트워크 연결을 유지하기 위해 가상 함수가 아닌 가상 디바이스에 바인딩되도록 해야 합니다.
애플리케이션 바인딩 요구 사항에 대한 자세한 내용은 Linux 및 FreeBSD VM에서 가속화된 네트워킹의 작동 방식을 참조하세요.
드라이버를 관리되지 않음으로 구성
가속화된 네트워킹에는 NVIDIA 드라이버를 관리되지 않는 디바이스로 표시하는 네트워크 구성이 필요합니다. cloud-init 버전 19.4 이상이 있는 이미지에는 프로비전 중에 가속화된 네트워킹을 지원하도록 네트워킹이 올바르게 구성되어 있습니다. 사용자 지정 이미지에서는 경쟁 네트워크 인터페이스 소프트웨어(예: ifupdown 및 networkd)를 실행하지 않고 여러 인터페이스에서 dhcpclient를 직접 실행하지 않는 것이 좋습니다.
다음 예제에서는 RHEL 또는 CentOS의 NetworkManager
에 대한 샘플 구성 드롭인을 보여줍니다.
sudo mkdir -p /etc/NetworkManager/conf.d
sudo cat > /etc/NetworkManager/conf.d/99-azure-unmanaged-devices.conf <<EOF
# Ignore SR-IOV interface on Azure, since it's transparently bonded
# to the synthetic interface
[keyfile]
unmanaged-devices=driver:mlx4_core;driver:mlx5_core
EOF
네트워크 트래픽은 가속화된 네트워킹 데이터 경로를 사용합니다.
NVIDIA 드라이버의 경우: 패킷이 VF 인터페이스를 통해 흐르는지 확인합니다.
MANA 드라이버의 경우: 트래픽이 MANA를 통해 흐르는지 확인합니다.