О SAN (Storage Area Network) на пальцах. Резервирование и отказоустойчивость. Эволюция сетей и коммутаторы

В деле познания SAN столкнулся с определённым препятствием - труднодоступностью базовой информации. В вопросе изучения прочих инфраструктурных продуктов, с которыми доводилось сталкиваться, проще - есть пробные версии ПО, возможность установить их на вирутальной машине, есть куча учебников, референс гайдов и блогов по теме. Cisco и Microsoft клепают очень качественные учебники, MS вдобавок худо-бедно причесал свою адскую чердачную кладовку под названием technet, даже по VMware есть книга, пусть и одна (и даже на русском языке!), причём с КПД около 100%. Уже и по самим устройствам хранения данных можно получить информацию с семинаров, маркетинговых мероприятий и документов, форумов. По сети же хранения - тишина и мёртвые с косами стоять. Я нашёл два учебника, но купить не решился. Это "Storage Area Networks For Dummies " (есть и такое, оказывается. Очень любознательные англоговорящие «чайники» в целевой аудитории, видимо) за полторы тысячи рублей и "Distributed Storage Networks: Architecture, Protocols and Management " - выглядит более надёжно, но 8200р при скидке 40%. Вместе с этой книгой Ozon рекомендует также книгу «Искусство кирпичной кладки».

Что посоветовать человеку, который решит с нуля изучить хотя бы теорию организации сети хранения данных, я не знаю. Как показала практика, даже дорогостоящие курсы могут дать на выходе ноль. Люди, применительно к SAN делятся на три категории: те, кто вообще не знает что это, кто знает, что такое явление просто есть и те, кто на вопрос «зачем в сети хранения делать две и более фабрики» смотрят с таким недоумением, будто их спросили что-то вроде «зачем квадрату четыре угла?».

Попробую восполнить пробел, которого не хватало мне - описать базу и описать просто. Рассматривать буду SAN на базе её классического протокола - Fibre Channel.

Итак, SAN - Storage Area Network - предназначена для консолидации дискового пространства серверов на специально выделенных дисковых хранилищах. Суть в том, что так дисковые ресурсы экономнее используются, легче управляются и имеют большую производительность. А в вопросах виртуализации и кластеризации, когда нескольким серверам нужен доступ к одному дисковому пространству, подобные системы хранения данных вообще незаменимая штука.

Кстати, в терминологиях SAN, благодаря переводу на русский, возникает некоторая путаница. SAN в переводе означает «сеть хранения данных» - СХД. Однако классически в России под СХД понимается термин «система хранения данных», то есть именно дисковый массив (Storage Array ), который в свою очередь состоит из Управляющего блока (Storage Processor, Storage Controller ) и дисковых полок (Disk Enclosure ). Однако, в оригинале Storage Array является лишь частью SAN, хотя порой и самой значимой. В России получаем, что СХД (система хранения данных) является частью СХД (сети хранения данных). Поэтому устройства хранения обычно называют СХД, а сеть хранения - SAN (и путают с «Sun», но это уже мелочи).

Компоненты и термины

Технологически SAN состоит из следующих компонентов:
1. Узлы, ноды (nodes)
  • Дисковые массивы (системы хранения данных) - хранилища (таргеты )
  • Серверы - потребители дисковых ресурсов (инициаторы ).
2. Сетевая инфраструктура
  • Коммутаторы (и маршрутизаторы в сложных и распределённых системах)
  • Кабели

Особенности

Если не вдаваться в детали, протокол FC похож на протокол Ethernet с WWN-адресами вместо MAC-адресов. Только, вместо двух уровней Ethernet имеет пять (из которых четвёртый пока не определён, а пятый - это маппинг между транспортом FC и высокоуровневыми протоколами, которые по этому FC передаются - SCSI-3, IP). Кроме того, в коммутаторах FC используются специализированные сервисы, аналоги которых для IP сетей обычно размещаются на серверах. Например: Domain Address Manager (отвечает за назначение Domain ID коммутаторам), Name Server (хранит информацию о подключенных устройствах, эдакий аналог WINS в пределах коммутатора) и т.д.

Для SAN ключевыми параметрами являются не только производительность, но и надёжность. Ведь если у сервера БД пропадёт сеть на пару секунд (или даже минут) - ну неприятно будет, но пережить можно. А если на это же время отвалится жёсткий диск с базой или с ОС, эффект будет куда более серьёзным. Поэтому все компоненты SAN обычно дублируются - порты в устройствах хранения и серверах, коммутаторы, линки между коммутаторами и, ключевая особенность SAN, по сравнению с LAN - дублирование на уровне всей инфраструктуры сетевых устройств - фабрики.

Фабрика (fabric - что вообще-то в переводе с английского ткань, т.к. термин символизирует переплетённую схему подключения сетевых и конечных устройств, но термин уже устоялся) - совокупность коммутаторов, соединённых между собой межкоммутаторными линками (ISL - InterSwitch Link ).

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

Фабрики могут иметь идентичную (зеркальную) топологию или различаться. Например одна фабрика может состоять из четырёх коммутаторов, а другая - из одного, и к ней могут быть подключены только высококритичные узлы.

