...
...

Хранение данных и Fibre Channel

Окончание. Начало в КГ №39

В-третьих, FC-2 определяет топологии сетей Fibre Channel: точка-точка, кольцо, фабрика. Суть двухточечной (точка-точка) топологии и в Fibre Channel не претерпевает никаких изменений.



Два устройства соединяются между собой с помощью двух волокон. Выход каждого устройства соединяется со входом другого. Линия между устройствами неразделяемая и может быть использована ими на полную мощность. Точка-точка — конфигурация примитивная, и особенно много о ней не расскажешь. Кольцо с арбитражем (Fibre Channel Arbitrated Loop) — едва ли не самая используемая топология. Ее популярность такова, что сам стандарт FC часто ошибочно называют ее именем.




Выход каждого устройства соединяется со входом следующего. Среда разделяемая. Петля может использоваться как самостоятельная завершенная сеть или как структурная единица сети, построенной по топологии более высокого уровня. Петли могут быть одиночными и двойными (для устройств, имеющих несколько портов). Двойные петли используются для увеличения пропускной способности и придания отказоустойчивости. Одинарные петли отказоустойчивостью не обладают. При нарушении соединения даже в одном месте кольца все подключенные к нему устройства оказываются недоступными (в отличие от тех же колец SSA). Еще одним важным моментом, отличающим FC от SSA, является то, что среда передачи в Fibre Channel кольце является разделяемой. Т.е. одновременный обмен между более чем двумя устройствами на шине невозможен.

Функционирование петли возможно только после ее инициализации, которая заключается в назначении портам устройств физических адресов в пределах петли (AL_PA). Она должна выполняться всякий раз, когда происходит подключение или отключение устройств. Несмотря на то, что адрес AL_PA имеет размер 8 байт, для соблюдения баланса нулей и единиц в действительности используются лишь 127 значений. Но даже это число устройств для петли слишком велико. При большом числе устройств процедуры инициализации выполняются слишком долго, порой до нескольких десятков секунд. Это во-первых. Во-вторых, так как среда разделяемая, большое число устройств, одновременно претендующих на доступ, могут серьезно снизить производительность. В третьих, с ростом количества устройств растет время прохождения кадра к нужному устройству петли. Оптимальное число устройств для кольца — около 30.

В отличие от других технологий, Fibre Channel не использует фиксированных MAC-адресов, заменяя их динамическими адресными идентификаторами, назначаемыми при регистрации. Адрес FFFFFF предназначен для широковещательной рассылки. Адреса диапазона FFFFF0-FFFFFE используются определенными службами — в частности, серверами многоадресной рассылки, фабриками и др. Адрес выделяется в соответствии с приоритетом и до регистрации имеет значение, равное 000000 (считается неопределенным). Полный адрес устройства, как было отмечено при рассмотрении формата кадра, имеет размер 24 бит. Адрес устройства внутри кольца, как тоже уже было сказано абзацем выше, всего 8 бит. В полном адресе они занимают младшие позиции. Старшие 16 разрядов — адрес петли в коммутирующей структуре. Если петля является самостоятельной, то эти разряды не используются. Поскольку в петлевой конфигурации среда является разделяемой, устройства конкурируют между собой за доступ к ней. Арбитраж происходит следующим образом: нуждающееся устройство выдает в линию примитив арбитража (ARB) и вместе с ним свой адрес. Каждое устройство в цепочке, также нуждающееся в соединении, получив ARB, сравнивает адрес со своим собственным. Если свой адрес оказывается меньше адреса в примитиве, то последний изымается, а устройство выдает в канал примитив со своим адресом, если же нет — передает его дальше. Возврат примитива к устройству означает для него выигрыш арбитража. Выигрывает арбитраж устройство с наименьшим адресом. Далее оно по стандартной схеме открывает и производит обмен данными. За тем, чтобы устройство не занимало среду передачи слишком долго, призван следить специальный алгоритм честного доступа (Access Fairness Algorithm), правда, необязательный к реализации. Уже было сказано, что в чистом виде петля абсолютно неотказоустойчива. Для устранения этого недостатка можно использовать не только двойную петлю, но и активные концентраторы, которые умеют обнаруживать неполадки на каждом из портов и изолировать их.

Фабрика (fabric) — самая сложная, но в то же время и самая перспективная конфигурация Fibre Channel на основе коммутаторов, позволяющая преодолеть все недостатки петель и подключать свыше 16 млн устройств.



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

