Тестируем сетевое хранилище на iSCSI

Если вы когда-нибудь управляли серверами или корпоративной компьютерной сетью, то наверняка сталкивались с проблемой прозрачного увеличения ёмкости существующей инфраструктуры. И хотя подобные решения, в принципе, существуют, они обычно отличаются большой ценой и низкой гибкостью.
19″ системы обычно не обладают достаточным пространством, чтобы вместить дополнительные жёсткие диски. В результате появляется единственная альтернатива: подключение к серверу отдельных 19″ хранилищ по интерфейсу SCSI или Fiber Channel. Однако при этом мы всё равно смешиваем серверные задачи и функции хранения данных.
И большие серверные корпуса с дополнительными отсеками для жёстких дисков тоже не назовёшь идеальным выходом — опять же, получаем смесь задач.
Согласитесь, что идеальное хранилище должно быть очень гибким. Таким, чтобы его можно было легко развернуть, использовать из многих участков сети, из разных операционных систем и, конечно, можно было легко расширять. Да и производительность не стоит упускать из внимания. Ответом на все поставленные вопросы можно назвать iSCSI — Internet SCSI. Это решение «упаковывает» протокол SCSI в пакеты TCP/IP, в результате чего вы получаете универсальный интерфейс хранилища для всей сетевой инфрастуктуры. Кроме того, iSCSI позволяет консолидировать текущие системы хранения.
Как работает iSCSI?

Источник: Adaptec.
На диаграмме показан принцип работы iSCSI. Подсистемы хранения должны использовать существующую сетевую инфрастуктуру, независимо от серверов. Консолидация систем хранения, которую мы упоминали выше, означает лишь то, что хранилище должно быть доступно с любого сервера, обеспечивая минимизацию затрат на управление. Кроме того, можно добавлять дополнительную ёмкость и к существующим системам.
Преимуществ у такого подхода много, и они довольно очевидны. Во многих корпорациях уже развёрнута эффективная сетевая инфраструктура, часто использующая проверенные временем технологии типа Ethernet. Никаких новых технологий для использования iSCSI или других систем типа SAN (Storage Area Networks) внедрять и тестировать не нужно. Конечно, здесь можно сэкономить и на дорогих специалистах по внедрению.
В целом, управлять клиентами и серверам iSCSI после небольшого обучения сможет любой сетевой администратор. Ведь iSCSI развёртывается на существующей инфраструктуре. Кроме того, iSCSI отличается высокой доступностью, так как серверы iSCSI можно подключать к нескольким коммутаторам или сетевым сегментам. Наконец, архитектура изначально отличается высокой масштабируемостью благодаря технологиям коммутации Ethernet.
В принципе, сервер iSCSI может быть реализован как программно, так и аппаратно. Но из-за высокой нагрузки программного решения на процессор лучше всё же придерживаться последнего варианта. Основная нагрузка на сервер iSCSI заключается в инкапсуляции пакетов SCSI в пакеты TCP/IP, причём всё должно выполняться в реальном времени. Понятно, что в программном сервере все эти задачи будет выполнять центральный процессор, а в аппаратном решении — специальные движки TCP/IP и SCSI.
Благодаря клиенту iSCSI, ресурсы хранилища iSCSI-сервера могут быть интегрированы в клиентскую систему в виде устройства, которое по смыслу близко к локальному жёсткому диску. Здесь большим преимуществом по сравнению с привычными общими сетевыми папками (share) будет высокая безопасность. Ведь iSCSI особо подчёркивает правильную аутентификацию пакетов iSCSI, а по сети они передаются в шифрованном виде.
Конечно, вы получите производительность несколько меньше, чем у локальных систем SCSI — ведь сеть вносит свои задержки. Впрочем, современные сети с пропускной способностью до 1 Гбит/с (128 Мбайт/с) уже обеспечивают достаточную скорость, но большая часть её так и не используется.
Каждому узлу iSCSI присваивается своё имя (длиной, максимум, до 255 байт) и псевдоним (короткое имя), которые не зависят от IP-адреса. Таким образом, доступ к хранилищу будет обеспечен даже после его переноса в другую подсеть.