Топология

Различают следующие виды топологий фабрики:

Каскад - коммутаторы соединяются последовательно. Если их больше двух, то ненадёжно и непроизводительно.

Кольцо - замкнутый каскад. Надёжнее просто каскада, хотя при большом количестве участников (больше 4) производительность будет страдать. А единичный сбой ISL или одного из коммутаторов превращает схему в каскад со всеми вытекающими.

Сетка (mesh ). Бывает Full Mesh - когда каждый коммутатор соединяется с каждым. Характерно высокой надёжностью, производительностью и ценой. Количество портов, требуемое под межкоммутаторные связи, с добавлением каждого нового коммутатора в схему растёт экспоненциально. При определённой конфигурации просто не останется портов под узлы - все будут заняты под ISL. Partial Mesh - любое хаотическое объединение коммутаторов.

Центр/периферия (Core/Edge) - близкая к классической топологии LAN, но без уровня распределения. Нередко хранилища подключаются к Core-коммутаторам, а серверы - к Edge. Хотя для хранилищ может быть выделен дополнительный слой (tier) Edge-коммутаторов. Также и хранилища и серверы могут быть подключены в один коммутатор для повышения производительности и снижения времени отклика (это называется локализацией). Такая топология характеризуется хорошей масштабируемостью и управляемостью.

Зонинг (зонирование, zoning)

Ещё одна характерная для SAN технология. Это определение пар инициатор-таргет. То есть каким серверам к каким дисковым ресурсам можно иметь доступ, дабы не получилось, что все серверы видят все возможные диски. Достигается это следующим образом:
  • выбранные пары добавляются в предварительно созданные на коммутаторе зоны (zones);
  • зоны помещаются в наборы зон (zone set, zone config), созданные там же;
  • наборы зон активируются в фабрике.

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

Напоследок, в качестве постскриптума, перечислю базовые рекомендации по проектированию фабрики SAN .

  • Проектировать структуру так, чтобы между двумя конечными устройствами было не более трёх коммутаторов.
  • Желательно чтобы фабрика состояла не более чем из 31 коммутатора.
  • Стоит задавать Domain ID вручную перед вводом нового коммутатора в фабрику - улучшает управляемость и помогает избежать проблем одинаковых Domain ID, в случаях, например, переподключения коммутатора из одной фабрики в другую.
  • Иметь несколько равноценных маршрутов между каждым устройством хранения и инициатором.
  • В случаях неопределённых требований к производительности исходить из соотношения количества Nx-портов (для конечных устройств) к количеству ISL-портов как 6:1 (рекомендация EMC) или 7:1 (рекомендация Brocade). Данное соотношение называется переподпиской (oversubscription).
  • Рекомендации по зонингу:
    - использовать информативные имена зон и зон-сетов;
    - использовать WWPN-зонинг, а не Port-based (основанный на адресах устройств, а не физических портов конкретного коммутатора);
    - каждая зона - один инициатор;
    - чистить фабрику от «мёртвых» зон.
  • Иметь резерв свободных портов и кабелей.
  • Иметь резерв оборудования (коммутаторы). На уровне сайта - обязательно, возможно на уровне фабрики.

SAN Коммутаторы (SAN switches)

SAN коммутаторы используются в качестве центрального коммутирующего устройства для узлов сети SAN. Вы вставляете один конец оптического кабеля в разъем на адаптере вашего сервера или контроллере дискового массива, а другой в порт на коммутаторе. Коммутатор можно сравнить с набором проводов, которые скроссированы таким образом, чтобы позволить каждому устройству сети «говорить» по одному проводу с любым другим устройством сети одновременно. Т.е, иными словами все абоненты могут разговаривать одновременно.
Один или несколько коммутаторов, соединенных между собой образуют фабрику. Одна фабрика может состоять из одного или нескольких коммутаторов (до 239 в настоящее время). Поэтому, фабрику можно определить как сеть, состоящую из соединенных между собой коммутаторов. SAN может состоять из нескольких фабрик. Большинство SAN состоит по крайне мере из двух фабрик, одна из которых является резервной.
Вы можете подключить серверы и хранилища к SAN используя один коммутатор, но правилом хорошего тона является использование двух коммутаторов, дабы избежать потерю данных и простои при выходе из строя одного из них. На рисунке 1 показана обычная фабрика, использующая два коммутатора для соединения серверов с дисковым массивом.

Рис 1. Простейшая фабрика с использованием 2-х коммутаторов.

С увеличением количества серверов и хранилищ в вашей SAN вы просто добавляете коммутаторы.

Рис 2. Расширение SAN Fabric

Модульные или обычные коммутаторы (modular switches)

SAN коммутаторы бывают на любой вкус от 8 до сотен портов. Большинство модульных коммутаторов поставляется с 8 или 16 портами. Последним веянием является возможность наращивать количество портов на приобретенном коммутаторе с инкрементом 4. Типичным примером такого коммутатора может служить Qlogic SANbox 5200 (рис. 3). Этот продукт вы можете приобрести с 8-ю портами в базе, и наращивать затем до 16 в одном модуле и до 64 портов (!) в четырех модулях, соединяемых между собой 10 гигабитным FC.

