Fibre Channel - вспомнить все

 

Введение

Поговорка "Все новое - это хорошо забытое старое" справедлива и в динамичном компьютерном мире. Она в полной мере относится к интерфейсу Fibre Channel. Этот интерфейс существует довольно давно, но всегда считался уделом организаций с огромными и "резиновыми" бюджетами, не обращающими внимание на цену вопроса. С тех времен многое изменилось, но большинство руководителей ИТ подразделений до сих пор помнят о невероятной стоимости решений на базе Fibre Channel и по инерции даже не предполагают его применение у себя. Между тем Fibre Channel не просто обычный интерфейс между двумя устройствами. Применение Fibre Channel дает возможность принципиально изменить архитектуру компьютерной сети любой крупной организации. Эти заметки предназначены для тех, кто не имеет представления об этой технологии, но хотел бы начать с ней знакомиться. Поэтому рассказ будет немного утрированным с попыткой объяснить все "на пальцах".

Краткое описание Fibre Channel

В этой части заметки мы расскажем о собственно интерфейсе Fibre Channel, истории его создания, параметрах, физической реализации и т.п.

История

Все началось с того, что в 1988 году ANSI (Американский Национальный Институт по Стандартизации) создал рабочую группу по разработке нового интерфейса для высокоскоростного обмена данными между компьютерами, устройствами хранения данных, дисплеями и др. В 1988 году персональных компьютеров было мало, в качестве техники для решения серьезных задач их никто не рассматривал и новый интерфейс в первую очередь был нацелен на работу больших ЭВМ (mainframe) со своей периферией. Новый интерфейс было решено назвать Fibre Channel, поскольку он был последовательным, то есть по одной нитке. Для исключения ассоциаций с оптическим волокном вместо американского fiber в названии интерфейса применили британский вариант этого термина fibre. Учитывая, что основной топологией этого метода тогда была избрана петля с арбитражным доступом (Arbitrated Loop), то его полное название составило Fibre Channel Arbitrated Loop или FC-AL.

После появления первых массовых устройств с Fibre Channel в 1997 году ему предсказывалось светлое будущее. Если посмотреть прогнозы фирмы Dataquest в 1997 году, то предполагалось, что уже в 1998 году продажа аппаратуры для Fiber Channel превысит миллиард долларов, а к 2000 году Fibre Channel вытеснит SCSI по объему проданных контроллеров в денежном выражении. Также Dataquest предположила, что к 2000 году почти треть рынка жестких дисков для серверов и рабочих станций займут диски с Fibre Channel. 

Но этим прогнозам было не суждено сбыться. Высокая цена оборудования с Fibre Channel по сравнению с SCSI не позволила стать этому интерфейсу таким же популярным как SCSI хотя бы на рынке серверных систем. Fibre Channel активно использовался только в сегменте больших ЭВМ, стоящих сотни тысяч и миллионы долларов. Ситуация стала существенно меняться  только к 2004 году. Из-за заметного удешевления физической реализации Fibre Channel, стало возможным применение этого интерфейса и в недорогих серверных системах, доступных организациям с относительно небольшим ИТ бюджетом. 

Идея

Очень утрированно идею Fibre Channel можно изложить так - аналог SCSI интерфейса для работы по последовательным высокоскоростным каналам с возможностью коммутации и маршрутизации потоков данных подобно обычным Ethernet сетям и работой на больших расстояниях (до десятков километров). Повторяем, это очень упрощенная формулировка, но основную суть интерфейса Fibre Channel она отражает. Часто многие люди путают Fibre Channel с оптической реализацией Ethernet, считая что раз это оптика с такими же оптическими кабелями, то и назначение одно и то же. Разумеется, это далеко ни одно и то же. Fibre Channel по сути объединяет высокую скорость SCSI интерфейса и преимущества сетевой топологии.

Технические характеристики

  • Скорость передачи данных -  1 Gbit/s, 2 Gbit/s,  4 Gbit/s и 8 Gbit/s. C учетом того, что для соединения устройств применяются два оптических кабеля, каждый из которых работает в одном направлении, при сбалансированном наборе операций запись/чтения скорость обмена данными удваивается, т.е. Fibre Channel работает в полнодуплексном режиме. В пересчете на мегабайты паспортная скорость Fibre Channel составляет соответственно 100 MByte/s, 200 MByte/s , 400 MBytes/s, 800 Mbytes/s. Реально при 50% соотношении операций записи/чтения скорость интерфейса достигает 200 MByte/s, 400 MByte/s и 800 MBytes/s. В будущем должен появиться вариант на 16 Gbit/s или 1600 Mbyte/s. Наиболее популярны решения Fibre Channel на 4 Gbit/s, поскольку они имеют лучшее соотношение цена/качество.

  • Как и в SCSI интерфейсе, протоколы совместимы - устройство с FC-AL на 4 Gbit/s будет работать с контроллером на 1 Gbit/s и наоборот. Разумеется, скорость передачи данных в подобной паре будет определяться по самому медленному из устройств.

  • Дальность работы - до 300 метров на оптических многомодовых кабелях и полной скорости интерфейса, до 10 километров на одномодовом кабеле. Для перехода с многомодового на одномодовый кабель требуются специальные преобразователи стоимостью от $600 за пару. 

  • Реализация физического канала - либо медь, но только на скоростях не выше 1 Gbit/s, либо оптоволокно многомодовое 50/125 мкм и 62,5/125 мкм с соединителями типа SC или, что чаще встречается, LC. SC разъем выглядит так:

