Kvm vepa что это

Обновлено: 05.07.2024

Виртуализация — это технология, которая обеспечивает изоляцию вычислительных процессов, выполняемых на одном физическом ресурсе. Представьте, вы хотите установить несколько операционных систем на одном сервере и работать в них параллельно. Чтобы это сделать, вам потребуются технология виртуализации, с помощью которой получают как бы несколько компьютеров в рамках одного сервера. В этой статье мы рассмотрим, что такое KVM виртуализация, узнаем ее функции и особенности.

Что такое KVM виртуализация

KVM (расшифровка на английском: Kernel-based Virtual Machine) — технология, обеспечивающая виртуализацию в среде Linux. Это программное решение является бесплатным и распространяется с открытым исходным кодом. Оно состоит из загружаемого модуля ядра, процессорно-специфического загружаемого модуля и компонентов пользовательского режима. Гипервизор KVM нужен для формирования нескольких копий одного компьютера, каждый из которых воспринимается как самостоятельное устройство. На них может устанавливаться разное программное обеспечение, а работают они независимо друг от друга. Эту технологию часто используют для услуги VPS/VDS (виртуальный выделенный сервер).

KVM виртуализация на рисунке.

Так можно изобразить принцип работы KVM.

Преимущества KVM

  • Высокий уровень приватности.
  • Независимость ресурсов друг от друга.
  • Возможность установки собственной ОС.
  • Безопасность KVM можно усилить с помощью антивирусов.
  • Эмуляция сетевых карт, поддержка всех протоколов и firewall.

Недостатки KVM

  • Может показаться трудной для неопытных пользователей.
  • Относительная молодость гипервизора.

Особенности KVM

KVM является неотъемлемой частью ядра, а не модулем, поэтому развивается она более активным образом вместе с развитием дистрибутивов, в частности — Redhat-based систем. Существует много систем управления KVM серверами. Один из примеров — SolusVM (универсальная панель, занимающая около 90% рынка VDS за рубежом).

Также к преимуществам KVM относят то, что она поддерживает функции:

  • Over-committing — поддержка чрезмерной загрузки процессоров.
  • Thin provisioning — гибкое хранилище и оптимизация пространства для каждой гостевой виртуальной машины.
  • Automatic NUMA balancing — улучшение работы приложений на аппаратных решениях NUMA.
  • Virtual CPU hot add capability — возможность увеличения процессорной памяти.

Таким образом, KVM дает возможность более гибко настраивать сервер, устанавливать специфические модули, а работа с VDS не отличается от работы с полноценным физическим сервером.

Как выбрать KVM-переключатель

KVM-переключатель (от английского «Keyboard, Video, Mouse» - «Клавиатура, Видео, Мышь») позволяет управлять несколькими компьютерами с одного рабочего места. Одни и те же клавиатура, мышь и монитор с помощью KVM-переключателя подключаются к нескольким компьютерам. В один момент времени производится управление только одним компьютером (и с него же производится отображение экрана). Для вывода изображения с одного компьютера на несколько мониторов KVM-переключатель не предназначен – для этого применяется разветвитель видеосигнала.


Принцип действия КVM-переключателя

На отключенных компьютерах KVM-переключатель эмулирует наличие клавиатуры, мыши и монитора, чтобы предотвратить возникновение ошибки, связанной с их отсутствием.

KVM-переключатель используется в:

- серверных. Исторически первой и до сих пор основной задачей KVM-переключателей является обслуживание серверных стоек и комнат. Поскольку работа сервера не требует постоянного контроля оператором, клавиатура, мышь и монитор серверу не нужны. Но при возникновении нештатных ситуаций, при апгрейде системы или программного обеспечения, при настройке и «чистке» системы – без монитора и клавиатуры (а иногда и мыши) обойтись невозможно. Если серверов в комнате несколько, то использование KVM-переключателя позволит сэкономить немалые деньги.

- сервисных центрах для настройки и ремонта компьютеров. Как правило, клиенты приносят для ремонта только системный блок и наличие KVM-переключателя на рабочем месте ремонтника позволит не держать «под рукой» запасной комплект из мыши, клавиатуры и монитора;

- дома или в офисе при использовании неттопов и отдельных системных блоков в качестве медиатеки (медиасервера) и/или головного устройства медиасистемы. Обычно для управления неттопом бывает достаточно мыши или пульта ДУ, но при настройке может потребоваться необходимость подключения клавиатуры и отдельного монитора. Если поблизости есть компьютер, можно установить на него KVM-переключатель, и, при необходимости, настраивать неттоп с привычного рабочего места.