Рис 3. Qlogic SANbox 5200 - четырехмодульный стек с 64 портами

Директоры или коммутаторы класса предприятия (director switches)

Директоры на много дороже модульных коммутаторов и обычно содержат сотни портов (рис. 4). Директоры можно увидеть в центре очень больших коммутированных фабрик в качестве ядра сети. Директоры обладают исключительной отказоустойчивостью и поддерживают работоспособность всей инфраструктуры 24 часа в сутки, 7 дней в неделю. Они позволяют осуществлять регламентные работы и замену модулей «на лету».

Рис. 4. SilkWorm 1200 128 port и McData InterPid 6140

Директор состоит из платформы, модулей портов горячей замены (обычно 12 или 16 портов) и процессорных модулей горячей замены (обычно двухпроцессорных). Директор можно приобрести с 32 портами и наращивать его до 128 – 140 портов.
В корпоративных сетях SAN обычно используют директоры в качестве ядра сети. К ним подключают модульные коммутаторы в качестве оконечных (граничных) коммутаторов. К тем, в свою очередь подключают серверы и хранилища. Такая топология называется ядро-граница (core-to-edge topology) и позволяет масштабировать сеть до тысяч портов (рис. 5).

Рис. 5. Топология ядро-граница с использованием директоров.


SAN маршрутизаторы или мультипротокльные коммутаторы (multiprotocol switches)

SAN маршрутизаторы служат для соединения удаленных островков SAN в единую сеть для решения задач защиты от катастроф, консолидации ресурсов хранения, организации процедур back-up данных удаленных подразделений на ленточные и дисковые ресурсы головного центра данных и т.д (рис 6.). Объединение удаленных сетей SAN в единый ресурс это следующий шаг в эволюции сетей хранения данных после внедрения SAN в головной структуре и подразделениях предприятий (рис. 7).

Рис. 6: McDATA Eclipse 1620, 3300 и 4300

Рис. 7: Объединение удаленных сетей SAN в единый ресурс