Источник: Adaptec.
iSCSI в деле
Конечно, не считая сеть, основным требованием для внедрения iSCSI является организация iSCSI-сервера. В нашей лаборатории мы протестировали два решения: одно программное, а второе — аппаратное. Программное решение SANMelody мы получили от компании DataCore. В Интернете можно скачать ознакомительную 21-дневную версию. Что касается аппаратного подхода, то мы взяли Adaptec Storage Array iSA 1500 — полноценную реализацию SAN.
Оба решения удовлетворяют всем требованиям iSCSI, обеспечивая доступ к хранилищу клиентским компьютерам. Клиентская система тоже может быть оснащена адаптером Adaptec, который уменьшит нагрузку на центральный процессор (очень удобно для рабочих станций).
В принципе, iSCSI можно использовать и на 100-Мбит/с сети, но тогда, по сравнению с локальными приводами, вы получите существенное замедление. Естественно, гигабитный Ethernet является куда более эффективным решением — вряд ли пропуская способность станет «узким местом» даже при использовании нескольких массивов RAID 5. В то же время, это нельзя сказать про массивы RAID 0, но подобное хранилище редко подключается по сети.
Если обратиться к клиенту, то здесь необходим инициатор iSCSI. Они выпущены практически для всех операционных систем. Поиск в Google комбинации слов «Microsoft», «iSCSI» и «Initiator» является наглядным тому примером.
Затем в программе-инициаторе нужно настроить подключение к серверу. Подключённые приводы сервера появятся на компьютере в виде жёстких дисков, и их можно использовать как самые обычные приводы.
Протокол iSCSI обеспечивает шифрование пакетов на основе IPsec, хотя оно не является обязательным. К примеру, внутри сети корпорации не всегда имеет смысл шифровать пакеты. Подобная опция будет наиболее интересна для WAN.
Дополнительные применения
iSCSI также является прекрасным средством резервирования данных, ведь информацию можно легко скопировать на другой жёсткий диск. В том числе, даже в онлайне, используя функцию теневого копирования Windows. iSCSI можно даже подключать по DSL-соединению, но здесь ограничивающим фактором уже будет скорость линии. Впрочем, всё зависит от характера применения.
Большим преимуществом iSCSI можно считать то, что классическое резервирование больше не ограничено одним местоположением — и не стоит это недооценивать. К примеру, устройства типа кассетных стримеров теперь можно устанавливать в любом месте сети. Даже если случится самое худшее, данные по iSCSI можно будет восстановить за минимальное время.
Определяем нагрузку iSCSI
Если решение iSCSI реализовано программно, то сетевому адаптеру придётся передавать немалые данные. Поскольку обычные сетевые адаптеры не всегда используют различные технологии аппаратного ускорения, часть нагрузки может перелагаться на центральный процессор. SCSI — это блочный протокол, а Ethernet — пакетный. То есть немало нагрузки будет относиться к инкапсулированию и извлечению информации SCSI из пакетов TCP/IP. Подобная задача способна «под завязку» загрузить даже современный процессор.
Для решения проблемы были разработаны специальные движки TOE (TCP/IP Offload Engines), которые берут на себя все сложные операции iSCSI сразу же после сетевого адаптера. В результате снижается нагрузка на системный процессор, и пользователи и система могут продолжать нормально работать.
Если вы планируете собрать производительное окружение iSCSI, то остерегайтесь программных решений. Возможными вариантами станут Adaptec ASA-7211C, а также Storage Array iSA 1500, которые мы описали ниже.
Adaptec iSA 1500 Storage Array