Во всех этих случаях использование KVM-переключателя позволяет сэкономить время, деньги, электроэнергию и место в комнате.


Характеристики KVM-переключателей.

Количество подключаемых ПК – основной параметр KVM-переключателя, определяющий его цену. Чем больше компьютеров можно подключить к KVM-переключателю, тем он дороже. Поэтому следует четко определиться с количеством компьютеров, которые будут использоваться с одним комплектом мыши, клавиатуры и монитора.


Брать KVM-переключатель с большим, чем необходимо, количеством подключаемых компьютеров «про запас» не стоит – при возникновении необходимости, количество подключенных компьютеров можно увеличить, подключив дополнительный KVM-переключатель к клиентским разъемам первого.

Поддерживаемые операционные системы.

Как правило, переключение сигналов в KVM-переключателе производится на аппаратном уровне независимо от установленной ОС. Поддержка операционной системы нужна для установки дополнительного программного обеспечения, расширяющего функционал KVM-переключателя.


Пример программного обеспечения KVM-переключателя

С помощью такого ПО может производиться настройка устройства или добавление «горячих клавиш» быстрого переключения комплектов; вестись протокол переключений и подключений по локальной сети.

Способ переключения.


Большинство KVM-переключателей позволяют выбрать активный компьютер с помощью кнопокна крышке или передней панели. Но такой способ не всегда удобен. Если KVM-переключатель подсоединен к рабочему комплекту администратора в другом кабинете, переключать компьютеры будет намного удобнее, не покидая рабочего места. Для этого используются «горячие клавиши» - сочетание клавиш на клавиатуре, нажатие которых приводит к переключению активного компьютера.


Задание "горячих клавиш" с помощью ПО может привести к тому, что на некоторых системах они работать не будут.

Переключение с помощью «горячих клавиш» также присутствует в большинстве KVM-переключателей, но в некоторых этот способ реализован программно. В этом случае необходимо, чтобы у KVM-переключателя была поддержка систем всех подключенных к нему компьютеров и программное обеспечение должно быть установлено на каждом компьютере. Если поддержки системы какого-то из компьютеров нет (или на каком-то компьютере не установлено ПО), то переключиться «горячими клавишами» на этот компьютер будет можно, а вот потом переключиться на любой другой – уже нет. Потребуется идти к KVM-переключателю и нажимать соответствующую кнопку. Если переключение «горячими клавишами» для вас важно, лучше выбирать модель с аппаратной поддержкой такого способа переключения. Впрочем, таких моделей большинство.


Для удаленного администрирование будет необходима возможность переключения компьютеров по локальной сети (с помощью соответствующего ПО, установленного на рабочей станции) или по сети Интернет (с помощью веб-интерфейса).

Видео.


Определяет разъем и, соответственно, стандарт поддерживаемого видеосигнала. Следует выбирать KVM-переключатель с поддержкой того видеоразъема, который есть на всех подключаемых компьютерах и на используемом мониторе. Разъем SVGAпока еще является наиболее универсальным решением – он присутствует на большинстве недорогих или встроенных в материнскую плату видеокарт (на серверах обычно именно они и используются). Но если видеокарты всех подключаемых компьютеров оснащены разъемами DVI-D или HDMI(как и рабочий монитор), то лучше выбрать KVM-переключатель с соответствующими видеоразъемами. Отдельно следует отметить разъем SPHD-18 – это использующийся в KVM-переключателях разъем, объединяющий видеоразъем SVGA и разъем USB. Чтобы подключить к такому разъему выход видеокарты и входа мыши/клавиатуры, понадобится приобрести соответствующий аксессуар.

Поддержка видеорежимов – тот параметр, на который следует обратить пристальное внимание, если важно получать с подключенных компьютеров хорошую «картинку». Для серверов это может быть не очень важно – для настройки сервера обычно достаточно базовых режимов, вроде 1024х768 или даже 800х600. Но если KVM-переключатель предполагается использовать с медиасервером, то поддержка видеорежимов с высоким разрешением становится очень важной. При подключении компьютеров к KVM-переключателю следует проследить, на всех подключенных к нему компьютерах был установлен поддерживаемый устройством видеорежим, иначе при подключении к этому компьютеру на мониторе может быть просто «черный экран», и для смены режима придется подключать монитор непосредственно к этому компьютеру.