Островки SAN можно соединить, используя протокол FC и обычные модульные коммутаторы или директоры, через одномодовый оптический кабель (single mode cable или dark fiber) или же используя оборудование мультиплексирования (DWDM). Однако такой метод не позволит вам выйти за рамки города (радиус 70 км.). Для большего удаления понадобится протокол Fiber Channel over IP (FCIP, http://www.iscsistorage.com/ipstorage.htm), реализованный в маршрутизаторах Eclipse компании McData (рис. 6). FCIP «заворачивает» каждый кадр FC в пакет IP для транспорта через сеть IP. Принимающая сторона распаковывает пакет IP и достает оттуда оригинальный кадр FC для дальнейшей передачи уже по локальной сети FC. Здесь расстояния не ограничены. Все дело лишь в скорости вашего канала IP.

Типы FC кабелей

В качестве физической среды передачи данных в сетях FC используют оптоволоконный или медный кабель. Медный кабель представляет собой витую пару в оболочке и использовался в основном для местных подключений в сетях FC 1Gbit/s. В современных сетях FC 2Gbit/s в основном используется оптоволоконный кабель.
Существует два вида оптоволоконного кабеля: одномодовый и многомодовый.

Одномодовый кабель (long wave)

В одномодовом кабеле (SM) существует единственный путь распространения световой волны. Размер сердцевины (core size) обычно составляет 8.3 мк. Одномодовые кабели используются в устройствах, в которых требуется низкий уровень исчезновения (потери) сигнала и высокая скорость передачи данных, например на больших интервалах между двумя системами или сетевыми устройствами. Например, между сервером и хранилищем, расстояние между которыми, несколько десятков километров.

Максимальное расстояние между двумя узлами сети FC 2Gbit, соединенных одномодовым кабелем 80км без повторителей.

Многомодовый кабель (short wave)

Многомодовый кабель (MM) способен передавать по одному волокну несколько световых волн, так как относительно большой размер сердцевины позволяет свету распространяться под различными углами (рефракция). Типичными размерами сердцевины для MM являются 50 мк и 62.5 мк. Многомодовые волоконные соединения лучше всего подходят для устройств, работающих на небольших расстояниях. Внутри офиса, здания.

Максимальное расстояние на которое многомодовый кабель поддерживает скорость 2 Gbit/s – 300 (50um) и 150м (62,5 um).

Типы разъемов FC кабелей (Cable connector types)

Разъемы FC кабелей бывают:

Типы трансиверов (GBIC types)

Устройства для преобразования света в электрический сигнал и наоборот, называют трансиверами. Их еще называют GBIC (Gigabit Interface Connectors). Трансивер находится на плате FC адаптера (FC HBA), обычно он впаян в нее, в свитче - в виде съемного модуля (см. рис.) и на устройстве хранения в том или ином виде.

Трансиверы бывают:


SFP-LC HSSDC2

Cъемные модули трансиверов (SFP)

HSSDC2 : для 1/2Gbit FC для медного кабеля
SFP-LC : (Small Form Factor Pluggable LC) 1/2Gbit FC Short/Long wave для оптоволоконного кабеля с LC коннектором
SFP-SC : (Small Form Factor Pluggable SC) 1/2Gbit FC Short/Long wave для оптоволоконного кабеля с SC коннектором

7 Структурные элементы SAN

В предыдущих разделах приведен обзор топологий и протокола Fibre Channel. Теперь рассмотрим различные устройства и компоненты, которые используются для создания сетей хранения данных Fibre Channel. К основным структурным элементам SAN относятся:

■ адаптеры шины;

■ кабели Fibre Channel;

■ разъемы;

■ устройства подключения, в число которых входят концентраторы, коммутаторы и коммутаторы связной архитектуры.

Обратите внимание, что все адресуемые компоненты в пределах сети хранения данных на основе Fibre Channel имеют уникальные имена WWN (World Wide Names), которые представляют собой аналоги уникальных адресов MAC. Имя WWN в спецификации Fibre Channel - это 64-разрядное число, записываемое в виде XX: XX: XX: XX: XX: XX: XX: XX. Институт IEEE назначает каждому производителю определенный диапазон адресов. Производитель отвечает за уникальное выделение назначенных адресов.

7.1 Адаптеры шины

Адаптер шины (host bus adapter - НВА ) подключается к компьютеру и обеспечивает взаимодействие с устройствами хранения данных. В мире персональных компьютеров под управлением Windows адаптеры шины обычно подключаются к шине PCI и могут предоставлять подключение для устройств IDE, SCSI и Fibre Channel. Адаптеры шины работают под управлением драйвера устройства, т.е. драйвера мини-порта SCSIPort или Storport.
При инициализации порт адаптера шины регистрируется на коммутаторе связной архитектуры (если таковой доступен) и регистрирует хранящиеся на нем атрибуты. Атрибуты доступны приложениям с помощью API от производителя коммутатора или адаптера шины. Ассоциация SNIA (Storage Networking Industry Association) pa6oтaeт над стандартизированным API, поддерживающим различные API производителей.
Для сети хранения данных, к которой выдвигаются серьезные требования по отказоустойчивости, некоторые производители адаптеров шины предоставляют дополнительные возможности, например автоматическое переключение на другой адаптер шины при отказе в работе основного.
В кольце с разделением доступа только два устройства могут одновременно осуществлять прием и передачу данных. Предположим, что одно из них - это адаптер шины, подключенный к узлу и получающий данные от устройства хранения. Но, если этот адаптер подключен к сети хранения данных на основе коммутируемой связной архитектуры, он может одновременно отправлять несколько запросов на чтение нескольким устройствам хранения.

Ответы на эти запросы могут приходить в любом порядке. Обычно коммутатор связной архитектуры предоставляет службу циклического обслуживания для портов, что еще более усложняет задачу адаптера шины; в этом случае порядок поступления пакетов окажется таким, что каждый следующий пакет будет приходить от другого источника.
Адаптеры шины позволяют решить эту проблему одним из двух способов. Первая стратегия, которая называется сохранить и отсортировать, подразумевает хранение данных в памяти узла с последующей сортировкой буферов за счет центрального процессора. Очевидно, что это неэффективный подход с точки зрения центрального процессора и общая нагрузка связана с переключением контекста каждые несколько десятков микросекунд. Другая стратегия - на лету - подразумевает использование дополнительной системной логики и микросхем на самом адаптере шины, что позволяет осуществлять переключение контекста без использования циклов центрального процессора. Обычно время между переключениями контекста при использовании такой стратегии составляет несколько секунд.
Одно резервирование позволяет отправить один кадр Fibre Channel. Перед отправкой следующего кадра отправитель должен получить сигнал Receiver Ready . Для эффективного использования канала Fibre Channel необходимо одновременно передавать несколько кадров, что потребует несколько резервирований, следовательно, понадобится больший объем памяти для принятия кадров. Некоторые адаптеры шины имеют четыре буфера размером 1 Кбайт и два буфера по 2 Кбайт, хотя на некоторых высокоуровневых адаптерах устанавливается 128 и 256 Кбайт для резервирования буфера. Обратите внимание, что для этой памяти обычно требуется два порта; т.е. когда одна область памяти принимает данные от SAN Fibre Channel, остальные области памяти могут передавать данные шине PCI узла.
Кроме того, адаптеры шины играют роль в обеспечении-отказоустойчивости и в архитектуре с аварийным восстановлением данных, в которой предоставляется несколько маршрутов ввода-вывода к одному устройству хранения данных.

7.1.1 Операционная система Windows и адаптеры шины

В Windows NT и Windows 2000 адаптеры Fibre Channel рассматриваются как устройства SCSI, а драйверы создаются в виде драйверов мини-портов SCSI. Проблема состоит в том, что драйвер SCSIPort устарел и не поддерживает возможности, предоставляемые новыми устройствами SCSI, не говоря уже об устройствах Fibre Channel. Поэтому в Windows Server 2003 была введена новая модель драйвера Storport, которая должна заменить модель SCSIPort, особенно для устройств SCSI-3 и Fibre Channel. Обратите внимание, что диски Fibre Channel используются Windows в качестве DAS - устройств, что обеспечивается уровнем абстракции, предоставляемым драйверами SCSIPort и Storport.

7.1.2 Двойные маршруты

Иногда необходима повышенная производительность и надежность, даже за счет увеличения стоимости готового решения. В таких случаях сервер подключается к двухпортовым дискам через несколько адаптеров шины и несколько независимых сетей хранения данных Fibre Channel. Основная идея - исключить единую точку отказа в работе сети. Кроме того, в те моменты, когда система работает нормально, несколько маршрутов могут использоваться для балансировки нагрузки и повышения производительности.

7.2 Типы кабелей Fibre Channel

В основном используется два типа кабелей: оптические и медные. Ниже перечислены основные преимущества и недостатки кабелей.

■ Медные кабели дешевле оптических.

■ Оптические кабели поддерживают более высокие скорости передачи данных по сравнению с медными кабелями.

■ Медный кабель может использоваться на меньшем расстоянии, до 30 метров. При этом оптический кабель может использоваться на расстоянии до 2 километров (многомодовый кабель) или до 10 километров (одномодовый кабель).

■ Медный кабель более восприимчив к электромагнитным помехам и взаимному влиянию других кабелей.

■ Оптические данные обычно должны быть преобразованы в электрические сигналы для передачи через коммутатор и обратно в оптическую форму для дальнейшей передачи.
Существует только один тип медного кабеля, в отличие от оптического, который представлен двумя видами: многомодовым и одномодовым.
На коротких дистанциях используется многомодовый кабель, который имеет сердцевину диаметром 50 или 62,5 микрона (микрон - микрометр, или одна миллионная часть метра.) Световая волна, которая используется в многомодовом кабеле, имеет длину 780 нанометров, что не поддерживается в одномодовых кабелях. Для больших расстояний предназначен одномодовый кабель, диаметр сердцевины которого составляет 9 микрон. В одномодовом кабеле используется световой луч с длиной волны в 1300 нанометров. Несмотря на тематику этой главы (интерфейс Fibre Channel), стоит упомянуть, что такие кабели могут использоваться для построения сетей на основе других интерфейсов, например Gigabit Ethernet.

7.3 Разъемы

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

■ Конверторы интерфейса Gigabit (Gigabit interface converters - GBIC) поддерживают последовательную и параллельную трансляцию передаваемых данных. Конверторы GBIC предоставляют возможность "горячего" подключения, т.е. включение/выключение GBIC не влияет на работу других портов. Конверторами используется 20-битовый параллельный интерфейс.

■ Модули линий Gigabit (Gigabit link modules - GLM) предоставляют функции, аналогичные GBIC, но для своей установки требуют отключения устройства. С другой стороны, они несколько дешевле, чем GBIC.

■ Адаптеры интерфейса носителя (Media Interface Adapters) используются для преобразования сигналов между медным и оптическим носителем и наоборот. Адаптеры интерфейса носителя обычно используются в адаптерах шины, но могут применяться и на коммутаторах и концентраторах.

■ Адаптеры малого формфактора (Small Form Factor Adapters - SFF) позволяют размещать большее количество разъемов различных интерфейсов на плате определенного размера.

7.4 Устройства взаимодействия

Устройства взаимодействия соединяют между собой компоненты сетей хранения данных. К ним относятся различные устройства, начиная от дешевых концентраторов Fibre Channel и заканчивая дорогими, высокопроизводительными и управляемыми коммутаторами связной архитектуры.

7.4.1 Концентраторы кольца Fibre Channel с разделением доступа

Концентраторы FC-AL представляют собой бюджетный вариант для подключения нескольких узлов Fibre Channel (устройств хранения данных, серверов, компьютерных систем, других концентраторов и коммутаторов) в кольцевую конфигурацию. Обычно в концентраторах предоставляется от 8 до 16 портов. Концентратор может поддерживать различные среды передачи, например медные или оптические.
Концентраторы Fibre Channel - это пассивные устройства, т.е. любое другое устройство в кольце не может обнаружить их присутствия. Концентраторы обеспечивают следующие возможности:

■ внутренние соединения, которые позволяют любому порту подключаться к любому другому порту;

■ возможность обхода порта, к которому подключено неправильно работающее устройство.
Самая большая проблема в работе портов связана с тем, что в текущий момент времени они могут поддерживать только одно подключение Fibre Channel. На рисунке показано, что, если порт 1 получил управление для установки сеанса с портом 8, ни один другой порт не сможет передавать данные, пока установленный сеанс не завершится.
Концентраторы могут быть подключены к коммутаторам связной архитектуры Fibre Channel без модификации. Кроме того, можно создавать каскад концентраторов, соединив два концентратора кабелем.
Концентраторы FC-AL занимают лидирующее положение на рынке Fibre Channel, но в процессе снижения стоимости коммутаторы связной архитектуры Fibre Channel становятся все более популярными.
Концентраторы FC-AL создаются такими компаниями, как Gadzoox Networks, Emulex и Brocade.

7.4.2 Коммутаторы кольца Fibre Channel с разделением доступа

Самое значительное преимущество коммутаторов FC-AL перед концентраторами состоит в одновременной поддержке нескольких подключений, тогда как концентраторы поддерживают только одно подключение в текущий момент времени.

Рис. Концентратор Fibre Channel

Возможность одновременной поддержки нескольких подключений связана с определенными сложностями. Устройства, подключенные к коммутатору кольца, даже не "подозревают" о своей роли. Коммутаторы кольца участвуют как в передаче данных, так и в адресации кольца. Ниже приводится дополнительная информация по этому вопросу, а также рассматривается роль коммутаторов в сетях хранения данных и методы, с помощью которых поставщики добавляют новые функции к своим продуктам.

Рис.Коммутатор Fibre Channel

Коммутаторы кольца и передача данных

Сервер, который намерен получить доступ к устройству хранения данных, должен отправить арбитражный запрос на управление кольцом. В нормальном кольце FC-AL на базе концентратора каждое устройство получает арбитражный пакет до его возвращения адаптеру шины сервера, благодаря чему сервер получает контроль над кольцом. Коммутатор кольца отправит ответ об успешном получении управления немедленно, не отправляя запросы другим узлам. На этом этапе адаптер шины отправит базовый пакет Open предназначенный для порта устройства хранения, который будет передан коммутатором кольца. Если порт в это время не выполняет передачи данных, особых проблем не должно возникнуть. В противном случае возможно появление конфликтных ситуаций. Для решения этой проблемы коммутатор кольца должен предоставить буфера для временного хранения кадров предназначенных для порта 7. Некоторые поставщики коммутаторов предоставляют для этих целей 32 буфера на каждый порт.

Коммутаторы кольца и адресация FC-AL

Концентраторы FC-AL не играют роли в назначении адресов устройствам а только передают базовые кадры адресов по кольцу. То же можно сказать и о большинстве коммутаторов. Однако некоторые устройства могут настаивать на получении определенного адреса. Некоторые концентраторы имеют возможность управлять порядком инициализации портов, что позволяет определенному порту инициализироваться первому, после чего устройство будет подключено к требующемуся порту.

Коммутаторы и инициализация кольца

Протокол FC-AL требует повторной инициализации кольца при подключении, отключении или повторной инициализации устройства. Такая инициализация кольца может привести к нарушению существующей связи между другими двумя устройствами. Некоторые производители коммутаторов предоставляют возможность выборочно экранировать и передавать пакеты LIP (Loop Initialization Primitives). Эта операция предназначена для минимизации проблем, сокращения времени повторной инициализации кольца и по возможности сохранения существующих сеансов передачи данных. В то же время необходимо обеспечить уникальность адресов устройств.
Если все устройства принимают участие в повторной инициализации кольца, дублирования адресов не происходит, так как устройства "защищают" свои адреса. Но, если некоторые устройства не принимают участия в повторной инициализации кольца, необходимо предотвратить назначение уже распределенных адресов устройствам, принимающим участие в повторной инициализации кольца. Уникальность адресов обеспечивается дополнительной логикой коммутатора кольца. При добавлении устройства хранения пакет LIP должен быть отправлен на сервер, однако LIP не требуется передавать устройствам хранения, которые никогда не устанавливают связь с другими устройствами хранения данных.
Некоторые устройства хранения могут устанавливать связь непосредственно с другими устройствами хранения, что используется для резервного копирования данных.

Коммутаторы кольца и связная архитектура

Если все устройства в кольце "знают" о связной архитектуре, коммутатор кольца передает обычным образом необходимые кадры, например кадры Fabric Login Если устройства в кольце не поддерживают связную архитектуру, коммутатор кольца должен самостоятельно выполнять достаточно большой
объем работы.
Коммутаторы кольца некоторых поставщиков не поддерживают каскадирование. Кроме того, некоторым коммутаторам кольца требуется обновление прошивки перед подключением к коммутаторам связной архитектуры. Ряд коммутаторов следует модернизировать для полной поддержки связной архитектуры перед их подключением к SAN.
Коммутаторы FC-AL производятся такими компаниями, как Brocade, McDATA, Gadzoox Networks, Vixel и QLogic.

7.4.3 Коммутаторы связной архитектуры Fibre Channel

Коммутаторы связной архитектуры Fibre Channel (Fibre Channel Fabric Switches - FC-SW) обеспечивают несколько выскоскоростных сеансов связи одновременно со всеми устройствами. На данный момент основные коммутаторы поддерживают быстродействие порядка 1 Гбит/с, в то время как скорость в 2 Гбит/с также перестает быть диковинкой. В основном коммутаторы связной архитектуры в пересчете на один порт стоят дороже чем концентраторы и коммутаторы FC-AL, но они предоставляют намного больше функциональных возможностей.
Коммутаторы связной архитектуры более эффективны в сравнении с концентраторами и коммутаторами FC-AL. Например, коммутаторы предоставляют специальные службы, описанные выше, обеспечивают управление потоком с помощью базовых пакетов управления, а также, что гораздо важнее, некоторые коммутаторы способны эмулировать функции FC-AL для обеспечения обратной совместимости с более старыми устройствами.
Некоторые коммутаторы связной архитектуры поддерживают маршрутизацию без буферизации. Суть ее в том, что при получении заголовка кадра коммутатор быстро находит заголовок трчки назначения, пока кадр все еще принимается. Преимущество такого подхода - снижение задержек при доставке кадра и отсутствие необходимости хранения содержимого кадра в памяти буфера. А недостаток заключается в немедленной передаче всех кадров, включая поврежденные.
Коммутаторы связной архитектуры играют важную роль в безопасности сетей хранения данных на основе Fibre Channel.

7.4.4 Сравнение трех устройств подключения

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

7.4.5 Мосты и маршрутизаторы

Как в этой главе, так и во всей статье термины мосты (bridges) и маршрутизаторы (routers) не относятся к традиционным мостам Ethernet и маршрутизаторам IP. В данном случае под мостами и маршрутизаторами подразумеваются устройства для Fibre Channel, а не для сетевых протоколов 2-го и 3-го уровней.
Мосты - это устройства, обеспечивающие взаимодействие между Fibre Channel и устаревшими протоколами, например SCSI. Мосты Fibre Channel-SCSI позволяют сохранить существующие инвестиции в устройства хранения SCSI. Такие мосты поддерживают интерфейсы SCSI и Fibre Channel и преобразуют данные двух протоколов. Таким образом, новый сервер с установленным адаптером шины Fibre Channel может получить доступ к существующим устройствам хранения SCSI. Мосты предоставляют интерфейс между параллельной шиной SCSI и интерфейсом Fibre Channel. Маршрутизаторы обладают аналогичными возможностями, но для нескольких шин SCSI и интерфейсов Fibre Channel. Маршрутизаторы систем хранения данных, или "интеллектуальные" мосты, предоставляют такие дополнительные возможности, как маскировка и отображение LUN, а также поддерживают команды SCSI Extended Copy. В качестве устройств, передающих данные, маршрутизаторы применяют команды Extended Copy для использования библиотеками хранения, что позволяет копировать данные между указанным целевым устройством и подключенной библиотекой. Эта функция также называется независимым резервным копированием (без сервера).
В качестве примера производителей маршрутизаторов и мостов можно привести такие компании, как Crossroads Systems, Chaparral Network Storage, Advanced Digital Information Corporation (ADIC после приобретения Path-light) и MTI.

В деле познания SAN столкнулся с определённым препятствием - труднодоступностью базовой информации. В вопросе изучения прочих инфраструктурных продуктов, с которыми доводилось сталкиваться, проще - есть пробные версии ПО, возможность установить их на вирутальной машине, есть куча учебников, референс гайдов и блогов по теме. Cisco и Microsoft клепают очень качественные учебники, MS вдобавок худо-бедно причесал свою адскую чердачную кладовку под названием technet, даже по VMware есть книга, пусть и одна (и даже на русском языке!), причём с КПД около 100%. Уже и по самим устройствам хранения данных можно получить информацию с семинаров, маркетинговых мероприятий и документов, форумов. По сети же хранения - тишина и мёртвые с косами стоять. Я нашёл два учебника, но купить не решился. Это "Storage Area Networks For Dummies " (есть и такое, оказывается. Очень любознательные англоговорящие «чайники» в целевой аудитории, видимо) за полторы тысячи рублей и "Distributed Storage Networks: Architecture, Protocols and Management " - выглядит более надёжно, но 8200р при скидке 40%. Вместе с этой книгой Ozon рекомендует также книгу «Искусство кирпичной кладки».

Что посоветовать человеку, который решит с нуля изучить хотя бы теорию организации сети хранения данных, я не знаю. Как показала практика, даже дорогостоящие курсы могут дать на выходе ноль. Люди, применительно к SAN делятся на три категории: те, кто вообще не знает что это, кто знает, что такое явление просто есть и те, кто на вопрос «зачем в сети хранения делать две и более фабрики» смотрят с таким недоумением, будто их спросили что-то вроде «зачем квадрату четыре угла?».

Попробую восполнить пробел, которого не хватало мне - описать базу и описать просто. Рассматривать буду SAN на базе её классического протокола - Fibre Channel.

Итак, SAN - Storage Area Network - предназначена для консолидации дискового пространства серверов на специально выделенных дисковых хранилищах. Суть в том, что так дисковые ресурсы экономнее используются, легче управляются и имеют большую производительность. А в вопросах виртуализации и кластеризации, когда нескольким серверам нужен доступ к одному дисковому пространству, подобные системы хранения данных вообще незаменимая штука.

Кстати, в терминологиях SAN, благодаря переводу на русский, возникает некоторая путаница. SAN в переводе означает «сеть хранения данных» - СХД. Однако классически в России под СХД понимается термин «система хранения данных», то есть именно дисковый массив (Storage Array ), который в свою очередь состоит из Управляющего блока (Storage Processor, Storage Controller ) и дисковых полок (Disk Enclosure ). Однако, в оригинале Storage Array является лишь частью SAN, хотя порой и самой значимой. В России получаем, что СХД (система хранения данных) является частью СХД (сети хранения данных). Поэтому устройства хранения обычно называют СХД, а сеть хранения - SAN (и путают с «Sun», но это уже мелочи).

Компоненты и термины

Технологически SAN состоит из следующих компонентов:
1. Узлы, ноды (nodes)
  • Дисковые массивы (системы хранения данных) - хранилища (таргеты )
  • Серверы - потребители дисковых ресурсов (инициаторы ).
2. Сетевая инфраструктура
  • Коммутаторы (и маршрутизаторы в сложных и распределённых системах)
  • Кабели

Особенности

Если не вдаваться в детали, протокол FC похож на протокол Ethernet с WWN-адресами вместо MAC-адресов. Только, вместо двух уровней Ethernet имеет пять (из которых четвёртый пока не определён, а пятый - это маппинг между транспортом FC и высокоуровневыми протоколами, которые по этому FC передаются - SCSI-3, IP). Кроме того, в коммутаторах FC используются специализированные сервисы, аналоги которых для IP сетей обычно размещаются на серверах. Например: Domain Address Manager (отвечает за назначение Domain ID коммутаторам), Name Server (хранит информацию о подключенных устройствах, эдакий аналог WINS в пределах коммутатора) и т.д.

Для SAN ключевыми параметрами являются не только производительность, но и надёжность. Ведь если у сервера БД пропадёт сеть на пару секунд (или даже минут) - ну неприятно будет, но пережить можно. А если на это же время отвалится жёсткий диск с базой или с ОС, эффект будет куда более серьёзным. Поэтому все компоненты SAN обычно дублируются - порты в устройствах хранения и серверах, коммутаторы, линки между коммутаторами и, ключевая особенность SAN, по сравнению с LAN - дублирование на уровне всей инфраструктуры сетевых устройств - фабрики.

Фабрика (fabric - что вообще-то в переводе с английского ткань, т.к. термин символизирует переплетённую схему подключения сетевых и конечных устройств, но термин уже устоялся) - совокупность коммутаторов, соединённых между собой межкоммутаторными линками (ISL - InterSwitch Link ).

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

Фабрики могут иметь идентичную (зеркальную) топологию или различаться. Например одна фабрика может состоять из четырёх коммутаторов, а другая - из одного, и к ней могут быть подключены только высококритичные узлы.

Топология

Различают следующие виды топологий фабрики:

Каскад - коммутаторы соединяются последовательно. Если их больше двух, то ненадёжно и непроизводительно.

Кольцо - замкнутый каскад. Надёжнее просто каскада, хотя при большом количестве участников (больше 4) производительность будет страдать. А единичный сбой ISL или одного из коммутаторов превращает схему в каскад со всеми вытекающими.

Сетка (mesh ). Бывает Full Mesh - когда каждый коммутатор соединяется с каждым. Характерно высокой надёжностью, производительностью и ценой. Количество портов, требуемое под межкоммутаторные связи, с добавлением каждого нового коммутатора в схему растёт экспоненциально. При определённой конфигурации просто не останется портов под узлы - все будут заняты под ISL. Partial Mesh - любое хаотическое объединение коммутаторов.

Центр/периферия (Core/Edge) - близкая к классической топологии LAN, но без уровня распределения. Нередко хранилища подключаются к Core-коммутаторам, а серверы - к Edge. Хотя для хранилищ может быть выделен дополнительный слой (tier) Edge-коммутаторов. Также и хранилища и серверы могут быть подключены в один коммутатор для повышения производительности и снижения времени отклика (это называется локализацией). Такая топология характеризуется хорошей масштабируемостью и управляемостью.

Зонинг (зонирование, zoning)

Ещё одна характерная для SAN технология. Это определение пар инициатор-таргет. То есть каким серверам к каким дисковым ресурсам можно иметь доступ, дабы не получилось, что все серверы видят все возможные диски. Достигается это следующим образом:
  • выбранные пары добавляются в предварительно созданные на коммутаторе зоны (zones);
  • зоны помещаются в наборы зон (zone set, zone config), созданные там же;
  • наборы зон активируются в фабрике.

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

Напоследок, в качестве постскриптума, перечислю базовые рекомендации по проектированию фабрики SAN .

  • Проектировать структуру так, чтобы между двумя конечными устройствами было не более трёх коммутаторов.
  • Желательно чтобы фабрика состояла не более чем из 31 коммутатора.
  • Стоит задавать Domain ID вручную перед вводом нового коммутатора в фабрику - улучшает управляемость и помогает избежать проблем одинаковых Domain ID, в случаях, например, переподключения коммутатора из одной фабрики в другую.
  • Иметь несколько равноценных маршрутов между каждым устройством хранения и инициатором.
  • В случаях неопределённых требований к производительности исходить из соотношения количества Nx-портов (для конечных устройств) к количеству ISL-портов как 6:1 (рекомендация EMC) или 7:1 (рекомендация Brocade). Данное соотношение называется переподпиской (oversubscription).
  • Рекомендации по зонингу:
    - использовать информативные имена зон и зон-сетов;
    - использовать WWPN-зонинг, а не Port-based (основанный на адресах устройств, а не физических портов конкретного коммутатора);
    - каждая зона - один инициатор;
    - чистить фабрику от «мёртвых» зон.
  • Иметь резерв свободных портов и кабелей.
  • Иметь резерв оборудования (коммутаторы). На уровне сайта - обязательно, возможно на уровне фабрики.