Корпус Storage Array в длину составляет 60 см, требуя, соответственно, глубокой стойки.
Adaptec iSA 1500 Storage Array является корпусом формата 1U, внутри которого находятся четыре привода Serial ATA (SATA), которые можно подключить к локальным сетям или SAN по интерфейсу iSCSI. В данном случае выбор приводов SATA можно считать оправданным, тем более что здесь используются модели MaXLine-II, обеспечивающие непрерывную работу. Выбор компонентов SCSI существенно повысил бы стоимость системы, не обеспечив никаких преимуществ. Вообще, жёсткие диски SCSI оправдывают своё применение в системах, нацеленных не только на непрерывную работу, но и отличающихся высокими нагрузками, где нужна максимальная производительность.
Система подключается к сети по двум гигабитным Ethernet-портам Intel 82546EB. Два быстрых процессора Intel Xeon на материнской плате Supermicro X5DPR-IG2+ прекрасно справляются с нагрузкой по упаковке TCP/IP-пакетов. Материнская плата базируется на серверном чипсете Intel E7501 и оснащена 1 Гбайт ECC-памяти (в стандартной конфигурации).
Система загружается с флэш-памяти, подключённой по интерфейсу UltraATA/100, а в качестве ОС выбрана Linux. Во время первой загрузки с помощью консоли Linux следует указать IP-адрес. После этого устройство можно настраивать удалённо. Для этого служит программа Adaptec Storage Manager, доступ к которой обеспечивается по третьему сетевому интерфейсу Intel Pro/1000. Таким образом, Adaptec разделила порт для управления и два порта для данных.

В корпусе 1U находится сервер на Xeon. Верхний порт служит для удалённого управления, а два других, в правом нижнем углу, для данных.

Два вентилятора нельзя назвать тихими. Вентиляторы блока питания на шумовом фоне просто незаметны.

Съёмные отсеки для четырёх 3,5″ SATA-приводов надёжны и легки в использовании.

Четыре жёстких диска подключены к контроллеру Adaptec AHA-2410SA. В отличие от нашей тестовой версии, процессор Intel RISC обычно работает на 100 МГц, а не на 66 МГц.
Adaptec Storage Manager: настраиваем сервер

Первый шаг в установке Adaptec iSCSI — создание так называемого агента…

…к которому могут обращаться клиенты по имени или IP-адресу.

На жаргоне Adaptec, «storage pools» представляют собой конфигурируемые площадки хранения данных типа массива RAID 5.

Настройка системы проходит логично, шаг за шагом. Если вы когда-нибудь настраивали RAID-контроллер, то не испытаете никаких проблем.


На данный момент выбраны все приводы, которые будут находиться в составе storage pool. В нашем случае число приводов ограничено четырьмя из-за размеров корпуса iSA 1500. Кроме того, контроллер Adaptec не поддерживает большее число приводов (если сравнивать со Storage Array). Хотя программное обеспечение, с другой стороны, способно и на большее.

Всё готово! Массив RAID 5 нужно инициализировать. В окне состояния Adaptec не отличает перестроение массива и инициализацию.
Adaptec Storage Manager: настраиваем iSCSI Target

Инициатор может вызывать только iSCSI Target. Создаём!

Для Target можно указывать псевдоним, который будет действовать, даже если сервер iSCSI будет перенесён в другую подсеть.


Объём Target может быть любым, вплоть до всего «storage pool». Для наших тестов мы выбрали размер 100 Гбайт.

На создание Target ушло меньше минуты.


Окно информации/статуса отвечает на все вопросы.

Замечательно: размер Target можно менять в любое время. Процесс проходит весьма быстро.

Adaptec поддерживает создание снапшотов, причём функция отката позволяет вернуться к предыдущему состоянию Target, используя снапшот. Конечно, для снапшотов придётся выделять дополнительное место в массиве.


Всё готово: мы сделали снапшот нашего варианта Target.
Adaptec ASA-7211C

Карта 7211C для iSCSI использует шину PCI-X, а также аппаратно реализует движки TCP/IP и iSCSI. Чип Marvell отвечает за физический интерфейс с сетью и поддерживает скорость до 1 Гбит/с. Этот адаптер использует 64-битный интерфейс, который может работать с частотой до 66 МГц, — вполне достаточно для данной ситуации.
Когда мы увидели карту, то сразу же обратили внимание на большое число чипов памяти. SDRAM-чипы можно обнаружить даже на обратной стороне карты. Вся эта память нужна для нормальной работы движков, которые заметно снижают нагрузку на центральный процессор.

iSCSI Configuration Manager


Инициатор работает на базе сетевого адаптера, поэтому его требуется настроить. Конечно, можно использовать DHCP.

Чтобы достичь iSCSI Target, необходимо знать IP-адрес. По умолчанию используется порт 3260.

