Решения, функциональность которых ранее возлагалась на хост, теперь переносятся непосредственно в сеть.

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

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

ИНТЕЛЛЕКТУАЛЬНАЯ ОБРАБОТКА ДАННЫХ ДЛЯ ХРАНЕНИЯ

Прежней обработки кадров и данных посредством программного обеспечения или аппаратного анализа заголовков для интеллектуальных сетей уже недостаточно. Производителям приходится переносить решения на адаптер главной шины (Host Bus Adapter, HBA), конечный канальный адаптер (Target Channel Adapter, TCA) или коммутирующие ультраплоские модули, а потому они вынуждены инвестировать средства в дорогостоящие проекты ASIC и/или системные разработки на базе сетевых процессоров, как это делалось в области сетей передачи данных, к требованиям которых решения с применением сетевых процессоров отлично адаптированы. Однако протоколы сетевых хранилищ — SCSI и iSCSI — предъявляют другие требования, и трафик также обладает другими свойствами. Вот некоторые примеры:

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

На Рисунке 1 изображено объединение нескольких клиентов хранения и хостов по глобальной сети, где команда хранения клиентского приложения обычно передается целевому контроллеру RAID по сети хранения данных (Storage Area Network, SAN) на базе Fibre Channel и/или корпоративной сети на базе IP/Ethernet через HBA на инициаторе, коммутатор SAN и общедоступную сеть Internet. Посылаемые вместе с запросом или ответом полезные данные проходят через несколько протоколов и устройств. При этом выполняется преобразование между файловым и блочным доступом к дискам между устройствами инициатора/цели на базе IP/Ethernet или Fibre Channel. При каждой такой трансформации, а также на конечных точках последовательности команд и ответов необходимо терминирование протокола. Если нижележащие транспортные сети переводятся на скорость 10 Гбит/с или выше, то операции по преобразованию и терминированию оборачиваются значительным ростом требований к обработке информации. Производители оборудования для хранения данных решают эту проблему по-разному. Наибольшее распространение получили два варианта. Первый базируется на решениях ASIC, а второй опирается на стандартные процессоры. Оба сценария предусматривают перевод все большей части задач обработки на сопроцессоры в целях удовлетворения требований высокоскоростных решений сетей хранения данных при скоростях 10 Гбит/с и более.

ПРЕОБРАЗОВАНИЕ ДАННЫХ И ПРОТОКОЛОВ В СЕТЯХ ХРАНЕНИЯ ДАННЫХ

Как видно из Рисунка 1, трафик сохраняемых данных на пути от инициатора к цели подвергается ряду преобразований. В принципе функция трансляции или отображения, т. е. оператор трансляции, используется тогда, когда устройство вдоль пути передачи преобразует поток бит из одного протокола в другой. При этом оператор трансляции может работать со многими параметрами (к примеру, протокол второго уровня или качество услуг третьего). Речь идет о той логике, посредством которой детали процессов ввода/вывода хранения скрываются от хоста или другого оператора в восходящем направлении. Операторы трансляции — это функции уровня хранения, они являются составной частью пути ввода/вывода и служат для управления адресными областями устройств, подсистем и виртуальных устройств в нисходящем направлении. С другой стороны, оператор трансляции экспортирует виртуальные устройства в инициаторы запросов ввода/вывода в восходящем направлении.

Особенность реализации подобного оператора трансляции зависит от того, в какой точке сети производится операция.

НВА ИНИЦИАТОРА/ЦЕЛИ

Адаптер главной шины инициатора/цели терминирует и обрабатывает трафик хранения до того, как к нему будет предоставлен доступ с уровней приложений и хранения. Обычно НВА отвечает за множество функций, в том числе за преобразования ввода/вывода (из блочно-ориентированных данных хранения в маршрутизируемый протокол SAN), а также за разгрузку центрального процессора и эффективное использование серверных ресурсов (буферизация и обработка поступающих данных хранения для минимизации появления прерываний на главном процессоре). Все в большей степени НВА используется с обеих сторон в целях освобождения центрального процессора от обработки сетевых протоколов и протоколов хранения Fibre Channel, iSCSI и TCP.

