Обзор режима «распределённый коммутатор» в сетях FC и FCoE
Ожидает приглашения
В новых версиях стандартов Fibre Channel комитета T11 появился ещё один режим подключения устройств к фабрике Fibre Channel – распределённый коммутатор (Distributed Switch). Этот режим предназначен для уменьшения количества Domain ID в фабрике и бесшовного подключения к FC фабрике FCoE устройств.
— Fibre Channel Data Forwarder (FCDF) – (не)Коммутатор, предназначенный для подключения оконечных устройств. Не содержит распределённых сервисов фабрики, не участвует в маршрутизации FSPF, соответственно не имеет Domain ID. Не может иметь создавать ISL. Может содержать F- и A- порты, но не может содержать E-порты. Локально обрабатывает запросы к FFFFFE (F-port controller, запросы типов FLOGI, FDISK, LOGO, RLS), запросы к остальным сервисам фабрики пересылает в Controlling Switch. Таблицу маршрутизации и прочие данные получает от Controlling Switch, причём FCDF может подключаться к нему как напрямую, так и каскадом через другую FCDF;
— Controlling Switch – Один или несколько коммутаторов, обеспечивающих control plane распределённого коммутатора. Каждый Controlling Switch содержит два логических коммутатора: a) Principal Domain (не путать с Principal Switch) — это фактически обычный FC коммутатор, имеет уникальный Domain ID, может содержать F- и E- порты; b) Virtual Domain, представляющий собой логический конструкт, объединяющий все Fibre Channel Data Forwarder'ы и A-порты, ассоциированные c данным распределённым коммутатором и имеющий единый Domain ID на всех Controlling Switch распределённого коммутатора. Principal Domain и Virtual Domain соединяются внутри каждого Controlling Switch посредством логических E-портов;
— A-порт, ASL – Порт и линия связи для подключения Fibre Channel Data Forwarder к Controlling Switch или соединения двух Fibre Channel Data Forwarder между собой;
— Augmented ISL – линия связи ISL между Controlling Switch, по которой кроме обычного трафика управления фабрики, передаётся трафик, обеспечивающий отказоустойчивость Controlling Switch. Стандарт FC-SW-6 требует использования двух или более AISL между Controlling Switch. Путь между каждыми двумя Controlling Switch может проходить только по Augmented ISL, рекомендуется топология «каждый с каждым», full mesh.
Распределённый коммутатор в базовой схеме использования состоит из одного Controlling Switch и одного или нескольких Fibre Channel Data Forwarder. Например, вот конфигурация с двумя FCDF:

Обратите внимание на Storage #1. Он подключен к порту, принадлежащему Principal Domain. В фабрике Fibre Channel такая конфигурация отображается следующим образом:

Распределённый коммутатор в данном случае содержит два Domain ID: по одному для Principal Domain и Virtual Domain. Все FCDF, принадлежащие одному распределённому коммутатору, протокол маршрутизации фабрики FSPF считает одним коммутатором, подключенным к Controlling Switch (а точнее, к Principal Domain) через E-порт. Соответственно, устройства, подключенные ко всем FCDF распределённого коммутатора, с точки зрения сервисов фабрики выглядят подключенными к одному коммутатору.
Поскольку FCDF не могут управлять трафиком самостоятельно и всецело зависят от Controlling Switch, один Controlling Switch в распределённом коммутаторе является единой точкой отказа. Чтобы избежать этого риска, можно использовать несколько Controlling Switch. В этом случае при формировании распределённого коммутатора среди них происходят выборы, в результате один коммутатор получает роль «Primary Controlling Switch», один – «Secondary Controlling Switch», остальные — «Alternate Controlling Switch».
— Primary Controlling Switch управляет всем control plane распределённого коммутатора, в то числе распределяет идентификаторы для N-портов, поддерживает карту топологии распределённого коммутатора, вычисляет маршруты трафика для Virtual Domain и распространяет их в FCDF и Alternate Controlling Switch, распространяет информацию о зонировании в FCDF;
— Secondary Controlling Switch поддерживает синхронизацию с Primary Controlling Switch, получает от него информацию о распределении идентификаторов для N-портов, поддерживает карту топологии распределённого коммутатора, в случае выхода из строя Primary Controlling Switch получает его роль;
— Alternate Controlling Switch получает от Primary Controlling Switch информацию о распределении идентификаторов для N-портов и маршруты трафика для Virtual Domain, в случае если Secondary Controlling Switch выходит из строя или становится Primary Controlling Switch, один из Alternate Controlling Switch получает его роль;
К примеру, вот конфигурация с тремя Controlling Switch и четырьмя FCDF, при этом FCDF #3 и FCDF #4 подключены к Controlling Switch не напрямую, а каскадом через FCDF #1 и FCDF #2:

