На прошедшей конференции VMworld 2013 компания VMware представила свое виденье концепции ЦОД будущего - Software-Defined Datacenter, то есть датацентр, определяемый и направляемый программно, в котором слой оборудования полностью отделен от слоя программного обеспечения, а последний и реализует все необходимые сервисы пользователей и функции управления. То есть, оборудование - это просто подложка, элементы которой можно будет заменять, а все необходимые функции управления будут находиться на стороне программного обеспечения.
Выглядит это так:
В рамках этой концепции было объявлено о работе VMware в четырех направлениях:
Расширение применения технологии виртуализации на все приложения (например, кластеры Hadoop).
Трансформация хранилищ в абстрагированные и агрегированные дисковые ресурсы серверов (Virtual SAN) на базе разработок компании Virsto (с русскими корнями, кстати).
Создание программно-определяемых сетей в датацентре на базе продукта VMware NSX, полученного после покупке компании Nicira.
Сегодня мы поговорим о третьем пункте - решении для построения виртуальной инфраструктуры сетей - VMware NSX, которое было анонсировано на VMworld как один из ключевых компонентов стратегии VMware в рамках концепции Software-defined networking (SDN).
VMware NSX - это решение полученное на основе двух продуктов: купленного Nicira NVP и собственного VMware vCloud Networking and Security (vCNS). Последний предназначен для комплексной защиты виртуального датацентра и построен на базе семейства продуктов VMware vShield. Решение VMware NSX предназначено для крупных компаний, которые планируют повысить степень гибкости сетевой среды датацентра, который связан с другими ЦОД компании, и где требуется переносить виртуальные машины между ними или поддерживать распределенную архитектуру кластеров.
Чтобы понять концепцию NSX можно провести аналогию с серверной виртуализацией, отмапив инфраструктуру VMware vSphere на инфраструктуру "гипервизора" NSX:
Такая архитектура, конечно же, требует интеграции с агентами в физическом оборудовании, которые уже есть в сетевых устройствах Arista, Brocade, Cumulus, Dell, HP и Juniper.
Сама же платформа VMware NSX включает в себя следующие компоненты:
Controller Cluster - это система, состоящая из виртуальных или физических машин (как минимум 3), предназначенная для развертывания виртуальных сетей во всем датацентре. Эти машины работают в кластере высокой доступности и готовы принимать управляющие команды от различных средств через API, например, VMware vCloud или OpenStack. Кластер осуществляет управление объектами vSwitches и Gateways, которые реализуют функции виртуальных сетей. Он определяет топологию сети, анализирует поток трафика и принимает решения о конфигурации сетевых компонентов.
Hypervisor vSwitches (NSX Virtual Switches) - это виртуальные коммутаторы уровня ядра ESXi с программируемым стеком L2-L4 и конфигурационной базой. Они отвечают за работу с трафиком виртуальных машин, обеспечение туннелей VXLAN и получают команды от Controller Cluster.
Gateways - это компоненты, предназначенные для сопряжения виртуальных и физических сетей. Они предоставляют сервисы IP routing, MPLS, NAT, Firewall, VPN, Load Balancing и многое другое.
Ecosystem partners - партнеры могут интегрировать собственные виртуальные модули (Virtual Appliances) в инфраструктуру NSX на уровнях L4-L7. Подробнее об этом написано здесь.
NSX Manager - это централизованное средство управления виртуальными сетями датацентра (с веб-консолью), которое взаимодействует с Controller Cluster.
Посмотрим на высокоуровневую архитектуру решения:
Как мы видим, NSX оперирует собственными виртуальными сетями, которые инкапсулируют в себе физические сети средствами протоколов STT, VXLAN и GRE (как это делается мы уже писали вот тут). А компонент NSX Gateway выполняет функции моста для коммутации на уровне L2 и маршрутизации на уровне L3.
В качестве серверных гипервизоров в инфраструктуре NSX могут быть использованы решения VMware vSphere, KVM или Xen.
Надо отметить, что есть два варианта развертывания решения:
Окружение, состоящее только из хостов vSphere: в этом случае NSX опирается на инфраструктуру vSphere Distributed Switch (VDS) при взаимодействии с компонентами решения. А компонент NSX Gateway опирается на решение NSX Edge, которое было выделено из подпродукта vCNS Edge (бывший vShield Edge).
Гибридное окружение с несколькими гипервизорами: тут NSX уже использует Open vSwitch для KVM и Xen, а также собственный виртуальный коммутатор NSX vSwitch, работающий на уровне ядра ESXi. С точки зрения шлюза тут уже NSX может использовать различные физические модули.
Вот так выглядит детальная архитектура решения VMware NSX с учетом развертывания в среде только с VMware vSphere (обратите внимание, что NSX может работать только с одним сервером vCenter - это ограничение архитектуры):
Тут видно, что на уровне гипервизора работают 4 компонента, так или иначе используемых NSX:
Distributed Firewall - распределенный сетевой экран, который мы упоминали вот тут.
А вот так выглядит решение NSX в гибридной среде с несколькими гипервизорами:
С точки зрения логических функций NSX выполняет следующее:
Logical Switching - NSX использует комбинацию Stateless Transport Tunneling (STT), Generic Routing Encapsulation (GRE) и VXLAN для гибридных окружений или только VXLAN для окружений vSphere, чтобы предоставлять коммутацию уровня L2 вне зависимости от нижележащей топологии сети. Теперь все происходит на уровне эмулируемой структуры виртуальных сетей, не затрагивающей IP-адреса и не привязанной к физическому расположению, что значит, что виртуальную машину можно перемещать между датацентрами без изменения конфигурации сетей.
Поддержка аппаратных туннелей - VXLAN Tunnel Endpoints (VTEPs), которые позволяют поддерживать технологию виртуальных сетей на аппаратном уровне и не создавать задержек в сети.
Logical Routing - теперь L3-маршрутизация возможна на логическом уровне, вне зависимости от нижележащего оборудования и за счет наличия distributed routing (DR) module в VMware ESXi с поддержкой протоколов динамической маршрутизации BGP и OSPF.
Logical Firewalling - эти возможности пришли из продукта vCNS App (vShield App), они позволяют обеспечить комплексную защиту датацентра средствами модулей распределенного сетевого экрана (distributed firewall, DFW).
Logical Load Balancing and VPN - эти функции были также взяты из vCNS и поддерживаются только для окружений vSphere. В этом случае компонент NSX Edge осуществляет балансировку соединений на уровне L7 с поддержкой различных алгоритмов, а также позволяет организовать надежный VPN-туннель к инфраструктуре на базе IPsec и SSL.
Более подробно о решении VMware NSX можно узнать на этой странице.