При терминировании этих протоколов НВА производит операцию преобразования, переводя входящую пакетную информацию в пакето- или сеансово-ориентированную информацию для механизма обработки НВА. К примеру, при терминировании данных ТСР номера портов отправителя и получателя TCP, а также пара IP-адресов отправителя и получателя служат для доступа к таблице, в которой сохранена информация о сеансе ТСР. В итоге этот идентификатор сеанса служит в качестве указателя для доступа ко всей информации о статусе соответствующего сеанса ТСР.

КОММУТАТОР SAN

Многопротокольные коммутаторы SAN должны соответствовать все более высоким требованиям в отношении обработки пакетов, чтобы они были способны осуществлять адекватную поддержку различных протоколов хранения. Механизмы обеспечения безопасности — разбиение на зоны, маскирование номеров логического устройства (Logical Unit Number, LUN) и разделение виртуальных SAN — дополнительно повышают рабочую нагрузку на процессор обработки пакетов.

МНОГОПРОТОКОЛЬНЫЕ ШЛЮЗЫ И КОММУТАТОРЫ

Многопротокольная коммутация требует преобразования пакетов из протокола на входе в протокол на выходе. К примеру, шлюзы iFCP терминируют кадры протокола Fibre Channel (Fibre Channel Protocol, FCP) и приписывают их в соответствии с сетевым адресом N_Port к тем или иным соединениям ТСР. Таблица преобразования адресов, где D_ID/S_ID кадра FC ставятся в соответствие соединению ТСР и адресу N_Port, создается путем опроса iSNS. Каждая новая команда доступа к порту заставляет шлюз iFCP обратиться к iSNS и запросить сетевые адреса N_Port внешних устройств. Со стороны входа (при приписке кадров FC к соединению ТСР) эта информация располагается во внутренней таблице в пределах шлюза iFCP. Псевдоним в D_ID входящего кадра Fibre Channel назначается соответствующему сетевому адресу N-Port. Со стороны выхода (при назначении соединения ТСР кадру FC) шлюз iFCP реконструирует псевдоним на основании контекста соединения ТСР и идентификатора N_Port адреса назначения инкапсулированного кадра FC. Найденный в таблице псевдоним S_ID заменяет S_ID полученного кадра Fibre Channel.

МАСКИРОВАНИЕ LUN, ЗОНИРОВАНИЕ И ВИРТУАЛЬНЫЕ SAN

Разбиение на зоны — распространенный метод обеспечения безопасности и целостности данных на уровне коммутатора. Условием для этого является различение трафика хранения на основании идентификатора порта (т. е. комбинации идентификатора домена коммутатора и номера его порта) или глобального номера (World Wide Number, WWN) порта и/или узла. Операция преобразования производится над входящим кадром FC, когда идентификатор порта или WWN правила доступа назначается доступным ресурсам хранения. На коммутаторе должна быть база данных для реализации оператора преобразования.

Маскирование логического номера устройства позволяет определить отношения между LUN и отдельными серверами. Современные коммутаторы, как правило, предлагают возможность организации управления доступом на уровне LUN, при помощи которого одному или нескольким хостам предоставляется право доступа к определенному LUN. Организация контроля доступа на уровне коммутатора обеспечивает поддержку решений хранения данных от различных производителей. Маскирование LUN — по сравнению с разбиением на зоны — предлагает более точную градацию безопасности, поскольку LUN предоставляет функции совместного использования ресурсов хранения на уровне порта. Маскирование LUN реализуется на уровне коммутатора, при этом WWN для НВА хоста привязывается к идентификатору LUN для определенных ресурсов хранения. В этом случае в целях контроля доступа к ресурсам хранения для приписки каждого кадра FC также должна производиться операция преобразования.

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

