Наик Дайлип - Серверные технологии хранения данных в среде Windows® 2000 Windows® Server 2003
Выполняется назначение адресов в кольце. Значения адресов, присвоенных устройствам, используются для решения конфликтов, когда несколько устройств пытаются одновременно передавать данные. Коммутаторы связных архитектуры имеют наибольший приоритет; они могут выбрать любой произвольный адрес. Портам разрешается получать адрес, который использовался ранее.
4.4.2.2 Разделение доступа в кольце Fibre Channel
Если через один порт организуется передача данных на другой порт, сначала следует выяснить владельца кольца. Для этого порт отправляет специальный кадр, который называется ARB primitive. В этом кадре содержится адрес порта, который намерен получить управление над кольцом. При получении портом кадр ARB primitive передается дальше, если порт не собирается передавать данные. Если порт-получатель намерен сам передавать данные, он сравнивает адрес из ARB primitive с собственным адресом. Если у получателя адрес имеет меньшее значение (больший приоритет), то кадр отправляется дальше, но содержит адрес данного порта. В противном случае кадр ARB primitive отправляется дальше с неизменным адресом. Через некоторое время порт получает кадр ARB primitive со своим адресом обратно. Именно на этом этапе порт получает управление кольцом.
Порт, который выиграл управление кольцом, отправляет кадр 0PN primitive тому порту, которому нужно передать данные. Этот кадр передается дальше промежуточными портами, пока не достигнет целевого порта. Порт отвечает другим кадром ARB primitive, после получения которого портом-инициатором может начинаться сеанс передачи данных. После завершения отправки данных порт-инициатор отправляет кадр CLS primitive. Однако целевой порт может продолжать отправку кадров для завершения сеанса передачи данных, а порт-инициатор должен быть готов принять эти кадры даже после отправки CLS primitive. После завершения отправки кадров целевой порт может ответить на кадр CLS primitive собственным кадром CLS primitive. На этом этапе кольцо готово к началу следующего сеанса передачи данных.
В стандарте Fibre Channel описан необязательный алгоритм предотвращения ситуации, когда устройства с низким приоритетом никогда не получают доступ к кольцу из-за устройств с высоким приоритетом. Этот необязательный алгоритм запрещает устройствам с высоким приоритетом получать
кольцо в управление сразу после завершения сеанса связи, пока возможность передачи данных не появится у устройств с низким приоритетом.
4.4.2.3 Открытые и закрытые кольца
Закрытое кольцо представляет собой изолированное кольцо Fibre Channel с разделением доступа (кольцо не подключено к связной архитектуре, которая рассматривается в разделе 4.4.3). Открытое кольцо – это кольцо с разделением доступа, подключенное к связной архитектуре через коммутатор. В данном случае обеспечение совместимости зависит непосредственно от коммутатора, как описано ниже.
Коммутатор связной архитектуры должен обеспечивать уникальность адресов в пределах кольца и связной архитектуры, а также заменять трехбайтовые адреса в связной архитектуре на однобайтовые адреса в пределах кольца. Этот процесс обычно называется подменой адресов.
и От коммутатора связной архитектуры требуется, чтобы подключенные к ней устройства в пределах кольца с разделением доступа выглядели как подключенные к кольцу.
Обнаружение устройств необходимо для поддержки передачи данных в рамках общей и частной транспортной инфраструктуры. Устройства Fibre Channel, поддерживающие связную архитектуру, самостоятельно регистрируются на сервере SNS– Simple Name Server (см. раздел 4.4.3.1), однако устройства Fibre Channel для кольца с разделением доступа не поддерживают такую возможность. На коммутатор возлагается задача по обнаружению каждого устройства в кольце Fibre Channel и добавлению характеристик устройства на SNS. Это необходимо для устройств Fibre Channel, поддерживающих работу в рамках связной архитектуры.
4.4.3 Коммутируемая связная архитектура
В топологии коммутируемой связной архитектуры Fibre Channel (Fibre Channel switched-fabric) каждое устройство имеет логическое подключение к любому другому устройству. Обратите внимание на слово логическое. Обеспечение физического подключения устройств по топологии «каждый с каждым» потребовало бы огромных затрат, так как для N устройств необходимо N2 портов и физических подключений. В реальности каждое устройство подключается к коммутатору, а коммутатор поддерживает логические подключения между всеми своими портами.
На рис. 4.3 показан простейший вариант топологии коммутируемой связной архитектуры Fibre Channel. Несколько узлов (устройств хранения и компьютерных систем) подключены к коммутатору Fibre Channel. Коммутатор – это высокоскоростное устройство, которое обеспечивает подключение по схеме «каждый с каждым» и обрабатывает несколько одновременных подключений. Кроме того, коммутатор поддерживает такие службы, как Fabric Login (см. раздел 4.4.3.6). Коммутаторы могут быть подключены каскадно (в виде иерархии) или в виде сети, что позволяет формировать более сложные конфигурации. Очень часто строится трехуровневая иерархия, на самом нижнем уровне которой размещены кольца с разделением доступа Fibre Channel (FC-AL), подключенные к малопроизводительным коммутаторам. Эти коммутаторы, в свою очередь, подключаются к высокоскоростным коммутаторам, обеспечивающим максимально возможную пропускную способность.
Рис. 4.3. Топология коммутируемой-связной архитектуры Fibre Channel
Несколько коммутаторов могут быть соединены друг с другом. В топологии связной архитектуры используется 3-байтовый идентификатор (24 бит) для уникальной идентификации каждого устройства, что теоретически допускает подключение по схеме «точка-точка» для 224 устройств (примерно 15 млн.). Конечно, на практике сети хранения данных включают в себя намного меньше устройств.
Поскольку количество потенциальных устройств может быть достаточно большим, от сетей хранения данных на базе Fibre Channel требуется предоставление служб по управлению адресами, а также дополнительных служб; в противном случае ручное управление сетями хранения данных было бы невозможным. Учитывая, что обеспечение взаимодействия Fibre Channel и протоколов верхнего уровня (например, SCSI) проводится самими узлами, а адресное пространство весьма велико, динамическое управление адресами на инфраструктурном уровне будет обязательным (не требуя ручной настройки).
Топология связной архитектуры реализуется на основе коммутатора связной архитектуры (см. раздел 4.4.3.5). Кроме предоставления подключений «точка-точка», коммутатор предоставляет такие службы, как SNS (Simple Name Server), RSCN (Registered State Change Notification), FAN (Fabric Address Notification), Broadcast Server IP-FC, Principal Switch и Fabric Login. Эти службы кратко рассматриваются в разделах 4.4.3.1–4.4.3.6. Обратите внимание, что службы основаны на модели клиент/сервер. Серверный компонент реализован в виде коммутатора связной архитектуры, а клиентский компонент представляет собой такие устройства, как адаптеры шины и контроллеры RAID.
4.4.3.1 Сервер SNS
Этот сервер представляет собой базу данных коммутатора связной архитектуры. База данных отслеживает два типа информации.
Имя устройства и информация об адреде.
Поддерживаемые протоколы высокого уровня.
Сервер SNS позволяет инициатору сеанса связи, например адаптеру шины сервера, делать запрос к службе имен и получать список доступных устройств хранения данных. Это обеспечивает автоматическое управление адресами, что имеет особое значение, поскольку адресное пространство сетей хранения данных поддерживает до 15 млн. адресов. 1
При инициализации устройство связной архитектуры отправляет базовый пакет регистрации (в терминологии Fibre Channel он называется FLOGI) на известный адрес OxFFFFFE. Запрос на регистрацию вместо адреса заполняется нулевым значением, что обозначает запрос адреса.
Как только устройство подключается к коммутатору, инициируется другой базовый запрос (PLOGI), отправляемый серверу SNS, который имеет фиксированный адрес OxFFFFFC. Устройство отправляет соответствующую информацию, например адрес в формате WWN (World Wide Name), тип порта, адрес коммутатора, протоколы верхнего уровня (SCSI), которые поддерживаются устройством, и другие служебные параметры.
Некоторые устройства не отправляют SNS всю информацию о себе. Отдельные модели коммутаторов отправляют устройствам запросы целевого определения и обновляют значения соответствующих полей в базе данных SNS.
4.4.3.2 Служба RSCN
Служба RSCN (Registered State Change Notification) позволяет устройству регистрироваться для получения уведомлений о подключении к коммутатору или отключении от него других устройств. Например, сервер может зарегистрироваться для получения уведомлений при подключении к коммутатору или отключении от него связной архитектуры устройств хранения. Таким образом, RSCN дополняет сервер SNS: сервер позволяет компоненту Fibre Channel (например, узлу) обнаруживать другие компоненты (например, единицы хранения). В то же время служба RSCN позволяет узлу (компоненту Fibre Channel) регистрироваться для получения уведомлений об изменениях в составе компонентов Fibre Channel.