Клавиатура и мышь.

Определяет разъемы подключения клавиатуры и мыши. Должен соответствовать разъемам, использующимся на всех подключаемых компьютерах.


Следует иметь в виду, что разъем PS/2, последние десятилетия использовавшийся для подключения клавиатур и мышей, окончательно сдает позиции – почти все мыши и большинство современных клавиатур сегодня имеют интерфейс USB. Поэтому многие даже десктопные компьютеры сегодня не оснащаются разъемом PS/2 или оснащаются универсальным – для подключения либо мыши, либо клавиатуры. Подключить и мышь, и клавиатуру к такому разъему можно далеко не всегда. В то же время, KVM-переключатель c подключением клавиатуры по PS/2 обычно использует такой же разъем для подключения мыши. Приобретя такой KVM-переключатель для подключения компьютеров с одним универсальным PS/2 разъемом, можно столкнуться с проблемой, когда на компьютерах будет работать либо мышь, либо клавиатура.


KVM-переключатель с поддержкой клавиатуры и мыши по интерфейсу USB представляется более перспективным. Разъем SPHD-18 также использует интерфейс USB.

Аудио

Не все KVM-переключатели обеспечивают коммутацию аудиосигнала, да и надобность в такой коммутации возникает нечасто. Но если вам необходимо, чтобы звук со всех подключенных компьютеров шел на аудиоколонки рабочей станции, убедитесь, что KVM-переключатель поддерживает коммутацию аудио. Также следует иметь в виду, что и среди таких KVM-переключателей большинство поддерживает коммутацию только стереозвука, коммутация многоканального звука поддерживается небольшим количеством устройств.

Другие порты.

KVM-переключатели, в дополнение к перечисленным, могут быть оснащены:

- USB разъемами для подключения к активному компьютеру USB-устройства, например, принтера или USB-диска. Последний вариант может быть очень удобен для настройщиков компьютеров – с этого диска можно, например, устанавливать систему на подключенный системный блок. Следует только иметь в виду, что при переключении компьютера, USB-диск тоже переключается, и, если в этот момент велась работа с диском, на нем (или на диске компьютера) могут образоваться ошибки.

- RJ-45 разъемом для подключения к локальной сети и/или сети Интернет будет очень полезен для удаленного администрирования подключенных к устройству компьютеров.

- RS-232 разъем на современных устройствах встречается редко, используется для подключения модема и управления подключенными компьютерами по телефонной линии.

Установка в 19” стойку определяет, приспособлен ли KVM-переключатель для монтажа в серверную стойку.

Варианты выбора.


Для подключения второго компьютера к имеющемуся комплекту монитора, мыши и клавиатуры следует выбирать из двухпортовых KVM-переключателей. Стоят они 1300-13000 рублей.

Если вам важно, чтобы звук с обоих компьютеров шел на одни колонки, выбирайте из двухпортовых моделей с поддержкой аудио. Они стоят от 1500 рублей.


Если один или несколько из подключенных компьютеров имеют звуковые карты с многоканальными выходами, убедитесь, что в KVM-переключателе есть поддержка такого формата аудио. Такие устройства стоят от 13000 рублей.


Если KVM-переключатель нужен вам для обслуживания большого количества (8 и более) серверов, выбирайте среди многопортовых устройств по цене от 13000 до 40000 рублей. Как правило, они все могут быть установлены в 19” стойку.


Проанализировав в двух предыдущих номерах «Журнала сетевых решений/LAN» концепции централизованно программируемых сетей SDN и коммутирующих «фабрик», переходим к третьей составляющей «революции» в области сетевых инфраструктур, источником которой стала потребность в поддержке виртуализации ИТ-ресурсов. В этом номере мы поговорим о различных способах коммутации трафика виртуальных машин, а в следующем — об организации наложенных виртуальных сетей.

Проанализировав в двух предыдущих номерах «Журнала сетевых решений/LAN» концепции централизованно программируемых сетей SDN и коммутирующих «фабрик», переходим к третьей составляющей «революции» в области сетевых инфраструктур, источником которой стала потребность в поддержке виртуализации ИТ-ресурсов. В этом номере мы поговорим о различных способах коммутации трафика виртуальных машин, а в следующем — об организации наложенных виртуальных сетей. Помимо рассмотрения соответствующих технологий, обсудим их связь с SDN и «фабриками».

