SAN на базе PCI-E стал реальностью
Осенью 2007 года на компьютерном рынке появились системы с интерфейсом, который даже его авторы в начале разработки стандарта не предполагали использовать в качестве внешнего – а именно PCI Express (его название нередко сокращают до PCI-E, PCIE или даже PCIe). Только 7 февраля 2007 года, через 5 лет после разработки самого стандарта, PCI-SIG выпустила спецификацию внешней кабельной системы PCIE. То, что PCI Express интерфейс последовательный, и послужило основной причиной того, что кто-то когда-то в PCI-SIG задумался и решил стандартизовать PCI-E в качестве внешнего интерфейса. Как это ни странно, все получилось, и PCI Express стал впервые в компьютерной истории не только основным внутренним интерфейсом для подключения плат ввода/вывода, но и интерфейсом для подключения внешних систем хранения. Поскольку в современных RAID контроллерах для передачи данных используется тот же интерфейс, то подключение внешних систем по PCI-E позволяет устранить пару лишних преобразований информации.
Напомним, что классическая схема подключения внешней системы хранения к компьютеру (хосту) требует сначала преобразования данных для передачи по внешнему интерфейсу (выполняется специальным компьютерным контроллером, HBA – Host Bus Adapter), а затем обратного преобразования при приеме и последующей передаче данных уже в системе хранения.
Использование контроллера внешнего интерфейса, безусловно, удобнее с точки зрения стандартизации и мобильности системы хранения, но есть и много минусов. Во-первых, за контроллеры надо платить и немало, до $1000 за SAS или Fibre Channel. К этому надо добавить соединительные кабели, стоящие в зависимости от длины до $100. А во-вторых, предел скорости обмена данными в системе хранения определяется именно контроллерами и для SAS/Fibre Channel не превышает 300/400 MB/s. Минусы PCI-E в качестве внешнего интерфейса по сравнению с Fibre Channel тоже очевидны - небольшая длина кабеля (до 12 метров) и невозможность коммутации.
Идея использования PCI-E в качестве внешнего интерфейса была быстро подхвачена многими производителями систем хранения, и на рынке появились 8-ми, 12-ти, 16-ти и даже 24-х дисковые устройства с PCI-E интерфейсом. Но дальнейшую борьбу с основным конкурентом, интерфейсом Fibre Channel, сдерживало отсутствие какой-либо возможности коммутации PCI-E, а также отсутствие длинных (до 100 метров) кабелей - т.е. возможности построения тем самым SAN (Storage Area Network) инфраструктуры. Возможность "оттащить" шумную систему хранения от компьютера также крайне важна для построения небольших SAN в видеостудиях и телецентрах, поскольку творить среди шума крайне некомфортно.
Почему конкурентом мы считаем именно Fibre Channel? Да просто потому, что он по факту сейчас самый популярный интерфейс для построения SAN. Разумеется, не без оснований. Fibre Channel имеет массу преимуществ, о которых, в частности, мы рассказывали в отдельной статье. Но у Fibre Channel есть один существенный недостаток - высокая стоимость реализации. Только контроллер, например, который должен быть установлен в каждый компьютер, подключаемый к системе (системам) хранения, стоит около $1000. Коммутаторы Fibre Channel тоже весьма недешевы. К уже менее важным недостаткам, в особенности для работ с потоковыми данными, можно отнести относительно невысокую скорость обмена, около 400 MB/s для 4 GB Fibre Channel. Поскольку нет сомнений, что 8 GB версия Fibre Channel будет постепенно вытеснять 4 GB решения, этот минус Fibre Channel уйдет в прошлое, хотя и в этом случае PCI-E останется более быстрым интерфейсом. Рисунок ниже иллюстрирует сходство и различия между двумя вариантами SAN систем.
Первой попытку дать возможность пользователю создать недорогой SAN на базе PCI-E систем хранения предприняла хорошо известная на российском рынке компания Maxtronic International, представившая в мае 2009 года принципиально новую систему, названную авторами ExaSAN.
Реализация ExaSAN основана на использовании двух специальных свитчей, а именно Storage Switch SW-2308S для подключения PCI-E RAID массивов и Host Switch SW-2208S для подключения компьютеров (хостов). SW-2308S оснащен семью портами х4 для подключения PCIe RAID массивов, одним портом PCI-E х8 для каскадирования (соединение в цепочку до четырех коммутаторов SW-2308S) и еще одним портом PCI-E х8 для соединения с коммутатором хостов SW-2208S. У SW-2208S есть 6 портов х4 PCI-E соответственно для 6 компьютеров. Если вам требуется подключить более 6 компьютеров, то вы можете использовать коммутатор SW-2508S на 12 портов. Таким образом, данное решение допускает объединение в единую рабочую среду по PCI-Express интерфейсу до 28 систем хранения и до 12 компьютеров. В дальнейшем будут разработаны и другие устройства, поддерживающие инфраструктуру ExaSAN.
Структура ExaSAN показана на рисунке ниже.
Пример построения системы для нелинейного монтажа на базе ExaSAN |
Если все описать словами - в компьютеры устанавливаются NT Card (Non-transparent card), представляющие из себя простые Infiniband контроллеры. NT Card соединяется с коммутатором хостов оптическим кабелем длиной 30 или 100 метров. Коммутатор хостов соединяется с коммутатором стораджей PCI-E x8 кабелем. Системы хранения подключаются к коммутатору RAID массивов с помощью своих штатных PCI-E x4 кабелей. Собственно, все.
На рисунке выше каждая система хранения подключена по 2 кабелям по одной простой причине - в каждой из систем хранения два контроллера и фактически мы имеем дело с двумя системами хранения в одном корпусе.
Поскольку ExaSAN является классической SAN системой, то программная поддержка SAN может осуществляться с помощью широко используемых программ для работы в SAN. Для Windows, Linux и Mac - MetaSAN от Tiger Technology, например. Исключительно под Mac - XSAN от Apple.
Производительность ExaSAN явно заслуживает уважения. На рисунке ниже тест известной программой AJA одной системы хранения, подключенной к одному компьютеру в ExaSAN.
Разумеется, при подключении нескольких компьютеров и работы их с одной и той же системой хранения скорость падает, но не очень существенно. При работе двух Mac Pro и одной 24-х дисковой двухконтроллерной системы хранения SA-8808D скорость падала процентов на 10 по сравнению с системой на одном компьютере. Но - обратите внимание на то, что линии практически ровные, т.е. без сколь-нибудь заметных провалов. Такие результаты достигнуты специальной оптимизацией встроенного в систему хранения программного обеспечения (firmware) для исключения "провалов" и, соответственно, выпадений кадров, например, при захвате видео.
Один из методов такой оптимизации, Disk Lag Proof, раскрыт на рисунке ниже.
Disk Lag Proof (DLP) метод предотвращения "провалов" при обмене данными с системой хранения |
Идея метода проста - в случае нечитаемости блока данных контроллер не пытается его прочитать снова, а просто восстанавливает содержимое блока, используя стандартный алгоритм восстановления, помечая, разумеется сектор как плохой. Понятно, что данный метод применим только для уровней RAID с контролем четности (3, 5, 6 и т.д.). В случае постоянного применения DLP следует регулярно применять процедуру Disk Scrubbing для понимания того, сколько реально невосстановимых блоков есть на массиве.
Данные о входящих в ExaSAN компонентах сведены в таблицу.
Компонент | Назначение | Полоса пропускания | Длина кабеля |
Switch G1 (коммутатор систем хранения) | Коммутация систем хранения. К одному коммутатору может быть подключено до 7 систем хранения | PCI-E x4 для систем хранения PCI-E x8 для подключения коммутатора G2 |
5 м |
Switch G2 (коммутатор хостов) | Коммутация хостов (компьютеров). К одному коммутатору в зависимости от модели может быть подключено от 6 до 12 хостов. | PCI-E x4 для хостов PCI-E x8 для подключения коммутатора G1 |
30 м или 100 м оптический кабель |
NT Card | Контроллер Infiniband для компьютера (хоста) | PCI-E x4 | - |
Оптический кабель | Внешний кабель для соединения компьютера с коммутатором G2 | PCI-E x4 | 30 м или 100 м оптический кабель |
В стандартный комплект поставки ExaSAN входят:
-
Switch G1 (коммутатор систем хранения) - 1 штука
-
Switch G2 (коммутатор хостов) на 6 портов - 1 штука
-
NT Card - 4 штуки
-
Оптический кабель 30 м - 4 штуки
-
Кабель для соединения коммутаторов PCI-E x8 - 1 штука
-
Крепеж для установки коммутаторов в стандартную 19" стойку - 2 комплекта
Варианты использования и подключения
Основное и очевидное предназначение системы - монтаж видео высокого разрешения и кино в рабочих группах на 6-12 человек. По сравнению с аналогичными решениями на Fibre Channel 4GB ExaSAN позволяет сэкономить до $5000 при создании системы на 4 пользователя плюс достигнуть намного лучших скоростных показателей.
ExaSAN, безусловно, является инновационной разработкой, не имеющей пока себе равных по соотношению цена/качество на рынке. Мы полагаем, что такое решение будет востребовано и первые запросы, поступившие к нам после анонса системы, подтверждают это.