LC разъем по конструкции такой же, но просто в два раза меньше по габаритам.

 

Топология

Топология Fibre Channel. Несмотря на то, что формально Fibre Channel не является сетевым интерфейсом, его топология имеет много схожего с сетевой топологией. Итак, топология Fibre Channel может быть:

Arbitrated Loop (Петля с арбитражем, сокращенно AL).  Эта топология иллюстрируется рисунком ниже.

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

Point-To-Point (Точка - точка). Это топология, что называется "проще не бывает" и иллюстрируется ниже.

В этом варианте работа по Fibre Channel практически ничем не отличается от SCSI, разве что расстояния между устройствами могут быть на порядки больше.

Switched Fabric (Коммутируемая  структура, коммутируемая матрица). Самая популярная топология Fibre Channel сейчас и с высокой долей вероятности в будущем. На рисунке ниже показана идея этой топологии.

Эта топология близка к понятной многим топологии обычной сети - есть коммутатор и устройства, к коммутатору подключенные. Несмотря на похожесть Switched Fabric на сеть, реально эта топология функционирует несколько по иному, о чем пойдет речь ниже. Заметьте, что и название говорит само за себя - переключаемая матрица никак не ассоциируется с хабом или маршрутизатором обычного Ethernet.  Современные Switched Fabric, такие как QLogic SANBox 5800 на 20 FC портов, имеют агрегированную полосу пропускания 544 Gbits/s, т.е. 20 портов на 8+8 Gbits/s плюс полоса, необходимая для каскадирования  (подключения к другой Switched Fabric).

Виды портов Fibre Channel

  • NL_port - (Node Loop - Узел петли) порт на устройстве, через который устройство подключено к Arbitrated Loop (Петля с арбитражем).

  • FL_port - (Fabric Loop - Порт в петле) порт на внешнем устройстве, соединяемый с  коммутируемой матрицей (fabric).  Разумеется, топология подключения в этом случае Arbitrated Loop (Петля с арбитражем). 

  • L_port (Loop port - Порт в петле) просто термин, объединяющий и FL_port и NL_port.

  • N_port (Node - Узел)  порт на устройстве, через который устройство подключено по Point-To-Point (Точка - точка) топологии. 

  • F_port (Fabric port - Порт матрицы)  порт на коммутируемой матрице в топологии Switched Fabric (Коммутируемая  структура, коммутируемая матрица).

  • E_port (Expansion port - Порт расширения) порт, соединяющий две коммутируемые матрицы между собой. Связь, соединяющая два E_port, обычно называется ISL.

  • TE_port (Trunking Expansion - Соединение для расширения) -этот термин используется для описания нескольких портов, объединенных вместе для увеличения полосы пропускания.

  • G_port (Generic - Общий, простейший) - порт, эмулирующий F_port или E_port

Зачем все это нужно?

Безусловно, технические данные о Fibre Channel интересны сами по себе, но не поняв практического смысла в использовании Fibre Channel, нельзя по достоинству оценить все преимущества этого замечательного интерфейса. Поэтому мы плавно переходим к примерам практической реализации систем на Fibre Channel. 

Классика

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

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

  • Каждый сервер стоит довольно заметных денег, поскольку в составе сервера обязательно присутствует недешевый RAID массив.

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

  • Создание кластера (кластеров) требует покупки специального комплекта (комплектов) оборудования.

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

  • Невозможно перераспределение ресурсов дисковой памяти между серверами. Такая задача равносильна замене целиком сервера, что, кстати, часто и делается.

  • Администрирование системы, состоящей из разномастного оборудования и не имеющей программных средств для управления всей системой в целом слишком зависит от конкретных людей.

  • Сервера устанавливаются в одной или нескольких комнатах, что при техногенной аварии (прорыв воды например, или отопления, пожаре, наконец) приводит к огромным потерям - и данные теряются и сервера выходят из строя. Восстановление системы может потребовать массу времени и денег. 

Многие продвинутые руководители ИТ подразделений еще в 2003 году начали использовать  внешние SCSI to IDE/SATA системы хранения данных. Это позволяет "отвязать" хотя бы дисковую память от конкретного сервера и в случае необходимости менять только один компонент, которым как правило, является сервер, вычислительных возможностей которого часто не хватает. В этом варианте можно покупать сервера только исходя из их вычислительных возможностей и не платить каждый раз за большой встроенный дисковый массив. Такая схема построения сети предприятия показана на рисунке ниже.

 

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

Продолжение -->