С внедрением технологий виртуализации и появлением виртуальных машин возникла очевидная потребность в коммутации трафика между ними. С этой целью были разработаны виртуальные коммутаторы, такие как VMware vSwitch или Cisco Nexus 1000V — в англоязычной литературе их обычно называют Virtual Embedded (или Ethernet) Bridge (VEB). По своему функционалу они соответствуют обычным коммутаторам Ethernet, только выполнены программно на уровне гипервизора. Трафик между виртуальными машинами в рамках «своего» сервера коммутируется локально, не выходя за его пределы (см. Рисунок 1). А прочий трафик (с внешними МАС-адресами) — направляется во внешнюю сеть.

Рисунок 1. Коммутация трафика виртуальных машин внутри сервера (VEB) и вынос этого процесса во внешний коммутатор (VEPA).
Рисунок 1. Коммутация трафика виртуальных машин внутри сервера (VEB) и вынос этого процесса во внешний коммутатор (VEPA).

Виртуальные коммутаторы могут быть модульными, как, например, уже упомянутый Cisco Nexus 1000V. Он состоит из двух основных компонент: модуль Virtual Ethernet Module (VEM) функционирует на базе гипервизора и отвечает за коммутацию трафика виртуальных машин, а модуль управления Virtual Supervisor Module (VSM) может быть установлен на внешнем сервере. Один коммутатор Nexus 1000V способен поддерживать множество модулей VEM на физических серверах. А для управления всем этим хозяйством (решения задач конфигурирования, мониторинга, диагностики и пр.) достаточно одного модуля VSM. По сути, все как в обычном модульном устройстве: VEM — это аналог линейной карты, а VSM — платы управления.

У виртуальных коммутаторов VEB есть свои преимущества: локальная коммутация трафика внутри сервера не приводит к какой-либо дополнительной нагрузке на сеть, к тому же для реализации такой коммутации не требуется внешнее оборудование. Данное решение отличается невысокой стоимостью и обеспечивает малое значение задержки. Но у него есть и серьезные минусы: к виртуальным коммутаторам далеко не всегда применимы традиционные приемы конфигурирования и управления, а курсирующий через них трафик невозможно отследить обычными средствами мониторинга. Такие коммутаторы часто находятся в ведении специалистов, отвечающих за серверы, тогда как за все остальные (аппаратные) коммутаторы отвечают сетевые администраторы, что создает проблемы для целостного управления всей сетью. Кроме того, поддержка работы виртуальных коммутаторов означает дополнительную загрузку процессоров сервера.

Другой подход к коммутации трафика виртуальных машин состоит в выносе этого процесса во внешние коммутаторы. Для его реализации были разработаны несколько технологий, две основные описаны в документах IEEE 802.1Qbg (Edge Virtual Bridging) и 802.1BR (Bridge Port Extension), которые на данный момент находятся в финальной стадии утверждения. Разработка первой из указанных технологий, в основу которой положен механизм Virtual Ethernet Port Aggregator (VEPA), была инициирована компанией HP. Технология 802.1BR родилась в Cisco Systems. Изначально ее стандартизацией занималась группа 802.1Qbh, но потом было решено выделить эту технологию в отдельный стандарт 802.1BR, дабы дистанцировать ее от стандартов серии 802.1Q, «отвечающих» за тегирование трафика Ethernet.

ТЕХНОЛОГИЯ VEPA: ВОЗМОЖНЫ ВАРИАНТЫ

Базовый вариант технологии VEPA (Standard Mode) прост в реализации. При небольшой модернизации гипервизора весь трафик будет направляться наружу вне зависимости от MAC-адреса назначения. А от внешнего коммутатора требуется направлять обратно (немыслимая операция для традиционного моста/коммутатора Ethernet!) кадры с МАС-адресом назначения, принадлежащим виртуальной машине, которая находится на том же физическом сервере, что и отправитель. Реализация этой функции обеспечивается простым обновлением микропрограммного кода коммутатора. При этом весь трафик — даже если его отправитель и получатель находятся на одном сервере — будет проходить через внешний коммутатор (см. Рисунок 1).