Обзор Target позволяет узнать доступные опции. Нажав на клавишу «Edit/Logon», вы откроете свойства подключения.

Здесь мы создали подключение к Target. Также можно указать, чтобы подключение восстанавливалось после перезагрузки.

Всё готово!
DataCore SANMelody: программный вариант iSCSI

После установки программы SANMelody, в пункте «Drives»консоли управления плагина SANMelody можно выбрать свободные разделы, которые мы будем преобразовывать в виртуальные тома.
Компания DataCore была основана в 1998, и сегодня она специализируется на работе с памятью, виртуализации и копировании данных. Всего год назад компания анонсировала пакет SANMelody, представляющий собой программное решение SAN. Пакет позволяет интегрировать любые разделы Windows в качестве iSCSI Target. Хотя пакет SANMelody стоит около $1200, он может использоваться практически на любом современном ПК с памятью не меньше 512 Мбайт. Ещё одним положительным аспектом можно назвать то, что DataCore не требует Windows Server — вы с лёгкостью можете развернуть пакет и на Windows XP. Единственным требованием можно назвать установку .NET Framework.
Разделы должны быть абсолютно чистыми — их нельзя форматировать, а также присваивать букву диска. В плагине конфигурации SANMelody эти разделы названы «virtual volume», и их можно привязывать к серверу приложений (application server). В свою очередь, сервер приложений получает доступ к этим разделам.
DataCore предлагает четыре комплекта поставки, различающиеся ценой и набором функций. Самый маленький пакет поддерживает только один процессор, восемь жёстких дисков и два сетевых адаптера. А самая большая версия поддерживает до 32 жёстких дисков, 16-ти сетевых адаптеров и четырёх процессоров! Кроме того, пакет отличается IP-репликацией, возможностью создавать снапшоты и автоматическим откатом состояния. Кроме «младшей» версии, все остальные поддерживают подключение по Fiber Channel.
Более подробная информация приведена на сайте DataCore, расположенному по следующему адресу.

Через меню «Storage Server» можно управлять разными системами SANMelody. Также здесь перечислены все виртуальные тома.

Здесь мы указали сервер приложений, который получит доступ к виртуальным томам.

Затем мы указали сетевой интерфейс (канал), который желаем использовать.


Наконец, мы указали канал для виртуального тома.
Настраиваем инициатор Microsoft iSCSI

Сначала нужно указать Target Portal или сервер iSCSI.


Затем мы выбираем Target на сервере iSCSI и авторизуемся (Log on).

Подобно Adaptec, Microsoft предлагает опцию автоматического восстановления подключения к Target после каждой перезагрузки.

Всё готово: подключение iSCSI теперь активно.


