Sr iov hyper v что это
Sr iov hyper v что это
Всем привет сегодня расскажу, что такое SR-IOV. Для чего он вам может пригодится, какие дает плюсы и плюшки, да и просто для расширения кругозора.
Виртуализация серверов применяется ныне практически во всех центрах обработки данных. С одной стороны, это способствует снижению расходов, с другой — оптимизации ресурсов в ЦОД. Появившаяся недавно технология виртуализации SR-IOV позволяет повысить эффективность использования физических ресурсов для виртуальных машин.
В своем исследовании «Market Analysis Perspective: Worldwide Enterprise Virtualization Software, 2010 — Server Virtualization» аналитики IDC отметили, что количество виртуализированных серверов растет и, как ожидается, в 2014 году их будет уже более 18,4 млн. Кроме того, по словам участников опроса, им удалось сэкономить около 25% расходов на аппаратное обеспечение и соответствующую инфраструктуру. Ввиду такого колоссального увеличения числа виртуальных сред стремление к оптимизации процессов ввода/вывода на виртуальных серверах привело к появлению новых сетевых технологий, таких как Converged Enhanced Ethernet (CEE), Data Center Bridging (DCB), Fibre Channel over Ethernet (FСoE) и Virtual NIC. Новым стандартом является технология Single Root I/O Virtualization (SR-IOV), разработанная PCI SIG (Special Interest Group).
Гипервизоры виртуальных серверов выделяют виртуалкам ресурсы, имитирующие функции физических серверов, именно поэтому каждая виртуальная машина и получает возможность независимой работы на конкретном сервере. Для процессов ввода/вывода это означает, что такая виртуальная машина использует виртуальное устройство ввода/вывода, предоставляемое гипервизором. Однако этот способ недостаточно эффективен, особенно в отношении входящих запросов ввода/вывода. Для обработки поступившего запроса ввода/ вывода на многоядерных серверах гипервизору необходимо предпринять следующие шаги:
Многоядерные серверы распределяют нагрузку между несколькими ядрами и поэтому могут обрабатывать ресурсоемкие приложения. Кроме того, многоядерные процессоры позволяют повысить степень виртуализации, то есть каждый физический сервер способен поддерживать работу большего количества виртуальных машин, прежде чем окажется перегружен, более высокая утилизация ресурсов..
Внедрение четырех ядерных или восьми ядерных процессоров Intel и AMD, начавшееся в 2009 году, только укрепляет эту тенденцию. В наши дни в связи с появлением нового поколения серверов, которые могут иметь до 8 ядер и поддерживать до 16 одновременных потоков, следует ожидать ее дальнейшего развития. Вместе с увеличением количества ядер возрастает и объем памяти серверов — еще один решающий аргумент в пользу виртуализации. Помимо ядер и ресурсов памяти, существует еще и третий компонент, позволяющий повысить эффективность операций ввода/вывода, чтобы обеспечить виртуальным машинам достаточную скорость передачи данных по сети. В этом помогут высокопроизводительные порты Ethernet на 10 Гбит/с, эффективная разгрузка протоколов (Offload) для сокращения числа процессорных циклов и внедрение новых технологий, в частности SR-IOV.
Что такое SR-IOV
SR-IOV — является стандартом PCI-SIG, созданный специально для виртуальных серверов. Его спецификация SR-IOV позволяет поделить карту PCI Express на физические и виртуальные карты благодаря использованию концепции физических и виртуальных функций. Если сказать простым языком SR-IOV это, по сути это возможность предоставлять виртуальной машине прямой доступ к железному оборудованию, примером может служить fc контроллер или видеокарта, сетевой адаптер или какие либо специфическое оборудование. Одним словом SR-IOV это очень полезный функционал.
Каждый физический порт на адаптере имеет как минимум одну физическую функцию, при этом любую из них можно разделить на четыре — к примеру, на адаптере с двумя физическими портами можно реализовать восемь физических функций. Преимущество состоит в том, что физические функции полностью настраиваются: они связаны с гипервизором и подлежат администрированию как физические устройства.
Виртуальная функция. Виртуальные функции назначаются виртуальным машинам и ограничиваются управлением трафиком данных (потоки ввода/ вывода). Они не предусматривают возможности администрирования физических устройств. Гипервизор предоставляет виртуальные функции различным виртуальным машинам, благодаря чему они получают устройство ввода/вывода, но при этом виртуальные машины не имеют сведений о физических параметрах адаптеров. Управлением физических устройств занимается гипервизор.
Хотя стандарт SR-IOV ориентирован на процессы ввода/вывода в сетях и устройствах хранения, до сих пор он используется только в сетях. Разработки, нацеленные на повышение производительности виртуальных серверов, фокусируются главным образом на трафике данных, поскольку на него приходится основная доля операций ввода/вывода и отводится наибольшая часть ресурсов сервера. Операции ввода/вывода в памяти порождают меньше накладных расходов (Overhead) и обычно достигают максимальной скорости, поддерживаемой соединением.
Одно из возможных решений для обеспечения более высокой производительности — организация прямого или транзитного (Passthrough) ввода/ вывода путем назначения каждой виртуальной машине единственного физического порта при одновременном обходе гипервизора. Использование этого метода повышает производительность, однако он ограничен количеством физических портов, а кроме того, приводит к появлению сложных и дорогостоящих скоплений портов, портов коммутаторов и кабелей.
К тому же при миграции активной виртуальной машины прямой ввод/ вывод невозможен. Виртуальная машина использует программный драйвер, настроенный на заданное устройство ввода/вывода. При миграции виртуальной машины нет гарантии, что целевой сервер будет оснащен аналогичным устройством ввода/вывода. Таким образом, для выполнения миграции приходится вручную осуществлять отключение, перемещение и перезапуск виртуальной машины, на что требуется много времени и сил.
При использовании технологии SR-IOV виртуальным машинам назначаются виртуальные функции. Благодаря этому реализуется поддержка прямого ввода/вывода нескольких виртуальных машин через единственный порт адаптера, один коммутируемый порт и один кабель. При необходимости виртуальной машине можно назначить несколько виртуальных функций — к примеру, по одной функции каждого физического порта двухпортового адаптера с целью обеспечения высокой доступности.
При получении запросов ядро сервера самостоятельно выполняет все пакетные операции вместе с соответствующими виртуальными функциями, назначенными отдельным виртуальным машинам. При этом не нужно прерывать работу процессорных ядер, обслуживающих другие виртуальные машины. Для обеспечения более высокой производительности запросы ввода/вывода могут переадресовываться между виртуальными функциями на одной и той же физической функции посредством внутреннего коммутатора второго уровня, то есть физический коммутатор не задействуется. Таким образом, технология SR-IOV позволяет осуществлять миграцию активных виртуальных машин без привязки к аппаратному обеспечению хост-сервера и повышает гибкость имеющегося в наличии оборудования ввода/вывода за счет распределения доступной пропускной способности. Кроме того, благодаря использованию внутреннего функционала коммутатора второго уровня повышается эффективность работы оборудования. Я думаю, что эта аббревиатура SR-IOV, теперь приоткрыла для вас свои тайны.
Что нового в Hyper-V
Hyper-V находится в авангарде самых значительных изменений в Windows Server 2012. Новых и улучшенных функций так много, что планирование успешной реализации Hyper-V требует глубокого понимания этих технических изменений.
Многие расширенные функциональные средства поддерживают различные аспекты работы сети. Улучшения также коснулись масштабируемости, безопасности, хранения данных и миграции виртуальных машин (ВМ). В этой первой из двух статей я сосредоточусь на следующих темах: виртуализация ввода-вывода в отдельном физическом устройстве (single root I/O virtualization, SR-IOV), мониторинг сети и качество обслуживания (quality of service, QoS), объединение сетевых карт (NIC teaming), расширяемый виртуальный коммутатор (extensible virtual switch), виртуализация сети (network virtualization) и программное управление сетевой инфраструктурой (software-defined networking, SDN).
SR-IOV
SR-IOV — новая технология, которая, по сути, делает то же, что Intel Virtualization Technology (Intel VT) и AMD Virtualization (AMD-V) делают для виртуализации процессоров. Она повышает производительность, перемещая функциональность из программного обеспечения в специализированные аппаратные средства. SR-IOV имеет особое предназначение и ряд ограничений, которые нужно учитывать при планировании новых кластеров Hyper-V.
Сетевая карта, поддерживающая SR-IOV, вместе с сервером, поддерживающим SR-IOV в BIOS, предоставляет виртуальным машинам виртуальные функции (virtual functions, VF) или виртуальные копии себя. Поскольку технология SR-IOV еще довольно нова, проверяйте ее поддержку в конкретной модели сетевой карты. Некоторые карты предоставляют только четыре или восемь виртуальных функций, в то время как другие могут предлагать до 64. При создании нового внешнего виртуального коммутатора вы можете просто сделать его коммутатором SR-IOV (рис. 1). Впоследствии вы не сможете преобразовать в него обычный виртуальный коммутатор.
Рис. 1. Пока все условия соблюдены, включить SR-IOV можно флажком при создании коммутатора
SR-IOV имеет определенные ограничения. Если вы настраиваете списки управления доступом к порту (access control list, ACL), расширения или политики в виртуальном коммутаторе, SR-IOV отключается, потому что ее трафик полностью обходит коммутатор. Нельзя объединить две сетевые карты SR-IOV в хосте. Однако можно установить в хосте две физические сетевые карты SR-IOV, создать отдельные виртуальные коммутаторы и объединить две виртуальные сетевые карты внутри виртуальной машины.
Динамическая (live) миграция виртуальной машины с сетевыми картами SR-IOV работает (в отличие от vMotion в vSphere 5.1), поскольку каждая сетевая карта SR-IOV «затеняется» обычным сетевым адаптером VMBus. Поэтому, если вы выполняете миграцию виртуальной машины в хост, у которого нет сетевых карт SR-IOV или нет свободных виртуальных функций, трафик просто осуществляется с помощью обычных синтетических соединений.
Пропускная способность не обязательно является ключевым преимуществом SR-IOV в Hyper-V. VM Bus может полностью заполнить 10 Гбитное соединение, но такое количество трафика создает достаточно высокую загрузку процессора, чтобы целиком занять одно ядро. Поэтому, если низкая загрузка процессора является ключевой задачей проектирования, SR-IOV играет ключевую роль. Если задержка является важнейшим аспектом, SR-IOV обеспечивает производительность, сравнимую с физической сетевой картой.
В хосте, где ожидается много входящего трафика ВМ, динамическая очередь ВМ (Dynamic Virtual Machine Queue, dVMQ) распределяет трафик по очередям для каждой ВМ на основе хэшей MAC-адресов. Она также распределяет прерывания между ядрами процессора.
Измерения и мониторинг
Hyper-V теперь поставляется со встроенными средствами учета использования ресурсов ВМ. В первую очередь это пригодится в сценариях хостинга. Также будет полезно в частных облаках для сбора данных по методу show-back или charge-back. Измерительные функции отслеживают усредненное использование процессора и памяти, а также диска и сетевого трафика. Поскольку это доступно только посредством Windows PowerShell, вы можете реализовать более полный сбор данных и визуализацию с помощью System Center 2012 Virtual Machine Manager (VMM) SP1.
Вы также можете добавить ACL порта с передачей функции измерения виртуальному коммутатору и таким образом отделить измерение интернет-трафика (шлюз по умолчанию) от внутреннего трафика центра обработки данных. В тех случаях, когда необходимо перехватывать сетевые пакеты в виртуальной сети, вы можете задать порт мониторинга или зеркалирование порта, что позволит использовать сетевой монитор.
Управление пропускной способностью
Многие кластеры, спроектированные в последние нескольких лет, полагаются на множество 1-гигабитных сетевых карт, каждая из которых предназначена для определенного трафика — динамической миграции, взаимодействия ВМ, синхронизации кластера, управления и, возможно, iSCSI. По мере распространения 10-гигабитных сетевых карт Ethernet большинству серверов будет достаточно лишь нескольких таких сетевых карт.
Новое функциональное средство QoS позволяет задавать как минимальную пропускную способность, которая всегда будет доступна определенной службе, так и максимальную (рис. 2). Это позволяет разделять 10-гигабитное соединение для совместного использования его различными службами.
Рис. 2. Вы можете управлять как минимальной, так и максимальной пропускной способностью сетевого соединения, используемого виртуальной машиной
В отсутствие перегрузки каждая служба может использовать заданную ей максимальную пропускную способность. При интенсивном сетевом трафике каждой службе гарантируется минимальная доля. QoS на программной основе обеспечивает точную детализацию для различных типов трафика, но сопровождается некоторыми издержками на обработку.
Для обычных типов трафика, таких как динамическая миграция, Server Message Block (SMB) и iSCSI, предлагаются встроенные фильтры. Это ускоряет настройку и работу с QoS. Эти средства управления пропускной способностью будут особенно привлекательны для хостеров, поскольку теперь они смогут четко определять и применять соглашения об уровне обслуживания (service-level agreement, SLA).
Если вы используете SMB Direct (новшество Windows Server 2012) в сетевых картах с удаленным прямым доступом к памяти (Remote Direct Memory Access, RDMA), они будут обходить программную QoS. В таких случаях — или если у вас есть не-TCP трафик, которым вы хотите управлять — Windows Server также поддерживает Data Center Bridging (DCB). С DCB полоса пропускания управляется аппаратно на совместимых сетевых картах. Это позволяет задать лишь восемь классов трафика, но требует гораздо меньше издержек на обработку.
Объединение сетевых карт
Во многих серверах сегодня используется объединение сетевых карт для обеспечения отказоустойчивости и повышения пропускной способности. Каждый производитель сетевых карт предлагает собственное решение, поэтому объединению сетевых карт не хватает гибкости и простоты управления. Включение встроенного объединения сетевых карт (также известного как балансировка нагрузки для отказоустойчивости, load balancing failover) будет полезно в виртуализированных средах.
Вы можете объединять до 32 сетевых карт (от разных производителей, если возможно). Вы можете настроить каждую группу в режим Switch Independent или Switch Dependent (рис. 3). Первый режим применяется, если у вас неуправляемые коммутаторы или нет возможности изменять конфигурацию коммутатора.
Рис. 3. Объединять множество сетевых карт в Windows Server 2012 легко, только не забудьте задать наилучшую комбинацию параметров.
Это хорошо для реализации избыточности. Используйте две сетевые карты, одна из которых пребывает в режиме ожидания. Если первая сетевая карта выходит из строя, вторая берет работу на себя. Для еще большей безопасности можно подключить сетевые карты к разным коммутаторам.
Если вы хотите, чтобы обе сетевые карты были активны, можете использовать один из режимов балансировки нагрузки — Address Hash или Hyper-V Port. Первый режим хорош при большом исходящем трафике, например, в случае средств массовой информации и веб-серверов. Входящий трафик будет проходить только через одну сетевую карту. Второй режим хорош, когда в хосте несколько виртуальных машин, но каждой из них достаточно скорости одной сетевой карты.
В более сложных сценариях лучше использовать режим Switch Dependent. Вы можете установить для него статический режим или режим Link Aggregation Control Protocol (LACP). Вам понадобится привлечь сетевую группу для правильной настройки своих коммутаторов. Статический режим пригоден лишь в небольших средах, которые не часто изменяются. LACP автоматически определяет группы на коммутаторе и может обнаруживать дополнительные сетевые карты при их добавлении в группу.
Вы можете использовать виртуальные локальные сети в сочетании с группами, с несколькими групповыми интерфейсами в каждой группе, отвечающей определенному заданному VLAN ID. Вы даже можете создать группу всего из одной сетевой карты, но с несколькими групповыми интерфейсами для разделения трафика на основе VLAN.
Если в хосте несколько виртуальных машин, которые должны взаимодействовать с разными VLAN, используйте для настройки доступа коммутатор Hyper-V и виртуальные сетевых карты. Не используйте сетевые группы в хосте. Объединение сетевых карт внутри ВМ поддерживается, но не забудьте включить параметр AllowTeaming.
Расширяемый виртуальный коммутатор
Новый виртуальный коммутатор — огромный шаг вперед по сравнению с предыдущей версией. В него добавлены базовые средства для работы в облаке, такие как изоляция арендаторов (tenant isolation), формирование трафика, более легкое устранение неисправностей и защита от вредоносных виртуальных машин. Еще один новый аспект виртуального коммутатора в том, что сторонние производители могут добавлять свои функциональные возможности посредством прикладных интерфейсов Network Driver Interface Specification (NDIS 6.0) или Windows Filtering Platform (WFP). Обе эти среды знакомы разработчикам сетевого программного обеспечения.
Существует несколько разновидностей расширений:
Управлять расширениями сравнительно просто (рис. 4). VMM 2012 SP1 поддерживает централизованное управление расширениями и настройку коммутаторов, позволяя автоматически распределять их всем хостам.
Рис. 4. В новом виртуальном коммутаторе можно легко включить и настроить расширения сети.
Вы можете связать один коммутатор с несколькими виртуальными сетевыми картами. Вы также можете заполнить списки ACL-списки порта удаленными или локальными IPv4, IPv6 или MAC-адресами для управления трафиком и измерения сетевых данных. В хостинговых средах будет приветствоваться защита маршрутизатора (Router Guard), которая блокирует объявления маршрутизатора от виртуальной машины, а также защита DHCP (DHCP Guard), которая блокирует трафик Dynamic Host Configuration Protocol (DHCP), исходящий от ВМ, если этой ВМ не разрешено работать в качестве сервера DHCP.
IPsec является отличным способом защитить трафика данных, но его часто игнорируют из-за высокой нагрузки на процессор. Hyper-V теперь поддерживает IPsecTO (Task Offload) для виртуальных машин, работающих под управлением Windows Server 2008 R2 и Windows Server 2012. Эта функция делегирует вычисления физической сетевой карте, поддерживающей IPSecTO.
SDN представляет собой новый способ управления сетями и изоляцией ВМ в больших центрах обработки данных (ЦОД) и кластерах. В ЦОД необходима возможность управлять сетями и изоляцией, основываясь на централизованных политиках, а ручная настройка коммутаторов VLAN просто не достаточно гибкая. Одной их составляющих того, как Microsoft видит облачную операционную систему, является виртуализация сети (network virtualization, NV). По-настоящему преимущества NV и SDN проявляются, когда вы хотите переместить часть своей инфраструктуры в облако.
Вам часто приходится изменять IP-адреса своих виртуальных машин. Делать это нелегко, поскольку зачастую они во многих местах связаны с политиками безопасности и сетевых экранов. Кроме недостатка гибкости это также затрудняет перемещение виртуальных машин между провайдерами облака.
Виртуализация сети в Windows Server 2012 делает то же, что сделала виртуализация для других структурных компонентов, таких как процессор, память и диск. Каждая виртуальная машина с NV считает, что работает с сетевой инфраструктурой, которой она «владеет». На самом же деле она фактически изолируется от других виртуальных машин с помощью программного обеспечения. NV также аккуратно разрешает перемещение виртуальных машин при использовании Bring Your Own IP (BYOIP). Виртуальные машины могут сохранять свои адреса при перемещение их в общедоступное облако. Это позволяет им легко взаимодействовать с остальной инфраструктурой.
Каждая виртуальная машина имеет два IP-адреса — адреса заказчика (customer address, CA), который используется внутри ВМ, и адрес провайдера (provider address, PA), который на самом деле используется в сети. Виртуальные машины, использующие NV, могут работать совместно в одном и том же хосте с виртуальными машинами, не использующими NV. Широковещательный трафик никогда не передается «всем хостам» в сегменте. Он всегда проходит через NV, чтобы обеспечить изоляцию. Вы можете настроить так любую ВМ, поскольку NV прозрачна для основной операционной системы.
Для настройки NV предназначено два параметра — IP Rewrite и Generic Routing Encapsulation (GRE). IP Rewrite изменяет IP-адрес в каждом пакете, когда он достигает или покидает хост, на CA или PA соответственно. Это не требует никаких изменений в сетевом оборудовании и снимает нагрузку с сетевой карты. Но это также означает, что каждой ВМ необходимо два IP-адреса — PA и CA. Это усложняет управление адресами.
GRE инкапсулирует CA-пакет в PA-пакет с сопровождающим виртуальное ID виртуальной подсети. Это означает, что сетевое оборудование должно уметь применять политики к трафику каждого арендатора. Каждая ВМ в хосте может совместно использовать один и тот же PA. Это облегчает управление адресами.
К сожалению, разгрузка сетевых карт здесь не будет работать, поскольку они полагаются на правильные IP-заголовки. Решением на будущее является новый стандарт под названием Network Virtualization using Generic Routing Encapsulation (NVGRE). Он сочетает в себе выгоды GRE с преимуществом IP Rewrite, где разгрузка сетевой карты работает как нужно.
VMM и виртуализация сети
VMM 2012 SP1 добавляет два объекта для настройки NV — логический коммутатор и сеть ВМ. Последний из них представляет собой домен маршрутизации и может вмещать несколько виртуальных подсетей, если они могут взаимодействовать. Вы можете настроить каждую сеть ВМ на один из четырех типов изоляции: без изоляции, VLAN, NV или внешний.
Первый тип подходит для управления сетями, которым необходим доступ ко всем сетям. Тип VLAN подходит там, где у вас уже есть работающая модель изоляции. Он основывается на правильной настройке коммутаторов (физических и виртуальных). Каждая сеть ВМ соответствует одной VLAN.
Тип NV использует NV в Windows Server 2012. Таблицы отображения, которые отслеживают отображение CA в PA, поддерживаются VMM. Каждый хост динамически строит таблицы отображения, когда передает и получает сетевой трафик. Когда хосту необходимо взаимодействовать с неизвестным хостом, он обновляет свое отображение из VMM. Это может уменьшить размер таблиц в больших сетях.
Второй объект, который является новшеством VMM, — долгожданный логический коммутатор. Он позволяет централизованно задавать параметры vSwitch, которые автоматически реплицируются на все хосты. Есть также диспетчер расширений виртуального коммутатора (virtual switch extension manager, VSEM), который позволяет централизованно управлять расширениями виртуальных коммутаторов.
Расширения и их данные хранятся вместе с виртуальными машинами, когда вы осуществляете динамическую миграцию из хоста в хост. Вы также можете централизованно задавать и применять политики пропускной способности виртуальных машин. Виртуальные сети интегрированы с процессом подготовки ВМ, что обеспечивает по-настоящему автоматизированное решение.
Hyper-V в центре обработки данных
Учитывая все эти новые возможности проектирования сетей в Windows Server 2012 Hyper-V, становится очевидным, что вам, возможно, придется возвратиться к чертежной доске. Есть еще ряд сетевых усовершенствований, которые не специфичны для Hyper-V, но тем не менее могут повлиять на ваш проект.
Для крупных сред Windows Server 2012 теперь поддерживает Datacenter TCP (DTCP) для увеличения пропускной способности и уменьшения буферного пространства, используемого в коммутаторах (если они поддерживают Explicit Congestion Notification-RFC 3168 [ECN]). Если вы все еще распределяете IP-адреса с помощью таблиц Excel, обратите внимание на управление IP-адресами (IP address management, IPAM) в Windows Server 2012. Это средство взаимодействует с вашими Active Directory, DHCP и DNS-серверами для управления IPv4 и IPv6. VMM 2012 SP1 содержит сценарий (Ipamintegration.ps1), который экспортирует IP-адреса, назначенные посредством VMM в IPAM. Вы можете запускать его на регулярной основе.
В следующем месяце я расскажу об усовершенствованиях хранилища Hyper-V (включая возможность запускать виртуальные машины из общих файловых ресурсов), миграции ВМ и улучшении масштабируемости.
- Sweet dreams что такое
- Как называется шоколадка с орехами