Виртуализация сетей хранения данных производится путем назначения кадру FC 12-разрядного идентификатора VSAN на основании порта коммутатора или с помощью WWN хоста и/или цели. Классификация кадров FC со скоростью физического соединения (для присвоения тегов VSAN) возможна при помощи аппаратной реализации оператора преобразования. Концепция VSAN, допускающая существование нескольких логических VSAN в одной физической инфраструктуре SAN, поддерживается и функциями NSE, благодаря которым на одном компоненте допускается наличие нескольких изолированных друг от друга баз данных.

ДИСКИ/КОНТРОЛЛЕРЫ RAID

Диски и контроллеры RAID становятся все более интеллектуальными. Они берут на себя целый ряд задач по управлению, упрощая его и обеспечивая масштабируемость и безопасность. Маскирование LUN может быть реализовано на контроллере RAID в целях разделения различных сегментов хранения и гарантирования целостности данных. Операция преобразования должна производиться точно так же, как и в случае реализации маскирования LUN в коммутаторе. С учетом необратимой тенденции перехода на все более емкие и быстрые массивы хранения такие функции RAID, как зеркалирование и чередование дисков, увеличивают нагрузку на контроллер. Добиваясь, к примеру, эффективного использования дискового накопителя с сохранением когерентности между кэш-памятью и диском, нельзя обойтись без быстрого и детерминированного табличного доступа для локализации полосы при очистке кэша.

ИСПОЛЬЗОВАНИЕ СЕТЕВЫХ МЕХАНИЗМОВ ПОИСКА

Как можно заключить из описаний процесса преобразования во всех устройствах маршрута ввода/вывода, для классификации пакетов, отслеживания пакетов ТСР, задания полей QoS и т. д. необходимо преобразование множества процессов доступа к таблице. На данный момент эти функции выполняются универсальными процессорами или процессорами ASIC, осуществляющими доступ к памяти, где размещаются соответствующие таблицы значений. Недостаток состоит в том, что доступ к памяти, в зависимости от реализованного алгоритма поиска, может занимать несколько циклов. И если в случае умеренной скорости передачи с этим еще можно смириться, то при использовании Ethernet на 10 Гбит/с или Fibre Channel появляются узкие места. Высокая производительность и 100К сеансов ТСР при скоростях передачи 10 Гбит/с и более требуют аппаратной поддержки для доступа к таблице. Сетевой поисковый механизм (Network Search Engine, NSE) предлагает детерминированное решение, которое обеспечивает высокую пропускную способность и отличается низким уровнем полной стоимости владения (Total Cost of Ownership, TCO). Альтернативные решения на базе алгоритмических методов нуждаются либо в слишком большом дисковом пространстве, либо, когда производительность достигнет уровня решений на базе NSE, в необходимости перевода на ASIC с быстрым интерфейсом.

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

Относительно функций оператора преобразования протоколы хранения предъявляют к классификации пакетов следующие особые требования:

  • распознавание команд SCSI в кадрах управления;
  • построение и ликвидация потоков SCSI;
  • передача значений статуса между кадрами в пределах потока — идентификация потока;
  • идентификация потока для балансировки нагрузки между соответствующим образом оснащенными блоками обработки;
  • манипулирование кадрами как результат классификации;
  • множественные требования к классификации как результат принятых мер;
  • точная ступенчатая классификация доступа к таблицам и блокирование таблиц в целях сохранения целостности и когерентности;
  • поддержка глобальной таблицы для использования несколькими потоками данных от нескольких портов;
  • списки контроля доступа (Access Control List, ACL) и их обязательное применение, к примеру проверка диапазона блоков;
  • распознавание и классификация кадров при помощи различных уровней качества услуг.