Этот вариант позволяет использовать отработанные годами методики и инструменты для мониторинга трафика и управления им. Он также дает возможность задействовать весь развитый функционал современных коммутаторов для обработки трафика — например, применять к нему заданные политики обеспечения безопасности, правила гарантированного качества обслуживания (QoS) и пр. Но трафик приходится «гонять порожняком» через сеть, даже если исходная и конечная точки его маршрута находятся на одном сервере. Это повышает временную задержку и увеличивает требования к пропускной способности каналов связи. С одной стороны, вычислительные ресурсы сервера освобождаются от задач по мониторингу трафика и его обработке, но с другой — серверу приходится дважды пропускать трафик через гипервизор.

Наряду с базовым вариантом в документах IEEE 802.1Qbg описан и другой вариант — многоканальный (Multichannel VEPA), который предоставляет ряд дополнительных возможностей. В этом случае один физический канал Ethernet делится на несколько виртуальных каналов, или туннелей. Они обеспечивают независимое подключение к сети различных объектов внутри сервера: это может быть виртуальный коммутатор VEB, VEPA или непосредственно виртуальная машина. Для формирования туннелей используется хорошо известный механизм Q-in-Q (стандарт IEEE 802.1ad), который предусматривает добавление к кадру сервисного тега (S-Tag). При этом сохраняется тег, определяющий принадлежность кадра к той или иной сети VLAN (802.1q). Для реализации многоканального режима VEPA, очевидно, необходимо, чтобы внешний коммутатор поддерживал механизм Q-in-Q.

Благодаря многоканальному режиму, архитекторы сетей получают большую гибкость для выбора оптимального механизма. Скажем, для снижения задержки при взаимодействии между виртуальными машинами, находящимися на одном сервере, можно использовать виртуальный коммутатор VEB, а для повышения уровня управляемости — режим VEPA. И все в рамках одного физического соединения (см. Рисунок 2).

Рисунок 2. Многоканальный режим работы VEPA.
Рисунок 2. Многоканальный режим работы VEPA.

802.1BR И ВЫНОСЫ ПОРТОВ

Предложенная Cisco технология VN-Tag, которая положена в основу стандарта IEEE 802.1BR, предполагает вынос (extender) портов коммутатора. Они (выносы) могут быть реализованы на базе отдельных сетевых элементов (например, устройств Nexus 2000 или сетевых модулей для блейд-серверов Cisco UCS), в сетевых адаптерах серверов и даже на уровне подключений виртуальных машин (технология VM-FEX).

Это означает проникновение сети «внутрь» сервера и включение в единую плоскость коммутации не только портов коммутаторов, но также серверных адаптеров и виртуальных машин. Управление коммутаторами вместе с выносами осуществляется как одним устройством, а добавление выносов, по сути, аналогично установке линейных карт в обычный модульный коммутатор.

Технология VN-Tag предусматривает добавление в кадры тега с одноименным названием. Главными компонентами этого тега являются поля с идентификаторами виртуальных интерфейсов (VIF) отправителя и получателя. Такие интерфейсы могут идентифицировать разные объекты, например виртуальные сетевые адаптеры (vNIC) виртуальных машин. На одном физическом порту может быть сформировано несколько виртуальных интерфейсов. Они становятся частью распределенного коммутатора, а потому трафик между такими интерфейсами (значит, и между виртуальными машинами) пойдет через его основной блок.

Технологию VN-Tag можно использовать как для выноса портов (по сути, для формирования распределенной коммутационной фабрики, в состав которой включаются виртуальные машины), так и для вывода трафика виртуальных машин в сеть. Важный плюс этой технологии — возможность конфигурировать каждый индивидуальный виртуальный интерфейс так, как будто это обычный физический порт. Главный недостаток — необходимость введения дополнительных полей в кадр Ethernet, что может потребовать аппаратной модернизации продуктов.

В ДЕЛО ВСТУПАЮТ АДАПТЕРЫ

В качестве примера реализации технологии VN-Tag рассмотрим так называемые виртуальные интерфейсные карты (Virtual Interface Card, VIC) компании Cisco.

Рисунок 3. Пример реализации технологии VN-Tag с использованием виртуальных интерфейсных карт (Virtual Interface Card, VIC) компании Cisco.
Рисунок 3. Пример реализации технологии VN-Tag с использованием виртуальных интерфейсных карт (Virtual Interface Card, VIC) компании Cisco.