В четвертых, на уровне FC-2 описываются классы сервиса. Основных классов три, еще несколько являются комбинациями трех основных. Класс 1 — Acknowledged Connection Service (выделенные каналы с подтверждением). Между двумя устройствами посредством коммутирующей структуры устанавливается выделенное соединение. Оно остается открытым до тех пор, пока передача данных не будет завершена. Время установления соединения составляет несколько микросекунд. Предоставляемый канал обычно дуплексный, хотя по необходимости возможна организация симплексного (например, если необходимо одновременно передавать данные одному узлу и принимать от другого). Устройствам доступна вся его пропускная способность. Используется сквозное управление потоком. Гарантируется высокая скорость обмена и правильный порядок приема кадров. Идеально подходит для приложений, работающих с большими объемами данных — например, системы моделирования или обработки видео. Но нужно иметь в виду, что даже если пропускная способность не используется полностью данным приложением, она все равно недоступна для других приложений, пока соединение не будет закрыто, так как попытки соединения с таким портом будут отвергаться с выдачей сигнала "занято". Нерациональное использование пропускной способности может быть обусловлено не только малым потоком данных, генерируемых приложением, но и разной скоростью работы портов (при использовании предоставляемой первым классом возможности обмена через буфер). В этой связи интересна возможность коммутатора отслеживать занятый порт и ставить его в очередь на соединение: как только порт освободится, коммутатор сразу же установит с ним следующее соединение (Camp on).

Класс 2 — Acknowledged Connectionless Service (передачи без организации соединения с подтверждением). Каждый кадр коммутируется независимо от остальных, конечный порт может одновременно передавать и принимать данные от нескольких узлов, при этом канал между двумя взаимодействующими не выделяется (по сути, происходит мультиплексирование коммутатором трафика). Каждый кадр подтверждается принимающим устройством. И хотя упорядоченная доставка кадров в данном классе не является обязательной, большинство производителей в своих коммутаторах эту функцию реализуют. Подходит для передачи пульсирующего трафика.

Класс 3 — Unacknowledged Connectionless Service (передачи без организации соединения и без подтверждения). Аналогичен классу 2 за исключением того, что используется межбуферное управление потоком, а следовательно, нет настоящего подтверждения доставки. За счет этого удается достичь более высокой пропускной способности, но гарантий доставки нет. Используется для организации многоадресных и широковещательных рассылок, применяется также в системах массовой памяти. Наиболее предпочтительный класс сервиса для петлевых конфигураций.

Класс 4 — Fractional Bandwidth Connection-oriented Service (соединение с дробной полосой пропускания). Очень похож на класс 1, так как тоже предполагает установление соединения, подтверждение доставки, фиксированную задержку, соблюдение порядка кадров, но соединение между узлами устанавливается виртуальное с полосой пропускания, достаточной для предоставления услуг с предсказуемым качеством. Каждый порт может устанавливать несколько таких соединений (до 256). Используется для критичных ко времени доставки данных — например, видео- и аудиопотоков.

Класс 5. Вроде как предполагает истинную изохронную передачу, но до сих пор не описан ни в одном из FC-PH-стандартов. И вполне может быть, что и не будет описан вовсе.

Класс 6 — Unidirectional Connection Service (однонаправленное соединение). Аналогичен классу 1, но является исключительно однонаправленным. Используется для широковещательных и многоадресных рассылок через соответствующий сервер.
Смешанный класс — Intermix — является подвидом класса 1. Позволяет передавать кадры класса 2 или 3 в те моменты, когда приложение первого класса не занимает канал, причем кадры классов 2 или 3 необязательно должны быть адресованы тому же получателю, что и у класса 1. Был специально разработан с целью частично устранить блокировку фабрики передачами первого класса.

И, наконец, аппаратные средства, с помощью которых реализуется вся красота, описанная выше. Нельзя сказать, чтобы они относились к уровню именно FC-2, равно как нельзя сказать, что они относятся к какому-то другому уровню. Поэтому сойдемся на том, что они относятся к уровню FC-PH, и посмотрим, какие они бывают:
— Адаптеры обеспечивают соединение компьютера, локальной сети или периферии с сетью Fibre Channel. Это устройство, необходимое для передачи и приема данных по интерфейсу.
— Концентраторы — многопортовые устройства, предназначенные для организации наиболее удобной схемы подключения устройств. Позволяют решить проблемы ненадежности петли. С их помощью реализуется физическая топология "звезда" (логическая по-прежнему остается "кольцо") с возможностью обнаружения неполадок и изоляцией каждого порта с созданием внутреннего обходного пути для сохранения работоспособности оставшейся части. Коммутаторы обычно имеют небольшое число портов, но при необходимости могут соединяться каскадно. Продвинутые концентраторы могут поддерживать развитые сервисные функции вроде удаленного администрирования и пр.
— Коммутаторы — многопортовые устройства, позволяющие предоставлять узлам выделенную пропускную способность и создавать топологии с большим числом устройств, не сталкиваясь при этом с характерными проблемами арбитражной петли, как-то: нарастающая по мере увеличения узлов латентность, продолжительная процедура инициализации, конкуренция за пропускную способность канала. Кроме того, возможна поддержка одним коммутатором разных сред и разных скоростей передачи. По сути, коммутаторы Fibre Channel состят из двух видов коммутаторов — каналов и кадров. Они несложны в установке и использовании, так как способны самоуправляться и самоконфигурироваться. При подключении узла к коммутатору все параметры будут согласованы автоматически.
— Маршрутизатор — очень редко встречающееся устройство в Fibre Channel сетях. Предназначен для подключения сетей Fibre Channel к другим средам передачи — к примеру, SCSI.

