200 likes | 399 Views
Особенности и улучшения работы сети в гипервизоре Windows Server 2008 R2. Панов Никита Технический инженер Microsoft MCP Leader v-nipano@microsoft.com. О чём будем говорить?. Обзор пути ввода/вывода данных в сети гипервизора «Бутылочное горлышко» в производительности
E N D
Особенности и улучшения работы сети в гипервизоре Windows Server 2008 R2 Панов Никита Технический инженер Microsoft MCP Leader v-nipano@microsoft.com
О чём будем говорить? • Обзор пути ввода/вывода данных в сети гипервизора • «Бутылочное горлышко» в производительности • Virtual Machine Queue • Отказоустойчивостьсети в Hyper-V • NIC Teaming + Failover • Демонстрация NIC Teaming
Hyper-V Network I/O Data Path Parent Partition VM1 VM2 • Virtual Machine Switch Ethernet Routing VLAN Filtering Data Copy TCP/IP TCP/IP Port 2 Port 1 VM NIC 1 VM NIC 2 Miniport Driver NIC VM BUS
Причины низкой производительности • На принимающей стороне • Парсинг входящих пакетов и их группировка на основе MAC-адреса отправителя • Просмотр MAC-адресов и фильтрация VLAN ID • Копирование данных из адресного пространства родительской партиции в дочерние • Нет масштабирования на несколько процессоров • Перегрузка виртуального свича
Virtual Machine Queues • Классифицирование входящих пакетов • Парсинг пакетов на уровне «железа» (DMA) • Назначение ID для очереди (Queue ID) • Группировка принятых пакетов • Пакеты группируются по VM NIC • VLAN фильтрация на уровне «железа» • Пакеты с неправильным VLAN ID сбрасываются на уровне NIC • Поддержка нескольких процессоров • Каждая очередь обрабатывается своим процессором • Shared Memory (опционально) • Копирование данных из Parent Partition непосредственно в память
Так работает VMQ Parent Partition VM1 VM2 Virtual Machine Switch Ethernet TCP/IP TCP/IP Routing VLAN filtering Data Copy Port 2 Port 1 VM NIC 1 VM NIC 2 Miniport Driver Q1 Q2 Default Queue VM BUS NIC
Преимущества VMQ • VMQ увеличивает пропускную способность сети • Распределяет обработку сетевого трафика нескольких ВМ между несколькими процессорами • VMQ снижает нагрузку на CPU • Классификация пакетов выполняется на уровне «железа» • Использование Shared Memory (non-Nahalem) • Нет необходимости вычислять маршрут (у каждого пакета есть ID) • VMQ поддерживает Enhanced Task Offloads • Поддержка Live Migration
Управление VMQ High-Speed Networking deployment guide можете скачать отсюда: http://download.microsoft.com/download/8/E/D/8EDE21BC-0E3B-4E14-AAEA-9E2B03917A09/HSN_Deployment_Guide.doc
Ошибка в Deployment Guide ПРАВИЛЬНО • reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VMSMP\Parameters /v BelowTenGigVmqEnabled /t REG_DWORD /d 1 /f • reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VMSMP\Parameters /v TenGigVmqEnabled /t REG_DWORD /d 1 /f НЕПРАВИЛЬНО regadd HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VMSMP\Parameters\BelowTenGigVmqEnabled/t REG_DWORD /d 1 /f Reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VMSMP\Parameters\TenGigVmqEnabled/t REG_DWORD /d 1 /f
Поддержка Jumbo frames • Поддержка Jumbo Фреймов • Ethernet фреймы >1,500 байт • Стандарт приблизительно ~9k • Позволяет передавать в 6 раз больше данных в каждом пакете
Балансировка нагрузки и отказоустойчивость в Hyper-V • Наиболее востребованная функция • Не все решения по балансировке и отказоустойчивости работают в Hyper-V • MAC-адрес больше не используется в виртуальном свиче • Первое обращение – к вендору! • Microsoft официально НЕ поддерживает NIC Teaming • NIC Teaming реализуется производителем «железа»
NIC Teaming • Технология имеет несколько названий: • Ethernet bonding • EtherChannel • NIC bonding • Network Fault Tolerance • Trunkingи т.д. • Но официальное название – IEEE 802.1AX-2008 • Или просто Link Aggregation • Реализуется производителями оборудованияна уровне специального ПО (драйвера) • Intel • HP • Broadcom и т.д.
NIC Teaming • Суть механизма в объединении нескольких NIC в «связку» (bond) • Технология позволяет: • Создавать отказоустойчивые сетевые соединения • Увеличивать пропускную способность сети • Создавать собственные алгоритмы балансировки • Минусы технологии: • Требуется свич/маршрутизатор с поддержкой протокола LACP (Link Aggregation Control Protocol) • Поломка свича приведет к потере отказоустойчивости
NIC Teaming + Hyper-V = Failover Parent Partition VM1 VM2 • Virtual Machine Switch Routing VLAN Filtering Data Copy TCP/IP TCP/IP Port 2 Port 1 LBFO Driver Team NIC VM NIC 1 VM NIC 2 Miniport Driver Miniport Driver NIC 1 NIC 2 VM BUS Switch
NIC Teaming + Failover Демонстрация
Инфраструктура • Демо: • Сервер Hyper-V с 2мяВМ, запущенntttcpна приём • Intel 2-port Kawela (ET) сетевой адаптер • Intel’s VMLB mode • На сервере W2K8-R2 работают 2 сессииntttcpна передачу • Подключение к ВМ - терминальное W2K8-R2 Hyper-V на W2K8-R2 VM1 x.x.2.3 ntttcpr mstsc mstsc VM2 ntttcps VM Switch ntttcps x.x.1.4 ntttcpr Intel ANS switch NIC NIC x.x.2.5 x.x.1.6
Полезные ссылки • Сайт Microsoft MPIO: http://www.microsoft.com/mpio • Windows Server High Availability с использованиемMicrosoft MPIO: http://www.microsoft.com/downloads/details.aspx?FamilyID=cbd27a84-23a1-4e88-b198-6233623582f3&displaylang=en • Microsoft VMQ Deployment Guide • http://download.microsoft.com/download/8/E/D/8EDE21BC-0E3B-4E14-AAEA-9E2B03917A09/HSN_Deployment_Guide.doc • Как пользоваться NT Testing TCP Tool (NTttcp): • http://www.microsoft.com/whdc/device/network/TCP_tool.mspx • Вопросы по докладу: • V-nipano@microsoft.com