Рисунок 4. Различные режимы взаимодействия между виртуальными интерфейсами vNIC и виртуальными машинами при использовании виртуальных интерфейсных карт (Virtual Interface Card, VIC) компании Cisco.
Рисунок 4. Различные режимы взаимодействия между виртуальными интерфейсами vNIC и виртуальными машинами при использовании виртуальных интерфейсных карт (Virtual Interface Card, VIC) компании Cisco.

Пусть вас не смущает название: на самом деле это вполне реальный сетевой адаптер с портами 10 GbE и поддержкой технологии FCoE, но специально подготовленный к работе в виртуализированных средах. На его базе могут быть сформированы до 256 виртуальных интерфейсов vNIC, которые, согласно концепции выносов, становятся логическим продолжением внешнего коммутатора Ethernet. В результате каждой виртуальной машине выделяется виртуальный порт на физическом коммутаторе (см. Рисунок 3), который берет на себя заботу не только о коммутации трафика, но и о соблюдении установленных правил безопасности, качества обслуживания и пр.

Поддержка продуктами VIC технологии VMware VMDirectPath позволяет существенно повысить производительность и снизить задержку сетевого взаимодействия виртуальных машин. Она делает возможным прямое взаимодействие между виртуальными интерфейсами vNIC и виртуальными машинами в обход гипервизора (см. Рисунок 4). При необходимости можно использовать механизм VMware VMotion, например, для динамического распределения нагрузки.

Рисунок 5. Различные варианты коммутации трафика виртуальных машин при использовании адаптера Brocade Fabric Adapter (FA) 1860.
Рисунок 5. Различные варианты коммутации трафика виртуальных машин при использовании адаптера Brocade Fabric Adapter (FA) 1860.

Сетевые адаптеры нового поколения, оптимизированные для работы в виртуализированных средах, могут не только направлять трафик виртуальных машин во внешнюю сеть, но и самостоятельно его коммутировать. Примером такого продукта служит адаптер Brocade Fabric Adapter (FA) 1860, который содержит один или два физических порта: 10 Гбит/с (Ethernet, FCoE) или 16 Гбит/с (Fibre Channel). При использовании этого адаптера возможны три варианта коммутации трафика виртуальных машин (см. Рисунок 5). Первые два — это уже рассмотренные нами локальная коммутация силами виртуального коммутатора (адаптер FA 1860 в данном случае вообще не задействуется) и вынос коммутации во внешнюю сеть с применением технологии VEPA. Третий вариант в Brocade называют аппаратным виртуальным коммутатором (Hardware Based VEB).

При использовании этого варианта весь трафик от виртуальных машин направляется на локальный сетевой адаптер для коммутации: если трафик предназначен для виртуальной машины, находящейся на том же сервере, он направляется обратно гипервизору, если нет — уходит в сеть. Данный вариант коммутации использует стандартный формат кадра Ethernet. К преимуществам технологии Hardware Based VEB специалисты Brocade относят низкую загрузку процессора сервера, а также возможность (правда, лишь частичную) для настройки политик безопасности и использования механизма качества обслуживания (QoS), к недостаткам — ограничения по управлению трафиком.

Рисунок 6. Технология виртуализации PCI-устройств Single-Root I/O Virtualization (SR-IOV).
Рисунок 6. Технология виртуализации PCI-устройств Single-Root I/O Virtualization (SR-IOV).

Второй и третий варианты в решении Brocade основаны на использовании технологии виртуализации PCI-устройств Single-Root I/O Virtualization (SR-IOV), разработанной группой специалистов PCI Special Interest Group. Эта технология вводит понятие «виртуальной функции» — Virtual Function (VF) и позволяет разделять сетевое устройство PCI на несколько виртуальных экземпляров, которые будут работать непосредственно с виртуальными машинами (см. Рисунок 6). Например, при использовании метода разделения ресурсов SR-IOV в рамках одного физического адаптера FA 1860 может быть создано 255 виртуальных экземпляров. К сожалению, как отмечают специалисты Brocade, технология SR-IOV имеет свои ограничения: в текущей спецификации предусматривается только передача входящего/ исходящего трафика виртуальных машин, а локальная коммутация осуществляется программным коммутатором гипервизора. Кроме того, виртуальный экземпляр адаптера VF не может вести себя как полноценный физический PCI-адаптер и поэтому требуется дополнительная инсталляция драйверов для гипервизора операционной системы VMware ESX и Microsoft HyperV, а также для BIOS серверов. Такая поддержка только планируется производителями этих операционных систем, что затрудняет применение методов Hardware Based VEB и VEPA.