Порты, которыми оснащаются устройства, различаются в зависимости от типа устройства, на котором они установлены, назначения и поддерживаемых топологий. Определены следующие их виды:
• N_Port (от Node — узел) — узловой порт, порт на конечном устройстве.
• F_Port (от Fabric) — порт на коммутаторе, предназначенный для подключения конечных устройств.
• E_Port (Expansion) — порт расширения, предназначенный для объединения концентраторов между собой.
• G_Port (Generic) — универсальный порт коммутатора, т.е. порт, к которому могут подключаться также другие коммутаторы и узлы.
Если порт способен работать в арбитражных петлях, то в маркировку добавляется буква L (от loop): NL_Port, FL_Port, GL_Port. Уровни FC-0, FC-1, FC-2 вместе образуют так называемый физический уровень Fibre Channel (Fibre Channel Physical — FC-PH).
FC-3 описывает четыре вида общих серверов, доступных всем N_портам. Они описаны в руководстве по Fibre Channel (). Позволю себе схалтурить и привести описания отттуда:
• Сервер имен (Name Server). Сервер имен поддерживает каталог N_портов в пределах одной сети Fiber Channel и базу данных с такими элементами, как идентификаторы (ID), внешние имена и протоколы FC-4, поддерживаемые для каждого N_порта. Любой N_порт может в любое время обращаться к серверу имен для получения списка других подключенных к сети N_портов.
• Cервер альтернативных имен (Alias Server). Используется для присвоения альтернативных имен многоадресным группам (multicast groups) и группам захвата (hunt groups). Во все N_порты, которым было поставлено в соответствие альтернативное имя многоадресной группы, посылается групповой кадр (muiticast frame). Группа захвата — это совокупность всех N_портов, интерфейсы Fibre Channel которых объединены в одном узле. Этому множеству N_портов сервер альтернативных имен назначает специальный идентификатор, в результате чего все кадры с данным идентификатором будут направляться в любой свободный (незанятый) N_порт из этого набора. Подобный подход позволяет повысить эффективность пересылки благодаря снижению вероятности того, что некий N_порт будет занят.
• Cлужба управления (Management Services). Службы управления — это средства доступа к сети Fibre Channel, ее внутренней топологии и конфигурационным данным со стороны управляющих приложений. Управляющие приложения могут, например, указывать, каким N_портам разрешено взаимодействовать друг с другом. Другие службы позволяют управляющим приложениям выявлять характер взаимосвязей в сети Fibre Channel. Для правильного конфигурирования сети Fibre Channel предусмотрена служба предоставления прав доступа.
• Cервер ключей (Key Server). Обеспечивает стандартный метод распределения ключей доступа и ключей шифрования. Обращение к серверу ключей может понадобиться, например, управляющему приложению для получения необходимого ключа доступа перед тем, как обратиться к службам управления.
FC-4 определяет отражение протоколов FC-AL на протоколы других существующих популярных интерфейсов и наоборот на основе аппаратного набора логических матриц, определяющих соответствие FC-AL и другого протокола более высокого уровня, в числе которых:
• Internet Protocol (IP);
• Small Computer System Interface (SCSI);
• High Performance Parallel Interface (HIPPI);
• Intelligent Peripheral Interface — 3 (IPI-3) и другие, в том числе будущие.

Пожалуй, я описал все общие моменты технологии в объеме, достаточном для формирования общего представления о технологии. На самом деле это очень краткий обзор, так как нельзя в одной статье охватить полностью технологию, описываемую в более чем двух десятках стандартов.
Подытоживая все сказанное, Fibre Channel — это надежное, высокопроизводительное, удобное и недорогое коммуникационное средство, которое может использоваться и как технология ввода-вывода, и как технология локальной сети. С его помощью можно строить гетерогенные кластеры накопителей, серверов и рабочих станций, значительно повышая эффективность использования корпоративных ресурсов.
Если остались какие-то вопросы, рекомендую воспользоваться той же литературой, которой пользовался и я при подготовке статьи. Первый, и самый главный, источник — спецификации стандарта на сайте www.t11.org. Во-вторых, стоит посетить сайт FCIA (www.fibre-channel.org) (Fibre Channel Industry Association) или, в третьих, сайт, посвященный ему же, но на русском (www.fibre-channel.ru). В четвертых, хорошее руководство было опубликовано в журнале компьютерной автоматизации ( http://www.mka.ru/?p=40030). В-пятых, стоит взглянуть на вот этот: http://www.iol.unh.edu/knowledgeBase/training/files/fc/fc_tutorial.html, — учебный материал. Ответы на часто задаваемые вопросы лежат здесь: http://www.attotech.com/fcq.html.
Ну и, конечно, нельзя забывать FC: это технология SAN-строения, потому в Санчасти (www.infosan.ru) ей уделяют немало внимания.

Korg

© Компьютерная газета

полезные ссылки
Аренда ноутбуков