Microsoft TechDayshttp://www.techdays.ru
Особенности и улучшения работы сети в гипервизоре Windows Server 2008 R2Панов НикитаТехнический инженер MicrosoftMCP [email protected]
Microsoft TechDayshttp://www.techdays.ru
О чём будем говорить?
Обзор пути ввода/вывода данных в сети гипервизора«Бутылочное горлышко» в производительностиVirtual Machine QueueОтказоустойчивость сети в Hyper-VNIC Teaming + FailoverДемонстрация NIC Teaming
Microsoft TechDayshttp://www.techdays.ru
Hyper-V Network I/O Data Path
Parent Partition VM1 VM2
Ethernet
VM BUS
TCP/IP TCP/IP
VM NIC 1
VM NIC 2
Virtual Machine Switch
NIC
MiniportDriver
RoutingVLAN Filtering
Data Copy Port 1Port 2
Microsoft TechDayshttp://www.techdays.ru
Причины низкой производительности
На принимающей сторонеПарсинг входящих пакетов и их группировка
на основе MAC-адреса отправителя
Просмотр MAC-адресов и фильтрация VLAN ID
Копирование данных из адресного
пространства родительской партиции в
дочерние
Нет масштабирования на несколько
процессоров
Перегрузка виртуального свича
Microsoft TechDayshttp://www.techdays.ru
Virtual Machine QueuesКлассифицирование входящих пакетов
Парсинг пакетов на уровне «железа» (DMA)Назначение ID для очереди (Queue ID)
Группировка принятых пакетовПакеты группируются по VM NIC
VLAN фильтрация на уровне «железа»Пакеты с неправильным VLAN ID сбрасываются на уровне NIC
Поддержка нескольких процессоровКаждая очередь обрабатывается своим процессором
Shared Memory (опционально)Копирование данных из Parent Partition непосредственно в память
Microsoft TechDayshttp://www.techdays.ru
Так работает VMQ
Parent Partition VM1 VM2
Ethernet
VM BUS
TCP/IP TCP/IP
VM NIC 1
VM NIC 2
Virtual Machine Switch
MiniportDriver
Q1 DefaultQueueQ2
RoutingVLAN filtering
Data Copy Port 1Port 2
NIC
Microsoft TechDayshttp://www.techdays.ru
Преимущества VMQ
VMQ увеличивает пропускную способность сети
Распределяет обработку сетевого трафика нескольких ВМ между несколькими процессорами
VMQ снижает нагрузку на CPUКлассификация пакетов выполняется на уровне «железа»Использование Shared Memory (non-Nahalem)Нет необходимости вычислять маршрут (у каждого пакета есть ID)
VMQ поддерживает Enhanced Task OffloadsПоддержка Live Migration
Microsoft TechDayshttp://www.techdays.ru
Эффективность VMQ + Shared Memory
1 2 3 4 5 6 7 80
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
No VMQVMQCPU No VMQCPU VMQ
Количество ВМ
Пр
оп
уск
на
я с
по
со
бн
ость в
Mb
ps
Сн
иж
ен
ие
на
грузк
и н
а C
PU
Microsoft TechDayshttp://www.techdays.ru
Управление VMQ
Ключи Значения Действие
*VMQ Enabled/disabled (enabled by default)
Controls whether the NIC advertises VMQ capability
*VMQLookaheadSplit
Enabled/disabled (enabled by default)
Controls whether the NIC advertises Lookahead Split capability
*VMQVlanFiltering Enabled/disabled (enabled by default)
Controls whether the NIC advertises the ability to support VLAN filtering
High-Speed Networking deployment guide можете скачать отсюда: http://download.microsoft.com/download/8/E/D/8EDE21BC-0E3B-4E14-AAEA-9E2B03917A09/HSN_Deployment_Guide.doc
Microsoft TechDayshttp://www.techdays.ru
Ошибка в 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
ПРАВИЛЬНО
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VMSMP\Parameters\BelowTenGigVmqEnabled /t REG_DWORD /d 1 /fReg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VMSMP\Parameters\TenGigVmqEnabled /t REG_DWORD /d 1 /f
НЕПРАВИЛЬНО
Microsoft TechDayshttp://www.techdays.ru
Поддержка Jumbo frames
Поддержка Jumbo Фреймов
Ethernet фреймы >1,500 байт
Стандарт приблизительно ~9k
Позволяет передавать в 6 раз больше данных в каждом пакете
Microsoft TechDayshttp://www.techdays.ru
Балансировка нагрузки и отказоустойчивость в Hyper-V
Наиболее востребованная функцияНе все решения по балансировке и отказоустойчивости работают в Hyper-V
MAC-адрес больше не используется в виртуальном свиче
Первое обращение – к вендору!Microsoft официально НЕ поддерживает NIC TeamingNIC Teaming реализуется производителем «железа»
Microsoft TechDayshttp://www.techdays.ru
NIC TeamingТехнология имеет несколько названий:
Ethernet bondingEtherChannelNIC bondingNetwork Fault ToleranceTrunking и т.д.
Но официальное название – IEEE 802.1AX-2008
Или просто Link AggregationРеализуется производителями оборудования на уровне специального ПО (драйвера)
IntelHPBroadcom и т.д.
Microsoft TechDayshttp://www.techdays.ru
NIC Teaming
Суть механизма в объединении нескольких NIC в «связку» (bond)Технология позволяет:
Создавать отказоустойчивые сетевые соединенияУвеличивать пропускную способность сетиСоздавать собственные алгоритмы балансировкиМинусы технологии:Требуется свич/маршрутизатор с поддержкой протокола LACP (Link Aggregation Control Protocol) Поломка свича приведет к потере отказоустойчивости
Microsoft TechDayshttp://www.techdays.ru
NIC Teaming + Hyper-V = Failover
Parent Partition VM1 VM2
VM BUS
TCP/IP TCP/IP
VM NIC 1
VM NIC 2
Virtual Machine Switch
NIC 1
MiniportDriver
RoutingVLAN Filtering
Data Copy Port 1Port 2
NIC 2
MiniportDriver
LBFO Driver
Team NIC
Switch
Microsoft TechDayshttp://www.techdays.ru
NIC Teaming + Failover
Демонстрация
Microsoft TechDayshttp://www.techdays.ru
Инфраструктура
W2K8-R2 Hyper-V на W2K8-R2
ntttcps
ntttcps
mstsc mstsc
x.x.2.5
x.x.1.6
switch
NIC NICIntel ANS
VM Switch
VM1
VM2
x.x
.2.
3x.x
.1.
4
ntttcpr
ntttcpr
Демо:Сервер Hyper-V с 2мя ВМ, запущен ntttcp на приём
Intel 2-port Kawela (ET) сетевой адаптерIntel’s VMLB mode
На сервере W2K8-R2 работают 2 сессии ntttcp на передачу
Подключение к ВМ - терминальное
Microsoft TechDayshttp://www.techdays.ru
Полезные ссылки
Сайт Microsoft MPIO: http://www.microsoft.com/mpioWindows Server High Availability с использованием Microsoft MPIO: http://www.microsoft.com/downloads/details.aspx?FamilyID=cbd27a84-23a1-4e88-b198-6233623582f3&displaylang=en
Microsoft VMQ Deployment Guidehttp://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
Вопросы по докладу:[email protected]