Компания Brocade предлагает и свою фирменную технологию логического разделения ресурсов адаптера FA 1860 (пропускной способности порта и внутренней шины PCI) — vFLink, причем она не требует дополнительной установки драйверов для операционной системы VMware ESX и Microsoft Hyper-V. В режиме работы CNA на одном порту 10 GbE можно организовать до 8 независимых логических сетевых адаптеров и до 16 при использовании двух портов — в любой комбинации vNIC и vHBA. Общая пропускная способность (10 Гбит/с для портов Ethernet и 16 Гбит/с для портов Fibre Channel) может быть распределена между виртуальными адаптерами с шагом 100 Мбит/с.

ВИРТУАЛЬНЫЕ И (ИЛИ) ФИЗИЧЕСКИЕ

Многие эксперты считают наиболее перспективными технологии наподобие VEPA, когда сетевое взаимодействие между виртуальными машинами выводится в физическую сеть. Однако ряд причин, в том числе уже упомянутая задержка с выходом необходимых для механизма SR-IOV драйверов для популярных гипервизоров, осложняют реализацию этих технологий. Собственно, с точки зрения разработчиков сред виртуализации вполне логично выглядит отсутствие у них большого энтузиазма по созданию инструментов, которые позволят вывести из-под их контроля такой важный процесс, как взаимодействие виртуальных машин.

В этой связи показательна позиция Cisco. Продвигая технологию 802.1BR с целью обеспечить «проникновение» сети вглубь сервера, она не менее активно развивает и свой виртуальный коммутатор Nexus 1000V, который выполняет локальную коммутацию трафика виртуальных машин внутри сервера. Правда, при этом функции управления этим процессом — модуль Virtual Supervisor Module (VSM) — выносятся вовне. Это вам ничего не напоминает? Конечно, это не что иное, как реализация идей SDN: обработка трафика отделяется от управления этим процессом (подробнее см. статью «SDN: кому и зачем это надо?» в декабрьском номере «Журнала сетевых решений/LAN» за 2012 год). В полном соответствии с этим принципом построено и решение по виртуализации сети компании Nicira, причем оно ориентировано на использование программных коммутаторов (Open vSwitch). Именно ради этого решения, а не каких-то агентов OpenFlow, на мой взгляд, эта компания и была приобретена VMware.

И программные (виртуальные), и физические коммутаторы станут играть важную роль в процессе построения сетей нового поколения, где требуется обеспечить эффективную поддержку виртуальных машин. Причем преимущество получат те продукты, которые позволят включить сетевые объекты обоих типов в единую коммутационную среду. И совсем будет замечательно, если эта среда окажется построена по принципам «фабрики», то есть с минимумом иерархических уровней (в идеале — связь по принципу «каждый с каждым»), поддержкой всех линий связи в активном состоянии с обеспечением низкой задержки и отсутствием точек общесистемного отказа.

Сегодня сложно представить мир без компьютеризированных устройств. Лет этак 20 назад почти все бытовые приборы были электро-механические, об использовании компьютерных схем повсеместно не было даже и речи. Самые первые компьютеры занимали значительные объемы пространства, и могли относительно не много. Компьютерно-вычислительные комплексы за последнее время прошли достаточно большой путь развития. Хотя, принципиально компьютеры ничем не изменились, но вычислительные мощности стремительно возросли. Наличие компьютера в простой семье теперь не является чем-то особенным.

В данный момент, зачастую большое количество компьютерной техники в помещениях может доставлять значительно неудобств. По этой причине стали появляться централизованные системы. Но централизованные системы зачастую не могут решить тех проблем, которые решает сеть из компьютеров. По этой причине и была предложена концепция виртуализации, когда один центральный компьютер выполняет роль сети компьютеров.

KVM

Общие сведения о виртуализации

По своей сути, все ОС это в общем-то и так некоторая виртуальная среда, которая предоставляется разработчику ПО, как средство реализации конечных задач. Уже давно прошло то время, когда программы писались конкретно под аппаратную часть компьютера по средствам аппаратных кодов и запросов. Сегодня же, любое приложение – это в первую очередь приложение, написанное на некотором API, который находится под управлением ОС. Задачи же ОС – предоставить данным API непосредственно доступ к аппаратным ресурсам.

