Предпосылки к появлению
FCoE еще называют унифицированной фабрикой (Unified Fabric). Отчего же так повелось? Давайте окунемся на некоторое время назад и вспомним (а кто-то просто узнает) как раньше строились сети. Отдельно существовала LAN сеть, отдельно SAN.
Это не очень удобно: на серверах были отдельные адаптеры для FC и Ethernet, требовалось больше коммутаторов, следовательно возрастала административная нагрузка. FCoE же позволяет уйти от этих проблем. Главное, чтобы сетевые устройства и сервера поддерживали технологию.
Прим. Сетевые адаптеры, которые умеют передавать как FC, так и Ethernet трафик, называются Converged Network Adapter (CNA).
Обзор технологии
FCoE позволяет передавать Fibre Channel (FC) трафик через физический Ethernet порт. Все FCoE фреймы используют уникальный EtherType (0x8906), который позволяет коммутатору понять, что к нему пришел не просто Ethernet, а FC. Ниже представлена FCoE инкапсуляция.
Существует одна большая проблема: Ethernet по-умолчанию является протоколом, который никому ничего не должен и ничего не гарантирует – фреймы могут дропаться (по разным причинам). FC же требуется среда без потерь (lossless среда), что связано с работой протоколов более высокого уровня (SCSI). Напомню, что в FC такого рода бездропная передача фреймов организована с помощью Buffer-to-Buffer кредитов.
Соответственно если мы хотим передать FC трафик поверх Ethernet’а, то придется его несколько модифицировать. В частности, появились такие технологии, как link-level flow control (LLFC) и priority flow control (PFC).
FCoE Initialization Protocol (FIP)
Если Data Plane для FCoE не представляет особого интереса, то вот процесс Control Plane довольно интересен. У FC протоколом на CP является FIP. Рассмотрим его основные функции.
FIP vlan Discovery. FCoE фреймы передаются в рамках vlan’ы. Для FCF важно понимать, к какой VSAN’е относится тот или иной фрейм. Поэтом первым делом необходимо узнать vlan’у для передачи трафика. При подключении, конечная станции высылает служебное сообщение на зарезервированный мультикастный МАС-адрес, который прослушивается всеми FCF. Эти сообщение передаются в рамках native vlan, все последующие – в рамках узнанной только что vlan.
FIP FCF Discovery. Это процесс поиска FCF, который готов обслужить процесс залогирования в фабрику. Этап необходим для информирования сервера о том, что FCoE vlan’а готова для установления логического FC туннеля между двумя сторонами.
FIP FLOGI. После получения FCoE VLAN и FCoE MAC можно начинать классический FC процесс FLOGI. FCoE FLOGI это юникастовый фрейм, полностью аналогичный фрейму в FC.
Прим. Все FIP сообщения передаются с Ethertype 0x8914
Прим. FIP и FCoE фреймы используют разный Source MAC. Для FIP используется встроенный производителем адрес в CAN. Для FCoE используется МАС, полученный от фабрики (Fabric Provided MAC Address, FPMA).
Data Center Bridging
Помните что происходит в FC, когда на одной из станции кончаются кредиты? Правильно, высылается сообщение PAUSE. Это и есть метод, обеспечивающий lossless среду. Примерно тоже самое перенесли из FC на FCoE, но с некоторыми дополнениями и улучшениями, в частности:
- Priority Flow Control (PFC)
- Enhanced Transmission Selection
- Congestion Notification
- DataCenter Bridging Exchange
Рассмотрим эти тенхологии по отдельности.
Priority Flow Control (802.1Qbb)
Сообщение 802.3x PAUSE работает как и задумано – заставляет передатчик прекратить передачу. Но такое поведение имеет определенные минусы – перестает передаваться абсолютно весь трафик, независимо от того, насколько он критичен (иначе говоря, не смотрится QoS приоритет). Т.е. PAUSE для одного приложения может повлиять на передачу данных других, более важных приложений.
Стандарт 802.1Qbb расширяет базовый 802.3X PAUSE функционал, вводя понятие PAUSE per CoS. PFC использует 802.1p CoS значения внутри 802.1Q заголовка для передачи PAUSE только для конкретного класса обслуживания (или для нескольких сразу). На рисунке ниже представлено сравнение фреймов 802.3x и 802.1Qbb. Поле Pad отвечает за интервал времени, на которое требуется приостановить передачу. Если Pad=0, то CoS следует снять с паузы.
Enhanced Transmission Selection (802.1Qaz)
Всем вам хорошо известен классический QoS: WRR/DWRR, Priority Queue и т.д. Все эти методы характеризует одно: администратор задает коэффициенты, согласно которым тому или иному классу трафика выделяется определенное количество полосы пропускания в случае перегрузки линка. ETS позволяет проводить динамическое распределение полосы пропускания между классами трафика по необходимости. Если кратко, то решение о том, сколько полосы выделить, базируется на метке CoS.
Прим. Прочитать подробно про ETS можно здесь: http://ieee802.org/1/pages/802.1az.html
Data Center Bridging Exhange Porotocol (802.1Qaz)
DCBX это p2p протокол, который используется для обнаружения соседей и обмена конфигурационной информацией между DCB-совместимыми коммутаторами.
DCBX для транспорта использует протокол LLDP, в котором используются специальные TLV для переноса нужной информации. Вот его основные функции:
- Обнаружение DCB возможностей соседа. Это механизм, который позволяет коммутатору узнать, поддерживает ли сосед PFC или ETS.
- DCBX может использоваться как для настройки каких-то фич на линке, так и для обнаружения несоответствия настроек на двух соседях, которые могут привести к тому, что PFC PAUSE не будет работать.
Настройка FCoE
В этом разделе мы посмотрим, как настраивается FCoE на коммутаторе Nexus 5500. В качестве тестовой среды используется следующая топология
Вся настройка состоит из нескольких шагов. Я буду подразумевать, что FC связность между N5K и MDS уже настроена. SAN_A относится к vsan 100, SAN_B к vsan 200 (пример конфига привожу только для SAN_A, т.к. для SAN_B все точно такое же).
feature fcoe
feature lldp // необходимо для DCBX
vlan 100 // создаем binding между vsan и vlan
fcoe vsan 100
interface vfc 110 // виртуальный интерфейс FC
switchport mode F
bind interface e1/10
vsan database
vsan 100 interface vfc110
interface e1/10
switchport mode trunk
spanning-tree port type edge trunk
switchport trunk native vlan 10 || switchport access vlan 10
switchport trunk allowed vlan 10,100
Команда switchport trunk native vlan в моем случае – аналог switchport access vlan 10, т.к. на тестовом сервере не создано никаких виртуальных машин (просто стоит Win2008) и все фреймы в LAN идут нетегированными.
Далее настраивается zoning и прочие прелести нативного fibre channel.
Метки: FCoE
Опубликовано: Unified Fabric
» Оставить комментарий
Вы должны войти чтобы прокомментировать.