Закономерный результат: в нашей тестовой системе появился новый привод, базирующийся на iSCSI.
Клиент для Adaptec iSA 1500
| Процессор | |
| Socket 604 | Dual Intel Pentium 4 Xeon, 2,8 ГГц, кэш 512 кбайт, FSB533 |
| Системные компоненты | |
| DDR SDRAM | 2x 512 Мбайт PC3200 Samsung, ECC, регистровые |
| Материнская плата | Asus PP-DLW, Rev. 1.03 Чипсет Intel E7505 |
| Графическая карта | Matrox G450, 32 Мбайт |
| Жёсткие диски | Система: Western Digital WD800JB 80 Гбайт, 7200 об/мин, кэш 8 Мбайт Тестовые приводы: 4x Maxtor MaXLine Plus II, 250 Гбайт, 7200 об/мин, кэш 8 Мбайт |
| Контроллер iSCSI | Adaptec iSCSI Host Bus Adapter 7211C |
| Программное обеспечение | |
| Чипсет | Intel Chipset Installation Utility 5.1.1.1002 Intel Application Accelerator RAID Edition Ver. 3.53 |
| DirectX | 9.0b |
| ОС | Windows Server 2003 Enterprise Edition |
| Тесты и настройки | |
| Производительность передачи данных | c’t h2benchw Ver. 3.6 |
| Диаграмма передачи данных | Winbench 99 2.0 Disk Inspection Test |
| Производительность ввода/вывода | IOMeter 2003.05.10 Fileserver Benchmark Pattern Webserver Benchmark Pattern Database Benchmark Pattern Workstation Benchmark Pattern Throughput Benchmark Pattern |
| Производительность приложений | Winbench 99 2.0 Disk Winmarks Disk Inspection |
Сервер для DataCore SANMelody
| Процессор | |
| Socket 478 | Intel Pentium 4, 3,4 ГГц, кэш 512 кбайт, FSB800 |
| Системные компоненты | |
| DDR SDRAM | 2x 512 Мбайт PC3200 Micron |
| Материнская плата | Aopen AX4SPE Max II Intel i875 |
| Графическая карта | Matrox G450, 32 Мбайт |
| Жёсткий диск | Системный жёсткий диск: Western Digital WD800JB Тестовые приводы: 1x Western Digital WD800JB, 80 Гбайт, 7200 об/мин, кэш 8 Мбайт 1x Seagate Cheetah, ST336732LW, 73 Гбайт, 15 000 об/мин, 16 Мбайт |
| Сеть | Intel Pro 1000/MT Гигабитный Ethernet |
| Программное обеспечение | |
| Чипсет | Intel Chipset Installation Utility 5.1.1.1002 |
| DirectX | 9.0b |
| ОС | Windows XP Professional Build 2600 Service Pack 1 |
| Тесты и настройки | |
| Производительность передачи данных | c’t h2benchw Ver. 3.6 |
| Диаграмма передачи данных | Winbench 99 2.0 Disk Inspection Test |
| Производительность ввода/вывода | IOMeter 2003.05.10 Fileserver Benchmark Pattern Webserver Benchmark Pattern Database Benchmark Pattern Workstation Benchmark Pattern Throughput Benchmark Pattern |
| Производительность приложений | Winbench 99 2.0 Disk Winmarks Disk Inspection |
Результаты тестирования





Заключение: у iSCSI — большое будущее
Основная функция iSCSI, а именно использование существующих технологий для реализации недорогих SAN, работает просто великолепно! В наших тестах программный сервер iSCSI от DataCore и аппаратный сервер iSA 1500 Storage Array от Adaptec показали хорошую производительность. При этом стоит отметить, что развёртывание системы iSCSI прошло максимально легко и просто.
DataCore нацеливает SANMelody на компании, которые желают модифицировать существующие серверы под iSCSI или желают создать решение iSCSI по минимально возможной цене. Цена на сервер SANMelody зависит от конфигурации. Вы можете скачать 21-дневную пробную версию и посмотреть сервер в работе. Кроме того, всего за $199можно купить SANMelody Lite — урезанную версию.
Adaptec, с другой стороны, решила пойти «аппаратной» дорогой, что неудивительно, учитывая усилия, вложенные этой компанией в продвижение технологии iSCSI. Адаптер iSCSI-PCI-X AHA-7211C позволяет подключаться к существующим серверам iSCSI. Карта поддерживает аппаратные движки TCP/IP и iSCSI, позволяющие снизить нагрузку на центральный процессор. В результате система с такой картой практически не загружает CPU, в отличие от недорогих решений прямого подключения. Если 7211C при цене $600 нельзя назвать дешёвым, это всё же наиболее продуманный iSCSI-адаптер на сегодняшний момент.
Наконец, отметим Adaptec Storage Array iSA 1500 — мощный сервер 1U, находящийся под управлением стабильной операционной системы и способный работать в роли iSCSI-сервера в SAN. Два порта гигабитного Ethernet обеспечивают высокую скорость сетевого подключения, а третий порт служит для управления и администрирования. Сам по себе, сервер использует четыре 3,5″ жёстких диска Serial ATA, что тоже снижает цену — все крупные производители сегодня предлагают винчестеры ATA, предназначенные для непрерывной работы. Ёмкость современных приводов составляет до 400 Гбайт, что даёт максимальную ёмкость 1,6 терабайт. Конечно, при цене в несколько тысяч долларов, Storage Array нельзя назвать дешёвым решением, но для компаний среднего уровня он будет надёжным вложением средств. Особенно с учётом того, что по мере роста объёмов жёстких дисков хранилище можно будет наращивать.