Собственно видов виртуализации существует несколько:

  • Программная виртуализация;
  • Аппаратная виртуализация;
  • Виртуализация уровня операционной системы.

Виртуализация в свою очередь бывает полной и частичной.

Программная виртуализация – вид виртуализации, который задействует различные библиотеки ОС, транслируя вызовы виртуальной машины в вызовы ОС. (DOSBox, Virtualbox, VirtualPC)

Аппаратная виртуализация – такой вид, который предусматривает специализированную инструкцию аппаратной части, а конкретно инструкций процессора. Позволяет исполнять запросы в обход гостевой ОС, и исполнять прямо на аппаратном обеспечении. (виртуализация KVM,виртуализация XEN, Parallels, VMware, Virtualbox)

Виртуализация уровня операционной системы – виртуализация только части платформы, без полной виртуализации аппаратной части. Подразумевает работы нескольких экземпляров среды ОС. (Docker, LXC)

Данная статья будет рассматривать Аппаратную виртуализацию, а конкретно виртуализацию KVM.

компоненты ВМ

Схема 1. – Взаимодействие компонентов виртуальной машины с аппаратной частью

Особенности виртуализации для ядра Linux

Для исполнения прямых аппаратных запросов в ОС должна иметься библиотека, которая направляла бы эти запросы аппаратной части напрямую. На платформах базы Linux долгое время никакой встроенной системы виртуализации (встроенного гипервизора), просто не существовало. Каждый производитель ПО для виртуализации, который поддерживало технологию аппаратной виртуализации, вынуждены были создавать собственные модули для ядра Linux (vboxdrv в Virtualbox, vmware-service в VMWare и пр.) Естественно, это не могло продолжаться вечно, и компания Qumranet, Inc, выкупленая затем Radhat создала ассоциацию Open Virtualization Alliance, которая была признана решить проблему отсутствия базового гипервизора для ядра Linux. Так и был создан гипервизор KVM или Kernel-based Virtual Machine.

Гипервизор KVM представляет из себя загружаемый модуль ядра Linux, который предназначен для обеспечения виртуализации на платформе Linux x86. Сам модуль содержит компонент собственно виртуализации(kvm.ko), и процессорно-специфический загружаемый модуль kvm-amd.ko либо kvm-intel.ko.

Необходимым условием для использования KVM является поддержка инструкций виртуализации — Intel VT либо AMD , и ядро Linux версии 2.6.20 и выше. Существует также порт KVM под Free-BSD. Для вызова KVM традиционно используется QEMU, но также ведутся попытки добавить поддержку KVM в Virtualbox.

Сам по себе KVM не выполняет эмуляции. Вместо этого программа, работающая в пространстве пользователя, использует интерфейс /dev/kvm для настройки адресного пространства гостя виртуальной машины, через него же эмулирует устройства ввода-вывода и видеоадаптер.

KVM позволяет виртуальным машинам использовать немодифицированные образы дисков QEMU, VMware и других, содержащие операционные системы. Каждая виртуальная машина имеет своё собственное виртуальное аппаратное обеспечение: сетевые карты, диск, видеокарту и другие устройства.

Использование

Для использования данного гипервизора существует множество реализаций. Некоторые представляют из себя целые специализированные библиотеки, другие имеют вид простых графических приложений.

Для наглядности рассматривается виртуализация KVM на базе библиотеку virt-manager.

Данная библиотека позволяет упростить вызов различных гипервизоров, предоставляя удобный интерфейс для автоматизации процесса виртуализации. Кроме того, библиотека имеет возможность работы с сетевой инфраструктурой, что иногда важно, при построении клиент-серверных рабочих мест.

libvirt

Схема 2. – Взаимодействие компонентов libvirt

QEMU позволяет создать фрейм для вызова гипервизора на клиентской системе. Данная программа настраивается аргументами вызова командной строки, является достаточно легкой и простой.

Существуют кроме того несколько графических оболочек, таких как Gnome-Boxes.

Выводы

Виртуализация – неотъемлемая часть современных корпоративных систем, она позволяет сэкономить колоссальные денежные и энергетические ресурсы. Развитие технологий виртуализации является приоритетным направлением многих организаций. Развиваются такие технологии как как VGAPassthrough (технология "проброса" видеокарты хост-устройства в виртуальную машину) и PCIPassthrough ("проброс" PCI устройства).

Читайте также: