• 8.1 Технология IP Storage
  • 8.2 Стандарт InfiniBand
  • 8.3 Сложности практической реализации
  • 8.4 Резюме
  • Глава 8 Технологии IP Storage и InfiniBand


    В этой главе рассматриваются две развивающиеся технологии: IP Storage и InfiniBand.

    Набор технологий IP Storage позволяет предоставлять доступ к корпоративным хранилищам данных по протоколу IP. Под термином IP Storage подразумевается набор технологий iSCSI, FCIP и iFCP (и это далеко не исчерпывающий список), каждая из которых описывается в настоящей главе.

    Технология InfiniBand – это не сколько протокол для хранилищ данных, как высокоскоростная, обладающая низкими задержками универсальная сетевая связная архитектура. Некоторые рабочие группы рассматривают вопрос использования InfiniBand для подключения хранилищ, но основная сфера применения относится к серверам кластеров. С появлением стандарта 3GIO перспективы использования технологии InfiniBand в качестве замены шины PCI были частично утрачены.

    В данной главе приводится общее описание IP Storage и InfiniBand, которое будет полезно читателям, не знакомым с этими технологиями. Цель описания – предоставить информацию, необходимую для понимания особенностей систем Microsoft, основанных на IP Storage и InfiniBand. Читатели, желающие более подробно изучить эти технологии, могут обратиться к источникам, приведенным в конце книги. Поскольку компания Microsoft еще не выпустила упомянутое программное обеспечение, его описание можно рассматривать как попытку предугадать будущие тенденции. На основе материалов этой главы нельзя строить коммерческие планы или планы по развертыванию тех или иных технологий.

    Технологии IP Storage и InfiniBand на данный момент находятся в стадии становления, хотя и разрабатываются уже достаточно длительное время.

    8.1 Технология IP Storage

    Термин IP Storage охватывает набор технологий, обеспечивающих взаимодействие на уровне блоков между устройствами хранения и серверами по протоколу IP. Внимательный читатель может заметить, что доступ к данным по сетям на основе протокола IP реализован уже довольно давно, например приложения могут получить доступ к серверу с помощью сетевой файловой системы CIFS или NFS. Разница в данном случае заключается в том, что приложение ориентировано на уровень файлов и преобразование между вводом- выводом на уровне файлов и на уровне блоков выполняется устройством NAS или сервером после получения запроса по сети. При использовании SAN на основе протокола IP запрос и ответ, передающиеся по сети, содержат данные ввода-вывода на уровне блоков, а не на уровне файлов.


    Рис. 8.1. Сравнение технологий DAS, NAS, SAN и IP SAN


    На рис. 8.1 показаны основные отличия хранилища, подключенного к серверу (direct-attached storage – DAS), сетевого хранилища (network-attached storage – NAS), сети хранения данных (storage area networks – SAN) и сети хранения данных на основе протокола IP. Ниже перечислены особенности, на которые следует обратить внимание.

    ¦ При использовании хранилища, подключенного к серверу, для передачи запросов и ответов сеть не применяется.

    При использовании сетевого хранилища сеть на основе протокола IP размещена между файловой системой и устройством хранения. Конечно, устройство NAS можно подключать не только к сети на основе протокола IP, однако этот протокол наиболее популярен. По сети передаются данные ввода-вывода на уровне файлов. Из этого правила всегда существуют исключениями примером может служить устройство ЕМ С Celerra HighRoad, которое подключается одновременно к локальной сети и к сети хранения данных. Такой вариант подключения подробно рассматривается в главе б (см. раздел 6.6).

    При использовании SAN сеть размещается между файловой системой и устройством хранения; однако по сети передаются данные ввода-вывода на уровне блоков, а не на уровне файлов. В классических SAN практически всегда используется интерфейс Fibre Channel.

    При использовании IP Storage сеть также размещается между файловой системой и устройством хранения, но в данном случае она основана на протоколе IP.


    8.1.1 Почему IP Storage?

    Идея технологии IP Storage возникла благодаря осознанию того, что иметь в наличии два типа сетей вовсе не обязательно. Этими двумя сетями являются IP и Ethernet, которые используются для соединения клиентов и серверов (так называемые интерфейсные сети (front-end)). В свою очередь, сеть между сервером и хранилищем данных называется серверной (back-end).

    Ниже описаны причины, лежащие в основе развития IP Storage.

    Протокол IP – это развитая, хорошо себя зарекомендовавшая технология, которая нашла применение в сетях Ethernet, ATM и т.д.

    Маршрутизация протокола IP также весьма развита и предоставляет несколько маршрутов между серверами и устройствами хранения в условиях постоянно модифицируемой сети.

    В некотором смысле проблема управления хранилищем аналогична известной проблеме управления сетями IP.

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

    Сети IP используются для создания сетей наибольшего масштаба, включая Internet, поэтому большинство проблем, связанных с масштабированием и сетевыми «заторами», в них решены.

    Компании, развивающие технологию IP Storage, отмечают, что протокол IP победил и пора переходить от концепции «IP поверх всего» (Ethernet, Token

    Ring, ATM, Gigabit Ethernet и т.д.) к «все поверх IP» (включая блоки данных команд SCSI или CDB, SСSI-команды/результат-по-1Р и т.д.).

    В главе 4 описаны два глобальных системных окружения: каналы ввода- вывода и сети. Каналы, например SCSI, обычно работают на небольших расстояниях и предназначены для решения узкого круга задач, поэтому большая часть работы возложена на аппаратное обеспечение. Сети, как правило, могут работать на больших расстояниях, по своей природе более универсальны и немалая часть функций реализована в виде программного обеспечения. Технология Fibre Channel стала попыткой централизации этих двух окружений на уровне каналов, в то время как IP Storage разрабатывается для обеспечения централизации на сетевом уровне.

    Новым термином глобальная сеть хранения данных (Storage Wide Area Network – SWAN) описывается развертывание и использование технологий IP Storage поверх глобальных сетей на основе протокола IP.

    В следующих разделах рассматриваются различные технологии, формирующие стандарт IP Storage. Также приводятся ссылки на реализацию этих технологий от компании Microsoft.


    8.1.2 Протокол iSCSI

    Протокол iSCSI (сокращение от Internet SCSI) позволяет реализовать одно или несколько подключений TCP/IP между устройствами, обменивающимися командами SCSI, ответами и информацией о состоянии. Другими словами, iSCSI представляет собой протокол для соединения «точка-точка», инкапсулирующий команды SCSI, ответы и информацию о состоянии.

    На рис. 8.2 показано, как компоненты IP, TCP, iSCSI и SCSI работают вместе в процессе инкапсуляции. Пакет iSCSI содержит данные и команду SCSI для стека TCP/IP. Заголовок iSCSI содержит информацию об извлечении и интерпретации команды SCSI, которая размещена в пакете. Заголовок пакета TCP отвечает за гарантированную и последовательную доставку пакетов. Пакет TCP содержит данные и полезную нагрузку (payload) пакета IP. Заголовок IP используется в процессе маршрутизации.

    Из трех основных протоколов работы с хранилищами IP – iSCSI, FCIP (Fibre Channel over IP) и iFCP (Internet Fibre Channel Protocol) – протокол iSCSI является единственным, не связанным с Fibre Channel. Как видите, на рис. 8.2 Fibre Channel не упоминается, поскольку протокол iSCSI разрабатывался без поддержки Fibre Channel.


    Рис. 8.2. Инкапсуляция протокола iSCSI


    Рис. 8.3. Уровни протокола iSCSI


    Протокол iSCSI размещен поверх существующих уровней протоколов TCP, IP и низкоуровневых аппаратных протоколов, поддерживающих TCP/IP (например, Ethernet и Gigabit Ethernet).

    Как можно заметить (рис. 8.3), SCSI – это протокол уровня приложения. Протокол iSCSI предоставляет услуги протоколу приложений SCSI и применяет TCP/IP для обеспечения гарантированной доставки, маршрутизации и т.д.

    Все устройства iSCSI (целевые и устройства-инициаторы) имеют два разных имени.

    Адрес iSCSI, который состоит из адреса IP, порта TCP и имени iSCSI

    и имеет формат «<имя домена>: <номер порта>:<имя iSCSI>«.

    Имя iSCSI, которое имеет наглядный формат, например «Hmh_FQN.

    Поставщик_диска. Модель _диска. Номер».

    Служба именования iSNS (Internet Storage Name Service) является общей для iSCSI, iFCP и FCP (Fibre Channel Protocol). Протоколы iFCP и FCP рассматриваются в разделе 8.1.5. Кроме использования iSNS в качестве службы именования, протокол iSCSI имеет спецификацию, в которой описана информационная база управления (Management Information Base – MIB) для управления устройствами iSCSI на основе протокола SNMP. Кроме того, протокол iSCSI определяет процесс реализации удаленной загрузки.

    Протокол iSCSI устанавливает сеансы связи между инициатором и целевым устройством. Один или несколько сеансов протокола TCP могут использоваться одним или несколькими сеансами iSCSI. После установки сеанса две стороны (инициатор и целевое устройство) обмениваются такими параметрами, как безопасность, размер буфера и возможность отправки неза- прошенных данных. Сеанс iSCSI может закрываться стандартным образом: посредством завершения регистрации или в связи с возникновением ошибки. Независимо от количества использованных сессий TCP, протокол iSCSI гарантирует, что команда SCSI и ответы на нее будут доставлены в правильном порядке. Обратите внимание: протокол TCP гарантирует последовательную доставку для определенного сеанса TCP, но не обеспечивает синхронизации передаваемых данных между различными сеансами TCP. Таким образом, синхронизации сеансов TCP возлагается на протокол iSCSI. Можно перечислить ряд требований к протоколу iSCSI.

    Разные команды SCSI могут передаваться через различные сеансы TCP.

    Все данные и параметры, соответствующие определенной команде, должны передаваться в рамках того же сеанса TCP, по которому передавалась команда SCSI.

    В протоколе iSCSI определена концепция тега-инициатора. Все ответы будут иметь соответствующий тег инициатора, который высылается вместе с первоначальной командой. Инициатор должен обеспечить уникальность тегов и исключить возможность повторного использования тега, пока инициатор не получит все ответы на соответствующую команду. Тег должен быть уникальным в рамках инициатора (операционная. система \yindows NT является многозадачной, и инициатор может работать для нескольких процессов и приложений).

    Протоколом iSCSI определена концепция нумерации команд, которая обеспечивает последовательную доставку команд через несколько сеансов TCP.

    Кроме того, в протоколе iSCSI определен механизм CRC типа «точка- точка». Проверка CRC на втором уровне (например, на уровне Gigabit Ethernet) или на третьем уровне (контрольные суммы TCP/IP) может оказаться ненадежной, особенно если на пути передачи пакетов размещены другие устройства IP, например трансляторы сетевых адресов, маршрутизаторы и т.д. Поставщики подсистем хранения всегда с большой осторожностью относились к методам проверки целостности данных.

    Протокол iSCSI имеет свои недостатки. При его использовании возникают проблемы, связанные с безопасностью, управлением сетевыми «заторами» и качеством обслуживания. Но эти вопросы в основном касаются работы сетей на базе протоколов TCP/IP, проблемы которых уже хорошо изучены.


    8.1.3 Реализация протокола iSCSI в Windows NT

    Поддержка протокола iSCSI в Windows NT активно внедряется компанией Microsoft. Несмотря на это, Windows Server 2003 не обеспечена поддержкой iSCSI по умолчанию.

    На рис. 8.4 показана архитектура реализации протокола iSCSI в Windows NT.

    Инициатор iSCSI реализован в виде драйвера мини-порта для модели SCSIPort или Storport.

    Динамически подключаемая библиотека обнаружения iSCSI отслеживает все изменения и выступает в роли единственного хранилища для всех номеров LUN, обнаруженных тем или иным способом, включая использование клиентов iSNS или уведомление портов. Библиотека обнаружения предоставляет API обнаружения новых LUN для приложений управления и, если это необходимо, методы, с помощью которых приложение управления может дать указание библиотеке обнаружения зарегистрировать новый LUN.


    Рис. 8.4. Архитектура iSCSI


    Рассмотрим, каковы планы компании Microsoft относительно протокола iSCSI.

    Основное внимание уделяется реализации протокола iSCSI на платформе Windows Server 2003, однако рассматривается и поддержка протокола iSCSI в Windows 2000. Только объявление о выпуске финальной версии продукта можно считать достоверным источником информации о доступности этого продукта на рынке.

    Основное внимание уделяется реализации протокола iSCSI на платформе Windows Server 2003. Тем не менее код поддержки iSCSI для Windows 2000 и Windows ХР также был предложен компанией Microsoft через несколько месяцев после предоставления кода поддержки iSCSI в Windows Server 2003.

    Компания Microsoft предоставила код клиента и сервера службы iSNS.

    В качестве механизма защиты данных и обеспечения безопасности Microsoft предполагает использование протокола IPSec.

    Основное внимание уделяется реализации инициатора iSCSI, и на данный момент нет конкретных планов по реализации функциональности точки назначения iSCSI на платформе Windows NT.

    Взаимодействие между библиотекой обнаружения и инициатором iSCSI будет вестись через интерфейс WMI. Библиотека обнаружения может быть преобразована в службу (точные сведения на этот счет отсутствуют).

    Основная особенность поддержки iSCSI в Windows NT состоит в разделении процессов обнаружения и доступа устройств. Приложение управления инициирует доступ через динамическую библиотеку обнаружения, которая, в свою очередь, связывается с драйвером мини-порта (через интерфейс WMI). Драйвер мини-порта передает событие BusChangeDetected (описано в Windows NT SDK), запуская процедуру перечисления устройств. С этого момента перечисление устройств проводится обычным образом; например, обнаруженному устройству будет отправлена команда Report LUNs.

    Настоятельно рекомендуется использовать протокол IPSec для обеспечения безопасности.

    Для создания отчетов и управления ими рекомендуется применять интерфейс WMI. Ожидается, что некоторые классы WMI будут обяза

    тельны для реализации, в то время как другие классы – лишь рекомендованы. Точные данные доступны только при подписании соглашения с компанией Microsoft[19].

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


    8.1.4 Протокол FCIP

    Протокол FCIP (Fibre Channel over IP) предоставляет возможность сохранения существующих инвестиций в оборудование и позволяет объединить географически удаленные сети хранения данных по протоколу туннелирова- ния на основе стека TCP/IP. В спецификации IETF FCIP описаны следующие особенности этого протокола.

    Инкапсуляция кадров Fibre Channel, передающихся с помощью TCP/IP, включая инкапсуляцию, необходимую для создания виртуальной линии связи Fibre Channel, которая используется для подключения устройств Fibre Channel к элементам связной архитектуры.

    Спецификация среды TCP/IP, включая безопасность, управление сетевыми «заторами» и восстановление после ошибок. Протокол FCIP требует от Fibre Channel и TCP совместного вклада в обработку ошибок и восстановление после сбоев.

    На рис. 8.5 приведена схема инкапсуляции FCIP.

    Рис. 8.5. Инкапсуляция FCIP


    Полезной нагрузкой в данном случае являются данные SCSI. Они инкапсулируются в пакетах FCP (Fibre Channel Protocol), которые, в свою очередь, инкапсулируются в пакеты протокола FCIP. Протокол TCP обрабатывает пакеты FCIP как собственную полезную нагрузку. При использовании такой инкапсуляции протокол IP не «подозревает» о связи данных с Fibre Channel, а протоколу Fibre Channel точно также «неизвестно» о наличии протокола IP.

    Протоколы инкапсуляции обычно характеризуются наличием определенных накладных расходов, возникающих при перемещении данных между уровнями. Протокол FCIP не стал исключением из правила. Для сети на базе IP (рис. 8.6) шлюзы FCIP обрабатываются в качестве устройств IP; однако для сети Fibre Channel шлюзы FCIP воспринимаются в качестве устройств именно Fibre Channel. Инкапсуляция Fibre Channel без дополнительных преобразований возможна только при передаче данных между двумя шлюзами FCIP.


    Рис. 8.6. Протокол FCIP, обеспечивающий взаимодействие двух сетей хранения данных


    На рис. 8.6 показано, как для объединения двух изолированных «островов» SAN применяется FCIP. При этом в SAN точно так же используется технология Fibre Channel, и вся адресация, маршрутизация и другие операции SAN выполняются обычным образом, т.е. как в обычной сети на основе технологии Fibre Channel. Протокол FCIP полагается на TCP/IP в вопросах маршрутизации и управления, включая управление сетевыми «заторами». Кроме того, FCIP использует возможности TCP/IP и Fibre Channel для восстановления данных, а также преобразует адреса Fibre Channel в адреса IP. Протокол FCIP используется для установки связи между портами типа Е. (Различные типы портов Fibre Channel рассматриваются в главе 4.)

    Обычное приложение FCIP поддерживает:

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

    удаленное резервное копирование в качестве элемента системы по восстановлению данных после крупномасштабных катастроф;

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

    Протокол FCIP не требует внесения изменений в сеть на основе технологии Fibre Channel. На рис. 8.7 показаны стеки протоколов FCIP и iFCP (про-

    Рис. 8.7. Сравнение стеков протоколов FCIP и iFCP


    токол iFCP рассматривается в разделе 8.1.5). Обратите внимание на функциональные уровни Fibre Channel, включая FC-4 и более низкие уровни Fibre Channel, остающиеся неизменными при использовании FCIP. По сравнению с типичной иерархией файловой системы, управления томами, уровнями класса и порта, описанными в главе 1, уровень команд SCSI в этой модели присутствует на уровне драйвера порта. Таким образом, уровень FC-4 и более низкие уровни, показанные на рис. 8.7, должны быть реализованы в аппаратном обеспечении ниже уровня драйвера гюрга Windows XT. Обычно от аппаратного обеспечения требуется поддержка работы драйвера порта. В данном случае стек TCP/IP также часто реализуется в виде программного обеспечения.

    По сравнению со схемой «IP поверх Ethernet», протокол FCIP имеет определенные преимущества. В то время как пакеты Ethernet обычно содержат около 1500 байт данных, кадры FCIP содержат около 2000 байт данных. Однако если рассмотреть реализацию кадров Ethernet в технологии Gigabit Ethernet, по;1держивающей кадры размером 8 Кбайт и более, это преимущество сходит на нет.

    Проблема протокола FCIP состоит в необходимости поддержки двух сетей. Ожидается, что FCIP будет применяться в качестве средства расширения пропускной способности каналов или удаленного зеркального отражения данных на существующее устройство, а не в роли «нового» протокола, внедряемого на уровне узлов.


    8.1.5 Протокол iFCP

    Межшлюзовой протокол iFCP (Internet Fibre Channel Protocol) позволяет двум сетям на базе Fibre Channel взаимодействовать друг с другом через промежу точную сеть на основе TCP/IP. Компоненты связной архитектуры Fibre Channel заменяются коммутацией TCP/IP и элементами маршрутизации. В то время как FCIP нацелен на соединение сетей хранения данных, протокол iFCP больше предназначен для подключения отдельных устройств Fibre Channel к сетям на базе протокола IP.

    Межшлюзовому протоколу iFCP требуется два устройства-шлюза для предоставления связи остальным устройствам в SAN на основе Fibre Channel. 11а рис. 8.8 приведена типичная схема применения iFCP.

    Два шлюза iFCP устанавливаются как пограничные устройства сети IP. К шлюзам могут быть подключены такие устройства Fibre Channel, как жест- кис диски, накопители на магнитной ленте или серверы. Как показано на рис. 8.8. два шлюза устанавливают соединение IP. которое используется для передачи данных сеансов между устройствами. Таким образом, iFCP работает на уровне соединений между устройствами, a FCIP больше похож на мост Ethernet, передающий все пакеты меж;1у двумя «островами» SAN.

    Протокол iFCP поддерживает протокол FCP (Fibre Channel Protocol) стандарт для передачи команд и ответов SCSI по последовательной линии

    Рис. 8.8. Схема использования iFCP


    связи. Как показано на рис. 8.7, стек протокола iFCP заменяет уровень FC-2 (транспортный уровень стека Fibre Channel, который рассматривается в главе 4) транспортным уровнем протокола TCP, однако уровень FC-4 остается неизменным. Данные передаваемых сообщений и маршрутизации iFCP не выходят за границу шлюзов, т.е. несмотря на наличие соединения между устройствами, сети хранения данных на базе Fibre Channel остаются изолированными. Эта ситуация напоминает блокирование широковещательных кадров на маршрутизаторе. Протокол iFCP предоставляет связь только портам типа F (дополнительная информация о типах портов Fibre Channel и их возможностях приводится в главе 4), а также создает несколько сеансов связи TCP/IP между устройствами Fibre Channel.

    Сравнивая стеки протоколов FCIP и iFCP (см. рис. 8.7), можно заметить, что FCIP реализует все уровни протокола Fibre Channel, a iFCP – только уровень 4. Таким образом, протокол FCIP ориентирован на технологию Fibre Channel.

    Протокол iFCP «полагается» на TCP/IP для обеспечения надежной доставки данных. Это означает, что сеть IP на более низких уровнях может не предоставлять надежной доставки. Спецификация протокола iFCP допускает повышенные задержки в работе сети, что помогает работать в сетях с низкой надежностью и небольшими задержками, которые выглядят, как сети с большими задержками и высокой надежностью. Это реализуется за счет механизма надежной последовательной доставки пакетов протокола TCP. Так как iFCP задействует несколько соединений TCP/IP, он более эффективен и устойчив к заторам в сети по сравнению с использованием одного соединения TCP/IP для передачи всех данных между устройствами.

    Устройства шлюзов iFCP предоставляют возможности регистрации устройств хранения на сервере имен iSNS (дополнительная информация приводится в следующем разделе).


    8.1.6 Служба iSNS

    Служба iSNS (Internet Storage Name Service) предоставляет методы регистрации и обнаружения устройств хранения. Поддержка протокола iSNS может быть реализована на серверах и устройствах хранения. Служба iSNS предоставляет единую модель, которая может применяться к устройствам SCSI и Fibre Channel. Устройства Fibre Channel регистрируются службой iSNS с помощью шлюза iFCP, в то время как устройства iSCSI регистрируются самой службой iSNS. Инициаторы обнаруживают серверы iSNS одним из двух способов.

    С помощью статической информации.

    С помощью протокола SLP (Service Location Protocol).

    Служба iSNS предоставляет функции зонирования благодаря концепции доменов обнаружения, что позволяет администратору указывать группы устройств. Когда член группы запрашивает сервер iSNS, в ответном сообщении указываются устройства только из той же группы. Кроме того,. серверы iSNS предоставляет услуги уведомления, например когда к сети подключается новое целевое устройство.

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

    Компания Microsoft активно занимается продвижением протокола iSNS, однако еще не сообщила о планах выпуска сервера iSNS, клиента iSNS или обоих продуктов iSNS.


    8.1.7 Методы эффективного внедрения TCP/IP

    С развитием технологии IP Storage необходимость эффективной реализации протокола TCP/IP стала еще более актуальной. Анализ показал, что обработка пакетов TCP/IP и даже подсчет их контрольных сумм может существенно загрузить центральный процессор. Кроме того, данные копируются неоднократно, что еще больше увеличивает накладные расходы по их обработке.

    Например, протокол TCP должен поддерживать последовательную доставку (которая не предоставляется IP), поэтому пакеты, пришедшие раньше своей очереди, должны быть помещены на временное хранение. Это означает, что данные копируются во временный буфер и позднее копируются из него в пользовательский буфер. Требования к аппаратному обеспечению только в случае поддержки последовательной доставки могут быть весьма существенными. Линия связи WAN со скоростью передачи 1 Гбит/с может потребовать 16 Мбайт оперативной памяти для хранения пакетов, пришедших раньше своей очереди, и для восстановления последовательности пакетов. При быстродействии 10 Гбит/с необходимый объем возрастает до 125 Мбайт. Другими словами, необходимо сократить количество копирований данных в буфер, что можно сделать с помощью более эффективного программного или аппаратного обеспечения.

    Технологии оптимизации TCP, разработанные в последнее время, рассчитаны на более активное применение аппаратных компонентов сетевого адаптера. С увеличением потребности в быстродействии TCP/IP (особенно учитывая развитие технологии IP Storage) оптимизация TCP стала крайне важной. Далее вкратце описаны некоторою из предлагаемых технологий.

    Перемещение всего стека протокола TCP/IP на уровень аппаратного обеспечения. Хотя в аспекте производительности это наилучший вариант, он наиболее амбициозен, поскольку требует решения некоторых сложных проблем, например координации различных стеков протокола TCP/IP,. работающих на двух сетевых адаптерах одного сервера под управлением Windows NT..

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

    Перенос на уровень аппаратного обеспечения стандартной обработки; при этом обработка исключений осуществляется программно.

    Перенос на уровень аппаратного обеспечения обработки данных IPSec и даже некоторых данных iSCSI.

    В Windows 2000 б, ыла представлена версия 5.0 спецификации NDIS (Network Driver Interface Specification), которая содержит поддержку оптимизации TCP/IP. В частности, в Windows 2000 поддерживаются описанные ниже функции.

    Перенос вычисления контрольных сумм TCP/IP на уровень аппаратного обеспечения как для отправки (генерация контрольной суммы), так и для приема (проверка контрольной суммы).

    Перенос сегментации TCP на уровень аппаратного обеспечения. При этом, если объем данных превышает максимальную единицу передачи (MTU), аппаратное обеспечение будет сегментировать данные в несколько пакетов.

    Перенос на уровень аппаратного обеспечения реализации IPSec. Стандарт IPSec (для протоколов IPv4 и IPv6) обеспечивает целостность данных и аутентификацию на уровне пакетов. Протокол IPSec может использоваться в двух режимах: транспортном, который обеспечивает целостность данных и аутентификацию между пользовательскими приложениями, и туннельном, обеспечивающем безопасность обмена данными между двумя маршрутизаторами. На уровень аппаратного обеспечения могут быть перенесены оба режима.

    Быстрая передача пакетов, когда код маршрутизации Windows 2000 передает пакет с одного сетевого порта на другой, минуя копирование пакета в память узла.

    8.2 Стандарт InfiniBand

    Новый стандарт (и архитектура) InfiniBand предназначен для соединения коммутируемых связных архитектур между узлом и хранилищем или сетевыми периферийными устройствами. Разработкой спецификации InfiniBand занимается ассоциация IBTA (InfiniBand Trade Association). Эта ассоциация была сформирована после слияния двух конкурирующих спецификаций: Future I/O, продвигавшейся усилиями компании Intel, и Next Generation I/O, разрабатываемой компаниями IBM, HP и Compaq.

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

    Хотя шина PCI обладает определенными позитивными свойствами, например в свое время она заменила сразу несколько конкурирующих стандартов (ISA, EISA, MCA), в свете быстрого развития центральных процессоров, памяти и технологий периферийных устройств ее ограничения становятся все более явными. Приведем некоторые из них.

    Хотя шина PCI обладала достаточным быстродействием в момент своего появления, ее пропускная способность более не соответствует современным требованиям: шина FSB центрального процессора имеет пропускную способность 1066 Мбит/с, а для устройств Gigabit Ethernet и высокоуровневых устройств хранения (SCSI 3) шина PCI станет «бутылочным горлышком», ограничивающим эффективность работы.

    Шина PCI имеет определенные проблемы в управлении вообще и в обнаружении ошибок в частности. Одна некорректно работающая плата PCI может привести к неисправности всей системы, в то время как обнаружить поврежденную плату крайне сложно.

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

    Обратите внимание: хотя технология InfiniBand изначально позиционировалась как замена шины PCI, с появлением технологии 3GIO роль InfiniBand в качестве PCI нового поколения заметно снизилась.


    8.2.1 Преимущества технологии InfiniBand

    Технология InfiniBand предоставляет множество преимуществ.

    Сокращение сложности кабельных подключений, так как InfiniBand позволяет заменить три кабеля – Ethernet, кабели к подсистеме хранения и кабели межпроцессного взаимодействия – одним соединением. В результате намного упрощается аппаратная структура монтажной платы, разводка соединителей на платах и общая структура системы. Более того, монтажные платы подключаются к граничным разъемам и из стойки доступна только пара высокоскоростных соединений.

    Встроенное обнаружение ошибок, упрощающее поиск неисправного компонента.

    Сокращение потребления пропускной способности памяти, так как сокращается количество операций копирования в память и из нее.

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

    Уменьшение накладных расходов, например при вычислении контрольных сумм TCP/IP.

    Обеспечение отказоустойчивости за счет использования альтернативных маршрутизаторов в среде связной архитектуры и таких избыточных компонентов; как маршрутизаторы и коммутаторы. Избыточные маршруты позволяют выполнять отправку данных по нескольким маршрутам и балансировать общую нагрузку. Более того, компоненты InfiniBand поддерживают «горячую» замену.

    Технология InfiniBand обеспечивает эффективную загрузку монтажной платы из внешнего устройства, что позволяет еще более упростить аппаратную структуру платы.


    8.2.2 Архитектура InfiniBand

    Архитектурой InfiniBand определена топология логического подключения «точка-точка», которое формируется поверх связной архитектуры. Непосредственно коммутируемая связная архитектура содержит следующие компоненты:

    ¦ адаптеры канала узла;

    Рис. 8.9. Шина ввода-вывода InfiniBand


    адаптеры канала целевого устройства;

    коммутаторы InfiniBand;

    физический носитель.

    На рис. 8.9 демонстрируется структура шины ввода-вывода InfiniBand и взаимоотношение различных компонентов, которые более подробно рассматриваются далее.

    Адаптер канала узла (host channel adapter – НСА) представляет собой устройство, которое работает в качестве точки соединения центрального процессора узла и связной архитектуры InfiniBand. Адаптеры каналов узла тесно связаны с серверами и размещаются рядом с ними. Адаптер НСА уменьшает количество прерываний, сдерживает «вмешательство» операционной системы и может обмениваться данными непосредственно с памятью. Каждый адаптер имеет уникальный идентификатор, созданный на основе адреса протокола IPv6.

    Адаптер канала целевого устройства (target channel adapter – ТС А) является аналогом адаптера НСА, предназначенного для периферийных устройств, а не ЦПУ узлов. Адаптеры ТС А обычно взаимодействуют с периферийными устройствами и также размещены недалеко от них.

    Коммутатор InfiniBand предоставляет возможность подключения нескольких адаптеров ТСА к одному адаптеру НСА. Кроме того, коммутаторы поддерживают маршрутизацию нескольких логических элементов связной архитектуры (они называются подсетями). В то время как коммутаторы InfiniBand поддерживают подключения внутри подсети, маршрутизаторы InfiniBand реализуют подключение между подсетями. Маршрутизаторы обычно настраиваются так, чтобы дополнять возможности коммутаторов новыми функциями.

    Технология InfiniBand поддерживает использование обычных медных или оптических кабелей, при этом линии связи могут достигать 17 метров для медных носителей и 100 метров для оптических кабелей. Подключение InfiniBand может включать в себя разное количество линий связи, каждая из которых имеет быстродействие 2,5 Гбит/с. Поддерживаются комбинации от IX (1 кабель) до 4Х (4 кабеля) для быстродействия 10 Гбит/с или 12Х (12 кабелей) для быстродействия 30 Гбит/с.

    Архитектура InfiniBand включает в себя не только физические, но и логические компоненты, описанные далее.

    8.2.2.1 Линии связи InfiniBand и сетевые уровни

    На уровне канала передачи данных (уровень 2 модели OSI) каждая линия InfiniBand делится максимум на 16 потоков и минимум на 2 потока. Один из потоков всегда выделяется на управление связной архитектурой. Потоки получают приоритеты QoS, а поток управления поЛучает наивысший приоритет (виртуальный поток 15; потоки 0–14 используются для передачи данных) и соответствующий уровень QoS.

    Следует отметить, что, в отличие от потока, канал передачи данных представляет собой физический компонент. Поток позволяет двум узловым системам связываться друг с другом. Установившие сеанс связи системы могут поддерживать различное количество виртуальных потоков, для чего в спецификации InfiniBand описан соответствующий алгоритм. Установившие связь конечные точки называются парой очереди (queue pair). Пары очереди имеют связанные с ними буферы приема и отправки. Каждый виртуальный поток (virtual lane – VL) предоставляет собственное управление потоком на кредитной основе. Пакеты управления обеспечивают перечисление устройств, управления подсетями и устойчивость к ошибкам.

    Технология InfiniBand поддерживает одновременную передачу данных без коллизий[20]. Для обеспечения надежной передачи данных технология InfiniBand использует сквозное управление потоком и не одну, а две проверки целостности по алгоритму CRC. Управление потоком выполняется с помощью выделения буферов на принимающем узле и передачи количества буферов отправляющему узлу. Этим значением указывается количество буферов данных, которые можно отправить без подтверждения приема. Два значения CRC подсчитываются и передаются вместе с данными. Получающая сторона также подсчитывает эти значения. Значение CRC размером 32 бит создается для связи «точка-точка». В то же время данные могут передаваться через промежуточные узлы. Между промежуточными узлами или между промежуточным и конечным узлами используются значения размером 16 бит.

    В архитектуре InfiniBand базовой единицей передачи является сообщение (message). Сообщение может быть отправлено или принято с помощью операции RDMA, операции отправки или приема или с помощью операции групповой отправки. Операция удаленного прямого доступа к памяти (Remote Direct Memory Access – RDMA) обеспечивает непосредственный обмен сообщениями между памятью узлов, минуя прерывания операционной системы и не требуя использования служб. Технологией InfiniBand определено шесть режимов передачи данных.

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

    Ненадежное соединение.

    Надежная дейтаграмма.

    Ненадежная дейтаграмма.

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

    Пакетная передача (реализация необязательна).

    Сообщение InfiniBand может состоять из одного или нескольких пактов. Пакеты могут иметь размер до 4096 байт. На виртуальных потоках (VL) возможно чередование пакетов. Маршрутизация проводится на уровне пакетов, причем пакеты, маршрутизируемые между подсетями, содержат глобальный заголовок, благодаря которому и реализуется маршрутизация.

    Кроме того, в архитектуре InfiniBand определен сетевой уровень, обеспечивающий маршрутизацию между различными подсетями. Подсети позволяют локализовать передачу данных в пределах определенной подсети; например широковещательные пакеты и пакеты групповой отправки не выходят за рамки подсети. Подсети предоставляют функции, аналогичные возможностям виртуальной LAN (VLAN), и могут использоваться для обеспечения безопасности. Для каждого устройства в подсети используется 16-разрядный идентификатор, уникальный в пределах подсети. Каждый маршрутизируемый пакет содержит адреса IPv6 исходного узла и узла назначения.


    8.2.3 Компания Microsoft и технология InfiniBand

    Компания Microsoft в свое время указала, что в неопределенном будущем семейство операционных систем Microsoft Windows будет поддерживать технологию InfiniBand. В третьем квартале 2002 года Microsoft и другие лидеры индустрии информационных технологий сообщили о пересмотре своих планов подцержки технологии InfiniBand; в частности, Microsoft сообщила о перераспределении ресурсов, направленных ранее на поддержку технологии InfiniBand, на другие области, включая IP Storage поверх Gigabit Ethernet. Таким образом, данный раздел может показаться неполным, поскольку не существует конкретной реализации InfiniBand от Microsoft, которую можно было бы описать в полной мере.

    8.3 Сложности практической реализации

    Администраторы и руководители отделов информационных технологий должны обратить внимание на то, ч; го поддержка протокола iSCSI не обеспечена в базовой версии Windows Server 2003. Таким образом, все системы на базе iSCSI, которые будут использоваться в Windows до выхода официальной поддержки, должны полностью проектироваться производителем. Заранее невозможно сказать, насколько успешно такие системы будут взаимодействовать с реализацией протокола iSCSI в Windows.

    Производители, стремящиеся реализовать системы iSCSI для платформы Windows, оказываются в запутанной ситуации. Рекомендуется связаться с компанией Microsoft (iscsi®microsoft.com) и принять участие в разработке реализации протокола iSCSI. На данный момент существует мнение, что проектируемый стек iSCSI будет поддерживаться как в Windows 2000, так и в Windows Server 2003. Поскольку для работы некоторых систем от производителей потребуется создание драйвера мини-порта, следует обратить внимание на то, что модель драйверов Storport в Windows Server 2000 не поддерживается (модель драйверов Storport рассматривается в главе 2). Таким образом, производителю придется принимать решение о разработке драйвера на основе модели SCSIPort или о создании двух драйверов для моделей Storport и SCSIPort.

    Высока вероятность быстрого развития технологии IP Storage, после того как будет предоставлена широкая поддержка со стороны операционных систем. Некоторые версии Linux уже поддерживают iSCSI, т.е. в данном случае Windows придется уже наверстывать упущенное. Новые возможности, предоставляемые IP Storage, с высокой долей вероятности окажутся весьма привлекательными и потребуют значительных ресурсов.

    8.4 Резюме

    Набор технологий IP Storage предназначен для доступа к устройствам хранения по сетям на основе протокола IP. Важность этой технологии растет вместе с определением стандартов и появлением готовых решений. Компания Microsoft сообщила, что операционная система Windows NT будет поддерживать, как минимум, протокол iSCSI, который представляет собой один из ключевых компонентов IP Storage.

    С ростом систем на базе IP Storage повышается необходимость создания еще более эффективной реализации стека протоколов TCP/IP (и смежных с ним протоколов). Один из способов состоит в обработке данных TCP/IP на уровне аппаратного обеспечения. С выходом стандарта NDIS 5.1 компания Microsoft сообщила о поддержке в Windows NT сетевых адаптеров с частичной аппаратной реализацией протокола TCP.

    Технология InfiniBand – это новый стандарт, с помощью которого коммутируемая связная архитектура предназначается для соединения центральных процессоров узлов и периферийных устройств хранения данных. Хотя некоторые компании продолжают разработку InfiniBand, компания Microsoft решила отказаться от ее поддержки в Windows NT. Таким образом, будущее InfiniBand находится под большим вопросом, поэтому имеет смысл обратить более пристальное внимание на реализацию технологии IP Storage поверх Gigabit Ethernet, активно продвигаемой Microsoft.



    Примечания:



    1

    Данный режим в Windows NT не используется.



    2

    Строго говоря, это не просто обработчик прерываний, однако в данный момент не будем углубляться в детали, поэтому далее обработчик прерываний будет именоваться просто прерыванием.



    19

    Для получения необходимой информации следует связаться с представителями Microsoft по электронной почте (iscsi@microsoft.com).



    20

    Хотя InfiniBand не поддерживает задержки случайной передачи и задержки коллизий Ethernet, эта технология предоставляет механизмы управления потоком и дает возможность задерживать передачу данных в случае необходимости. Существенная задержка в получении/отправке данных и медленная передача данных будут обрабатываться приложением одинаково.









    Главная | В избранное | Наш E-MAIL | Добавить материал | Нашёл ошибку | Наверх