В фабрике Fibre Channel такая конфигурация отображается следующим образом:

Principal Domain каждого Controlling Switch присутствует в фабрике как отдельный коммутатор с уникальным Domain ID, а все FCDF выглядят как один коммутатор.
Вполне возможно, что в дальнейшем режим распределённого коммутатора будет использоваться как замена давно известных режимов прокси с использованием функционала N Port ID Virtualization (Access Gateway у Brocade или NPV у Cisco), поскольку он обладает рядом преимуществ. Так, N-порты устройств логинятся в фабрику без проброса портов устройств N-F-VN, соответственно к ним можно применять все способы зонирования, исчезает необходимость отдельной настройки политик безопасности и маршрутизации трафика в прокси-устройствах. Ещё одним преимуществом распределённого коммутатора является поддержка «горизонтальных» потоков трафика «East-West» между несколькими FCDF, соответственно можно сократить путь трафика, избавиться от «шпильки».
В скором времени ожидаются анонсы нового поколения коммутаторов Fibre Channel от основных вендоров (всех двух, ага). Посмотрим, будут ли они поддерживать данный режим работы.
— драфт стандарта Fibre Channel Switch Fabric-6 (FC-SW-6) Rev 2.00
— драфт стандарта Fibre Channel Framing and Signaling-4 (FC-FS-4) Rev 1.40
— драфт стандарта Fibre Channel Link Services (FC-LS-3) Rev 3.40
Новые роли коммутаторов и типы портов
— Fibre Channel Data Forwarder (FCDF) – (не)Коммутатор, предназначенный для подключения оконечных устройств. Не содержит распределённых сервисов фабрики, не участвует в маршрутизации FSPF, соответственно не имеет Domain ID. Не может иметь создавать ISL. Может содержать F- и A- порты, но не может содержать E-порты. Локально обрабатывает запросы к FFFFFE (F-port controller, запросы типов FLOGI, FDISK, LOGO, RLS), запросы к остальным сервисам фабрики пересылает в Controlling Switch. Таблицу маршрутизации и прочие данные получает от Controlling Switch, причём FCDF может подключаться к нему как напрямую, так и каскадом через другую FCDF;
— Controlling Switch – Один или несколько коммутаторов, обеспечивающих control plane распределённого коммутатора. Каждый Controlling Switch содержит два логических коммутатора: a) Principal Domain (не путать с Principal Switch) — это фактически обычный FC коммутатор, имеет уникальный Domain ID, может содержать F- и E- порты; b) Virtual Domain, представляющий собой логический конструкт, объединяющий все Fibre Channel Data Forwarder'ы и A-порты, ассоциированные c данным распределённым коммутатором и имеющий единый Domain ID на всех Controlling Switch распределённого коммутатора. Principal Domain и Virtual Domain соединяются внутри каждого Controlling Switch посредством логических E-портов;
— A-порт, ASL – Порт и линия связи для подключения Fibre Channel Data Forwarder к Controlling Switch или соединения двух Fibre Channel Data Forwarder между собой;
— Augmented ISL – линия связи ISL между Controlling Switch, по которой кроме обычного трафика управления фабрики, передаётся трафик, обеспечивающий отказоустойчивость Controlling Switch. Стандарт FC-SW-6 требует использования двух или более AISL между Controlling Switch. Путь между каждыми двумя Controlling Switch может проходить только по Augmented ISL, рекомендуется топология «каждый с каждым», full mesh.
Базовая схема распределённого коммутатора
Распределённый коммутатор в базовой схеме использования состоит из одного Controlling Switch и одного или нескольких Fibre Channel Data Forwarder. Например, вот конфигурация с двумя FCDF:

Обратите внимание на Storage #1. Он подключен к порту, принадлежащему Principal Domain. В фабрике Fibre Channel такая конфигурация отображается следующим образом:

Распределённый коммутатор в данном случае содержит два Domain ID: по одному для Principal Domain и Virtual Domain. Все FCDF, принадлежащие одному распределённому коммутатору, протокол маршрутизации фабрики FSPF считает одним коммутатором, подключенным к Controlling Switch (а точнее, к Principal Domain) через E-порт. Соответственно, устройства, подключенные ко всем FCDF распределённого коммутатора, с точки зрения сервисов фабрики выглядят подключенными к одному коммутатору.
Отказоустойчивость распределённого коммутатора
Поскольку FCDF не могут управлять трафиком самостоятельно и всецело зависят от Controlling Switch, один Controlling Switch в распределённом коммутаторе является единой точкой отказа. Чтобы избежать этого риска, можно использовать несколько Controlling Switch. В этом случае при формировании распределённого коммутатора среди них происходят выборы, в результате один коммутатор получает роль «Primary Controlling Switch», один – «Secondary Controlling Switch», остальные — «Alternate Controlling Switch».
— Primary Controlling Switch управляет всем control plane распределённого коммутатора, в то числе распределяет идентификаторы для N-портов, поддерживает карту топологии распределённого коммутатора, вычисляет маршруты трафика для Virtual Domain и распространяет их в FCDF и Alternate Controlling Switch, распространяет информацию о зонировании в FCDF;
— Secondary Controlling Switch поддерживает синхронизацию с Primary Controlling Switch, получает от него информацию о распределении идентификаторов для N-портов, поддерживает карту топологии распределённого коммутатора, в случае выхода из строя Primary Controlling Switch получает его роль;
— Alternate Controlling Switch получает от Primary Controlling Switch информацию о распределении идентификаторов для N-портов и маршруты трафика для Virtual Domain, в случае если Secondary Controlling Switch выходит из строя или становится Primary Controlling Switch, один из Alternate Controlling Switch получает его роль;
Отказоустойчивая схема распределённого коммутатора с каскадированием FCDF
К примеру, вот конфигурация с тремя Controlling Switch и четырьмя FCDF, при этом FCDF #3 и FCDF #4 подключены к Controlling Switch не напрямую, а каскадом через FCDF #1 и FCDF #2:

В фабрике Fibre Channel такая конфигурация отображается следующим образом:

Principal Domain каждого Controlling Switch присутствует в фабрике как отдельный коммутатор с уникальным Domain ID, а все FCDF выглядят как один коммутатор.
Заключение
Вполне возможно, что в дальнейшем режим распределённого коммутатора будет использоваться как замена давно известных режимов прокси с использованием функционала N Port ID Virtualization (Access Gateway у Brocade или NPV у Cisco), поскольку он обладает рядом преимуществ. Так, N-порты устройств логинятся в фабрику без проброса портов устройств N-F-VN, соответственно к ним можно применять все способы зонирования, исчезает необходимость отдельной настройки политик безопасности и маршрутизации трафика в прокси-устройствах. Ещё одним преимуществом распределённого коммутатора является поддержка «горизонтальных» потоков трафика «East-West» между несколькими FCDF, соответственно можно сократить путь трафика, избавиться от «шпильки».
В скором времени ожидаются анонсы нового поколения коммутаторов Fibre Channel от основных вендоров (всех двух, ага). Посмотрим, будут ли они поддерживать данный режим работы.
Ссылки на использованные материалы
— драфт стандарта Fibre Channel Switch Fabric-6 (FC-SW-6) Rev 2.00
— драфт стандарта Fibre Channel Framing and Signaling-4 (FC-FS-4) Rev 1.40
— драфт стандарта Fibre Channel Link Services (FC-LS-3) Rev 3.40