понедельник, 12 декабря 2011 г.

Обзор Citrix XenServer vSwitch Controller

Одним из нововведений, появившихся в Citrix XenServer 5.6 SP1, стал vSwitch Controller - специализированный управляющий виртуальный сервер (Virtual Appliance), расширающий функционал виртуальных коммутаторов XenServer.

После установки vSwitch Controller у администратора появляется возможность анализировать сетевой трафик с помощью RSPAN, собирать статистику (Netflow), настраивать списки контроля доступа (ACL - Access Control List), ограничивать исходящий трафик ВМ и настраивать частные виртуальные сети между несколькими хостами XenServer (Cross-Server Private Network).

Citrix XenServer 6.0 не принес никаких изменений в функционал vSwitch Controller за исключением добавления дополнительного режима применения ACL для виртуальных коммутаторов (Fail-Open) на случай выхода из строя управляющего сервера.

Рассмотрим подробнее возможности контроллера.

Возможности vSwitch Controller
vSwitch Controller доступен в редакции Citrix XenServer Advanced и выше. Процедура установки управляющего сервера крайне проста - достаточно загрузить образ ВМ в формате .xva с сайта Citrix, импортировать его, используя XenCenter, запустить и выполнить первоначальную настройку, задав сетевые настройки и пароль администратора.

Управление контроллером осуществляется через Web-интерфейс (из CLI виртуальной оснастки доступны всего несколько команд, задающих сетевые настройки и позволяющие выключить или перезагрузить ВМ).

Для управления серверами XenServer требуется добавить их в пул ресурсов (Resource Pool), один контроллер может управлять несколькими пулами, но у каждого пула может быть только один управляющий контроллер.

Почти все настройки, будь то настройки мониторинга, правил доступа, ограничения трафика, можно задавать на различных уровнях: глобальном, уровне пула ресурсов, уровне виртуальной сети, уровне ВМ или уровне отдельного виртуального сетевого интерфейса.

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

К сожалению интерфейс контроллера не позволяет формировать и экспортировать отчеты, но при необходимости можно настроить внешний сборщик (Netflow Collector), куда контроллер будет отправлять собранную информацию.

Для детального анализа сетевого трафика предназначен RSPAN, который позволяет дублировать весь траффик, проходящий через определенную виртуальную сеть, виртуальную машину или виртуальный сетевой адаптер, и помечать его определенным VLAN ID. Создав отдельную виртуальную сеть с аналогичным VLAN ID, вы сможете анализировать его с помощью ВМ с программой для мониторинга, например: Microsoft Network Monitor или Wireshark.

Для защиты виртуальных машин и ограничения входящего и исходящего трафика можно настроить правила разрешающие или запрещающие трафик по определенным портам. В правилах возможно указать протокол (TCP, UDP, номер порта и т.д.), направление трафика (исходящий, входящий, в любую сторону), IP адрес источника.

Правила можно задавать на нескольких уровнях: глобальном, уровне пула ресурсов, виртуальной сети, виртуальной машины, виртуального сетевого адаптера. Кроме того, почти на всех уровнях можно задавать два типа правил - стандартные (Default) и обязательные (Mandatory). Обязательные правила всегда имеют приоритет над стандартными. При обработке пакета происходит сверка со списком правил, пока не будет найдено подходящее правило, после чего пакет принимается или отбрасывается. Порядок проверки правил следующий:
  1. Обязательные правила на глобальном уровне.
  2. Обязательные правила на уровне пула ресурсов.
  3. Обязательные правила на уровне виртуальной сети.
  4. Обязательные правила на уровне виртуальной машины.
  5. Правила на уровне виртуального адаптера.
  6. Стандартные правила на уровне виртуальной машины.
  7. Стандартные правила на уровне виртуально сети.
  8. Стандартные правила на уровне пула ресурсов.
  9. Стандартные правила на глобальном уровне.
При использовании списков контроля доступа следует учитывать один важный момент. В случае недоступности контроллера (например при его выключении), все ACL перестают применяться, и ВМ могут беспрепятственно отправлять и получать пакеты. Такой режим носит название fail-open и в XenServer 6.0 используется по умолчанию. Альтернательный режим fail-safe, доступный еще в XenServer 5.6 SP1, обеспечивает большую безопасность и позволяет сохранить ACL для существующих ВМ при недоступности контроллера, однако имеет ряд побочных эффектов. Например, при смене IP адреса у ВМ, все входящие и исходящие пакеты начинают блокироваться, тоже самое происходит при создании и добавлении новых ВМ в пул или подключении виртуальных адаптеров к существующим ВМ, или миграции ВМ с помощью XenMotion между хостами. Наконец, если хост XenServer перезагрузится и контроллер все еще будет недоступен, все закешированные ACL будут удалены, и весь трафик ВМ будет запрещен. Так что будьте крайне осторожны с данным режимом.

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

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

Частные сети создаются из консоли XenCenter.

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

Если вы планируете передавать большие объемы трафика между ВМ, рекомендуется создать отдельную управляющую подсеть и подключить ее к отдельным физическим адаптерам серверов.

Заключение
Как видите, vSwitch Controller предоставляет администраторам серверов виртуализации достаточно интересные возможности по мониторингу и контролю сетевого трафика, сравнимые с возможностями, доступными в решениях конкурента - VMware vNetwork Distributed Switches и VMware vShield App, и категорически рекомендуется к развертыванию при наличии соответствующих лицензий на Citrix XenServer. Однако, следует помнить, что vSwitch Controller не имеет встроенных механизмов обеспечения отказоустойчивости, поэтому повышать доступность ВМ придется сторонними средствами.