Для того чтобы процессор пакетов мог выполнять перечисленные задачи с максимальной скоростью, программное решение требует разработки более быстрых программных интерфейсов приложений (Application Programming Interface, API). Другие решения на аппаратной базе с несколькими процессорными ядрами могут быть использованы для такой классификации, если они работают с пулом из нескольких кадров данных. Недостаток метода заключается в большой потребности в памяти и сложном многопотоковом программировании. NSE в связке с сетевым сопроцессором позволяет решить эту проблему. Пакетному процессору очень помогает возможность передать NSE алгоритмы поиска по таблице. Примерами таких алгоритмов являются классификация кадров и свободное управление списками. Подобные операции требуют больших вычислительных ресурсов и ресурсов памяти, а NSE способствует их разгрузке и, кроме того, может быть запрограммирован на работу с несколькими таблицами, поиск по которым ведется со скоростью физического соединения.

Доступ к таблицам при помощи NSE обладает еще несколькими преимуществами:

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

NSE широко применяются в коммутаторах второго/четвертого уровней, а также в системах доступа и обеспечения безопасности для ускорения обработки пакетов и функций QoS. Во всех подобных системах NSE принимают «ключ» данных и после поиска по таблице выдают результат в течение одного цикла. Если преобразование можно представить в виде упорядочения данных 1:1, то для такого случая идеально подходит бинарная ассоциативная память (Content Addressable Memory, CAM). К примеру, продвижение данных на втором уровне (МАС) чаще всего требует нацеленного на установление однозначного соответствия поиска адресата, чтобы входящий пакет был назначен определенному выходному порту. Если речь, напротив, идет о процессе, когда с результатом соотносится множество входных значений, необходимы «тройственные САМ» (TCAM), поскольку они предлагают простую возможность для маскирования некоторых битов входного «ключа» до начала работы с таблицей. Так, при продвижении данных на третьем уровне согласно алгоритму совпадения наиболее длинного префикса (Longest Prefix Match, LPM) одному адресу следующего транзитного узла ставится в соответствие несколько целевых IP-адресов. ТСАМ со своей побитовой возможностью маскировки представляет собой идеальное решение для подобного приложения.

Рисунок 2. Использование NSE в приложении разрешения правил.

На рисунке 2 поясняется функциональность NSE на примере приложения разрешения правил. Здесь процессор пакетов (ASIC, FPGA или NPU) должен решить, может пакет пройти через сеть или нет. Для переноса этой многоцикличной функции процессор пакетов на основании заголовка IP-пакета составляет пятичастный ключ, однозначно идентифицирующий поток пакетов, и отсылает его NSE. Ключ состоит из следующих элементов:

  • идентификатор отправителя длиной 32 бит;
  • идентификатор получателя длиной 32 бит;
  • порт отправителя длиной 16 бит;
  • порт получателя длиной 16 бит;
  • идентификатор протокола длиной 6 бит.

Обратим внимание на три момента:

  • хотя в целях иллюстрации использовался пакет IP, NSE работают с входными данными в любой форме, поскольку не предполагают определенного формата данных. В частности, процессоры хранения (ASIC, FPGA и т. д.) также применяют NSE для отображения данных Fibre Channel и iSCSI;
  • функциональность NSE можно сравнить с функциональностью быстрого аппаратного преобразователя, который в состоянии за один цикл упорядочить входные данные так, чтобы они соответствовали выходным;
  • большие поисковые ключи длиной, к примеру, 576 бит предлагают высокую гибкость при управлении таблицами и поиске сложных ключей.

NSE обладают различной плотностью и длиной ключа (36, 72, 144, 288 и 576 бит) в соответствии с задачами преобразования в сетях хранения данных. Кроме того, они могут согласованно работать с ASIC, FPGA и NPU.

ЗАКЛЮЧЕНИЕ

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

Сридхар Голлапуди — менеджер по продуктам подразделения передачи данных компании Cypress. С ним можно связаться по адресу: mw@lanline.awi.de.


? AWi Verlag