Если вы когда-нибудь управляли серверами или корпоративной компьютерной сетью, то наверняка сталкивались с проблемой прозрачного увеличения ёмкости существующей инфраструктуры. И хотя подобные решения, в принципе, существуют, они обычно отличаются большой ценой и низкой гибкостью.

19″ системы обычно не обладают достаточным пространством, чтобы вместить дополнительные жёсткие диски. В результате появляется единственная альтернатива: подключение к серверу отдельных 19″ хранилищ по интерфейсу SCSI или Fiber Channel. Однако при этом мы всё равно смешиваем серверные задачи и функции хранения данных.

И большие серверные корпуса с дополнительными отсеками для жёстких дисков тоже не назовёшь идеальным выходом — опять же, получаем смесь задач.

Согласитесь, что идеальное хранилище должно быть очень гибким. Таким, чтобы его можно было легко развернуть, использовать из многих участков сети, из разных операционных систем и, конечно, можно было легко расширять. Да и производительность не стоит упускать из внимания. Ответом на все поставленные вопросы можно назвать iSCSI — Internet SCSI. Это решение «упаковывает» протокол SCSI в пакеты TCP/IP, в результате чего вы получаете универсальный интерфейс хранилища для всей сетевой инфрастуктуры. Кроме того, iSCSI позволяет консолидировать текущие системы хранения.

Как работает iSCSI?



На диаграмме показан принцип работы 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-адреса. Таким образом, доступ к хранилищу будет обеспечен даже после его переноса в другую подсеть.

iSCSI в деле

Конечно, не считая сеть, основным требованием для внедрения iSCSI является организация iSCSI-сервера. Мы протестировали несколько решений как программных так и аппаратных.

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

В принципе, iSCSI можно использовать и на 100-Мбит/с сети, но тогда, по сравнению с локальными приводами, вы получите существенное замедление. Естественно, гигабитный Ethernet является куда более эффективным решением — вряд ли пропуская способность станет «узким местом» даже при использовании нескольких массивов RAID 5. В то же время, это нельзя сказать про массивы RAID 0, но подобное хранилище редко подключается по сети.

Если обратиться к клиенту, то здесь необходим инициатор iSCSI. Они выпущены практически для всех операционных систем. Поиск в Google комбинации слов «Microsoft», «iSCSI» и «Initiator» является наглядным тому примером.

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

Протокол iSCSI обеспечивает шифрование пакетов на основе IPsec, хотя оно не является обязательным. К примеру, внутри сети корпорации не всегда имеет смысл шифровать пакеты. Подобная опция будет наиболее интересна для WAN.

Дополнительные применения

iSCSI также является прекрасным средством резервирования данных, ведь информацию можно легко скопировать на другой жёсткий диск. В том числе, даже в онлайне, используя функцию теневого копирования Windows. iSCSI можно даже подключать по DSL-соединению, но здесь ограничивающим фактором уже будет скорость линии. Впрочем, всё зависит от характера применения.

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

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

Для решения проблемы были разработаны специальные движки TOE (TCP/IP Offload Engines), которые берут на себя все сложные операции iSCSI сразу же после сетевого адаптера. В результате снижается нагрузка на системный процессор, и пользователи и система могут продолжать нормально работать.

Надеюсь теперь стало чуть более понятно что такое сетевые хранилища на iSCSI и как они устроены.

Сетевым накопителем поддерживается встроенная служба iSCSI (Internet Small Computer System Interface) для использования в серверных кластерах и виртуализированных средах.

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

В приведенной ниже таблице представлены функции, поддерживаемые блочными LUN и файловыми LUN.

Файловый LUN (старого типа)

Полное копирование по VAAI

Поддерживается

Поддерживается

Обнуление блоков по VAAI

Поддерживается

Поддерживается

Блокировка на аппаратном уровне по VAAI

Поддерживается

Поддерживается

Тонкое конфигурирование и высвобождение пространства по VAAI

Поддерживается

Не поддерживается

Динамическое выделение емкости

Поддерживается

Поддерживается

Высвобождение пространства

Поддерживается (по VAAI или в Windows 2012/Windows 8)

Не поддерживается

Microsoft ODX

Поддерживается

Не поддерживается

Резервное копирование LUN

Поддерживается

Моментальная копия LUN

Поддерживается

1 Моментальный снимок

Учтите, что блочные LUN обычно обеспечивают более высокую производительность системы, и поэтому рекомендуется там, где это возможно, использовать блочные LUN.

Имеется два способа выделения LUN: «тонкое» конфигурирование и мгновенное выделение.

Можно создать до 256 целей iSCSI и LUN. Например, если на NAS создано 100 целей, то максимальное количество доступных для создания LUN составляет 156. Для каждой цели можно создать несколько LUN. Однако максимальное количество одновременных подключений к целям iSCSI, поддерживаемое NAS, отличается в зависимости от сетевой инфраструктуры и производительности приложения. Слишком большое количество одновременных подключений может оказать влияние на производительность NAS.

Мастер быстрой настройки iSCSI

Чтобы настроить службу цели iSCSI на сетевом накопителе, выполните следующие действия.

6. Укажите параметры проверки подлинности и нажмите кнопку "Далее". При включении параметра "Использовать авторизацию CHAP" целью iSCSI будет выполняться проверка подлинности только для инициатора, и для доступа к цели пользователям инициаторов будет выдаваться запрос на ввод указанных здесь имени пользователя и пароля. При включении параметра "Совместный CHAP" активируется режим двусторонней проверки подлинности между целью и инициатором iSCSI. Цель осуществляет проверку подлинности инициатора с использованием первого набора имени пользователя и пароля. Инициатор осуществляет проверку подлинности цели с использованием параметров, указанных в разделе "Совместный CHAP". Для имени пользователя и пароля в обоих полях имеются описанные ниже ограничения.

Создание целей iSCSI

Для создания цели iSCSI выполните следующие действия.

5. Укажите имя пользователя и пароль для параметра "Использовать авторизацию CHAP" и (или) "Совместный CHAP" и нажмите кнопку "Далее". При включении параметра "Использовать авторизацию CHAP" целью iSCSI будет выполняться проверка подлинности только для инициатора, и для доступа к цели пользователям инициаторов будет выдаваться запрос на ввод указанных здесь имени пользователя и пароля. При включении параметра "Совместный CHAP" активируется режим двусторонней проверки подлинности между целью и инициатором iSCSI. Цель осуществляет проверку подлинности инициатора с использованием первого набора имени пользователя и пароля. Инициатор осуществляет проверку подлинности цели с использованием параметров, указанных в разделе "Совместный CHAP".

Создание iSCSI LUN

Для создания LUN для цели iSCSI выполните следующие действия.

Для создания непривязанного iSCSI LUN выберите на шаге 4 параметр "Не привязывать к цели".

Будет создан непривязанный LUN, который будет отображен в списке непривязанных iSCSI LUN.

В приведенной ниже таблице представлено описание всех целей iSCSI и состояний LUN.

Позиция

Состояние

Описание

Цель iSCSI

Готово

Цель iSCSI находится в состоянии готовности, однако ни одного инициатора к ней не подключено.

Подключен

К цели iSCSI подключен инициатор.

Отключен

Подключения к цели iSCSI были разорваны.

Автономно

Цель iSCSI отключена, подключения со стороны инициаторов невозможны.

Включено

LUN активирован для подключения и виден авторизованным инициаторам.

Выключено

LUN деактивирован и не виден инициаторам.

В приведенной ниже таблице описаны действия, доступные для управления целями iSCSI и LUN (кнопка "Действие").

Действие

Описание

Отключить

Отключение цели, находящейся в состоянии «Готов» или «Подключено». Учтите, что все подключения от инициаторов будут разорваны.

Активировать

Активация цели, находящейся в состоянии «Офлайн».

Изменить

Изменение настроек цели: псевдонима цели, информации CHAP и настроек контрольной суммы.

Изменение настроек LUN: выделение LUN, имя, каталог дискового тома и т. д.

Удалить

Удаление цели iSCSI. Все подключения будут разорваны.

Отключить

Отключение LUN. Все подключения будут разорваны.

Включить

Включение LUN.

Отвязать

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

Привязать

Привязка LUN к цели iSCSI. Эта функция доступна только для списка непривязанных iSCSI LUN.

Показать подключения

Просмотр состояния подключения цели iSCSI.

Переключение iSCSI LUN между целями

Для переключения iSCSI LUN между целями выполните следующие действия.

После создания целей iSCSI и LUN на NAS для подключения к цели iSCSI и LUN, а также использования дисковых томов в качестве виртуальных дисков на компьютере можно использовать инициатор iSCSI, установленный на компьютере (ПК с Windows, Mac или Linux).

Увеличение объема iSCSI LUN

NAS поддерживает функцию увеличения объема для iSCSI LUN. Для этого выполните следующие действия.

Б изнес давно уже стал информационно зависимым. Можно потерять оборудование, сотрудников, деньги и многое другое, но эти ресурсы можно восстановить (пусть и в долгосрочной перспективе). А вот потеря корпоративных данных, как правило, необратима. По утверждению аналитических агентств, если компания потеряла 80% корпоративных данных, она через 2-3 года прекратит свое существование. Поскольку безопасность бизнеса - одна из опор безопасности страны, в ЕС и США уже существуют законы, обязывающие коммерческие компании, а также государственные органы внедрять у себя средства защиты информации от катастроф. Такое состояние дел ведет к возрастанию потребности в решениях, направленных на предотвращение потерь данных. Это может произойти по причине сбоя оборудования, вирусной или хакерской атаки, человеческой ошибки, природной или техногенной катастрофы, пожара и т.п. Для защиты от этих факторов необходимо организовывать резервное хранилище данных, в большинстве случаев - удаленное.В предыдущих номерах журнала уже освещалась тема резервных систем хранения данных. Поэтому здесь мы не будем описывать общие концепции, а сразу перейдем к детальному рассмотрению одной из перспективных технологий - iSCSI. По данным аналитических компаний, продуктам, которые используют iSCSI, на сегодняшний день, принадлежит 25% рынка систем хранения данных (СХД) начального уровня, а к 2010 году iSCSI будет практически безраздельно «властвовать» в сегменте СХД малого бизнеса, занимать 50% рынка в сегменте среднего бизнеса и 20-25% - крупного.

Что такое iSCSI?

iSCSI - это сквозной (end-to-end) протокол для транспорта блоков данных по сетям IP. Этот протокол используется на серверах (в терминологии iSCSI - «инициаторах»), устройствах хранения («целях») и устройствах передачи протокола («шлюзах»). iSCSI использует обычные коммутаторы и маршрутизаторы Ether net для передачи блоков данных от сервера к хранилищу. Также он позволяет использовать существующую IP-инфраструктуру для организации сетей хранения данных (SAN) без ограничения расстояния.

iSCSI строится на двух наиболее широко используемых протоколах: SCSI - протоколе обмена блоками данных между компьютером и хранилищем и IP - сетевом транспортном протоколе, наиболее широко применяющемся сегодня в корпоративных сетях Ethernet.

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

Архитектура обычного SCSI базируется на клиент-серверной модели. «Клиент», которым может быть, например, физический сервер, или рабочая станция, инициирует запросы на считывание или запись данных с исполнителя - «сервера», в роли которого, как правило, выступает СХД. Команды, которые выдает «клиент» и обрабатывает «сервер», помещаются в блок описания команды (Command Descriptor Block, CDB).

CDB - это структура, с помощью которой приложение-клиент направляет команды устройству-серверу. «Сервер» выполняет команду, а окончание ее выполнения обозначается специальным сигналом. Инкапсуляция и надежная доставка CDB-транзакций между инициаторами и исполнителями через TCP/IP сеть и есть главная задача iSCSI, причем ее приходится осуществлять в нетрадиционной для SCSI, потенциально ненадежной среде IP-сетей.

На рис. 2 изображена модель уровней протокола iSCSI, которая позволяет понять порядок инкапсуляции SCSI-команд для передачи их через физический носитель.

Протокол iSCSI осуществляет контроль передачи блоков данных и обеспечивает подтверждение достоверности завершения операции ввода/вывода, что в свою очередь обеспечивается через одно или несколько TCP-соединений.

Рис. 2. Модель нижних уровней протокола iSCSI

Рис. 3 . Модель «сетевых сущностей»

іSCSI имеет четыре составляющие:

Управление именами и адресами (iSCSI Address and Naming Con-ventions);

Управление сеансом (iSCSI Ses sion Management);

обработкаошибок (iSCSI Error Handling);

Безопасность (iSCSI Security).

Управление именами и адресами

Так как iSCSI-устройства являются участниками IP-сети, они имеют индивидуальные «сетевые сущности» (Network Entity). Каждая из них может содержать один или несколько iSCSI-узлов (рис. 3).

iSCSI-узел является идентификатором SCSI-устройств, доступных через сеть. Каждый iSCSI-узел имеет уникальное имя (длиной до 255 байт), которое формируется по правилам, принятым для обозначения узлов в Интернете (например, fqn.com.ustar.storage.itdepartment.161). Такое название имеет удобную для восприятия человеком форму и может обрабатываться сервером доменных имен (DNS). Таким образом, iSCSI-имя обеспечивает корректную идентификацию iSCSI-устройства, вне зависимости от его физического местонахождения.

В то же время в процессе контроля и передачи данных между устройствами удобнее пользоваться комбинацией IP-адреса и TCP-порта, которые обеспечиваются сетевым порталом (Network Portal). iSCSI-протокол в дополнение к iSCSI-именам обеспечивает поддержку псевдонимов, которые, как правило, отображаются в системах администрирования для удобства идентификации и управления администраторами системы.

Управление сеансом

iSCSI-сессия состоит из фаз аутентификации (Login Phase) и фазы обмена (Full Feature Phase), которая завершается специальной командой.

Фаза аутентификации используется для того, чтобы согласовать разнообразные параметры между двумя «сетевыми сущностями» и подтвердить право доступа инициатора. После процедуры аутентификации iSCSI-сессия переходит к фазе обмена. Если было установлено больше чем одно TCP-соединение, iSCSI требует, чтобы каждая пара «команда/ответ» также проходила через одно TCP-соединение. Такая процедура гарантирует, что каждая отдельная команда считывания или записи будет осуществляться без необходимости дополнительного отслеживания каждого запроса относительно его прохождения по разным потокам. Однако разные транзакции могут одновременно передаваться через разные TCP-соединения в рамках одной сессии.

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

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

Обработка ошибок

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

Чтобы обработка ошибок и восстановление после сбоев функционировали корректно, как инициатор, так и исполнитель должны иметь возможность буферизации команд до момента их подтверждения. Каждое конечное устройство должно иметь возможность выборочно восстановить утраченный или испорченный PDU в рамках транзакции для восстановления передачи данных.

Иерархия системы обработки ошибок и восстановление после сбоев в iSCSI включает:

1. На самом низком уровне - определение ошибки и восстановление данных на уровне SCSI-задачи, например, повторение передачи утраченного или поврежденного PDU.

2. На следующем уровне - в TCP-соединении, которое передает SCSI-задачу, может произойти ошибка, т.е. TCP-соединение может повредиться. В этом случае осуществляется попытка восстановить соединение.

3. И наконец, сама iSCSI-сессия может «испортиться». Терминация и восстановление сессии, как правило, не требуется, если восстановление корректно отрабатывается на других уровнях, однако может произойти обратное. Такая ситуация требует закрытия всех TCP-соединений, завершения всех задач, недовыполненных SCSI-команд и перезапуска сессии с повторной аутентификацией.

Безопасность

В связи с использованием iSCSI в сетях, где возможен несанкционированный доступ к данным, спецификация предусматривает возможность использования разнообразных методов для повышения безопасности. Такие средства шифрования, как IPSec, которые используют нижние уровни, не требуют дополнительного согласования, так как являются прозрачными для верхних уровней, в том числе для iSCSI. Для аутентификации могут использоваться разнообразные решения, например, такие как Kerberos или обмен частными ключами; в качестве репозитария ключей может использоваться iSNS-сервер.

Рис. 4. IP-сеть с использованием iSCSI-устройств

Практическое применение iSCSI

Есть три способа реализации решений на базе iSCSI-сетей хранения данных в ИТ-системах. Каждый из них имеет свои преимущества и недостатки, которые мы постараемся рассмотреть.

Самый простой способ реализации iSCSI SAN - использование хранилищ с поддержкой iSCSI. В качестве хранилища может выступать дисковый массив, ленточный накопитель, СD-, DVD-, PDD-, UDO-библиотека.

В примере, изображенном на рис. 4, каждый сервер, рабочая станция и накопитель поддерживают Ethernet-интерфейс и стек протокола iSCSI. Для организации сетевых соединений используются обычные IP-маршрутизаторы и обычные Ethernet-коммутаторы.

Если с хранилищами все понятно - здесь протокол iSCSI поддерживается на уровне «зашитого» микропроцессорного кода, то с серверами и рабочими станциями («хостами») возникает маленький нюанс. Чтобы хост мог подключиться к iSCSI-хранилищу, на нем должен быть установлен аппаратный или программный iSCSI-инициатор.

Имея в хосте сетевую карту Gigabit Ethernet и загрузив программный iSCSI-инициатор (драйвер), хост можно подключить к сети хранения данных SAN по IP-протоколу. Чтобы объединить функции сетевого контроллера и контроллера интерфейса хранилища, запрос на блок и сам блок данных должны быть помещены внутрь пакета TCP/IP. Эта операция возлагается на процессор(ы) самого хоста, что отбирает немало вычислительной мощности и значительно снижает производительность сервера. Для снижения вычислительных затрат на создание и обработку протокольного стека TCP/IP для передачи SCSI-команд был создан TCP/IP offload engine (TOE). TOE берет на себя всю работу по обработке стека TCP/IP и освобождает процессор хоста. Иными словами, TOE - не что иное, как аппаратная реализация стека TCP/IP на сетевом адаптере Ethernet.

Ethernet-адаптеры с TOE могут вполне служить инициаторами для iSCSI SAN. Однако для достижения наилучшей производительности хоста рекомендуется использовать iSCSI-адаптеры, в которых кроме TOE аппаратно реализован и уровень iSCSI, например QLogic iSCSI HBAs QLA4010 или Adaptec iSCSI HBAs 7211.

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

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

Второй способ внедрения iSCSI позволяет обойти этот «подводный камень». В этом случае возле традиционного хранилища появляется так называемый iSCSI-мост, который собственно и инкапсулирует SCSI-блоки в пакеты Ethernet (рис. 5).

Рис. 5. Подключение SCSI в IP-сеть при помощи iSCSI-моста

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

Третьим вариантом построения iSCSI-решения является применение серверов хранилищ iSCSI. Подобные продукты есть в арсенале Hitachi, Fal-conStor и других игроков ИТ-рынка. Суть варианта состоит в том, что на основе стандартного сервера с операционной системой Windows Server либо Unix создается специальный сервер хранения, включенный в IP-сеть и обеспечивающий подключенным к этой же сети хостам доступ к дисковым массивам и ленточным устройствам (рис. 6).

Рис. 6. Построение сети хранения данных с помощью серверов хранилищ iSCSI

Устройства хранения могут подключаться к серверу по различным протоколам - SCSI, FC или iSCSI. Также может быть задействована локальная дисковая емкость сервера хранения.

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

Синхронное и асинхронное зеркалирование;

Репликация на файловом и блочном уровнях;

Функция «моментальных снимков» (snapshots);

Дублирование серверов и т.д.

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

Преимущества iSCSI

В заключение хочется отметить преимущества iSCSI перед другими технологиями организации удаленных хранилищ данных (например, FC, SCSI и т.д.). Во-первых, это высокая доступность бизнес-приложений. Множественные пути передачи IP-пакетов между серверами и хранилищами обеспечивают постоянное соединение, даже если один из компонентов сети выходит из строя. Во-вторых, защищенность данных - при низких стартовых вложениях можно создать резервное хранилище на значительном удалении от основной системы. К тому же iSCSI позволяет наращивать объем СХД или вычислительной мощности серверов без остановки приложений.

Еще одним важным моментом является возможность централизованного управления ресурсами за счет сведения разрозненных дисков и дисковых массивов в сети Ethernet в единый дисковый пул. С использованием iSCSI можно организовать резервное копирование как на локальные, так и на территориально удаленные СХД или зеркалирование на уровне тома.

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

По прошествии пяти лет работы с сетями хранения данных Fibre Channel (SAN), я был сильно озадачен появлением iSCSI: тем, что делает этот протокол и, что более важно, как он работает и как можно использовать iSCSI для решения реальных проблем пользователей. Итак, после нескольких напряженных месяцев общения со многими специалистами по этой теме, я представляю в этой статье несколько собственных взглядов на iSCSI.

Что же такое, на самом деле, iSCSI?

iSCSI посылает SCSI команды в IP пакетах. Более подробно - iSCSI создан как протокол для инициатора хранилищ (обычно сервер), с целью посылать SCSI команды исполнителю (обычно лента или диск) через IP.

Иные протоколы: FCIP - посылает блоки Fibre Channel через IP, по существу расширяя соединения Fibre Channel; на самом деле не имеет никакого отношения к SCSI. С другой стороны iFCP - обеспечивает преобразование (mapping) FCP (последовательный SCSI через Fibre Channel) в и из IP. Другими словами, он предлагает протокол маршрутизации между сетями Fibre Channel (fabric), позволяющий осуществлять соединение через IP.

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

Каким образом устройства iSCSI находят друг друга?

В случае обычных SCSI соединений и петель Fibre Channel, способ обнаружения устройств достаточно примитивен. Для сетей Fibre Channel (fabric) существует необходимый сервис, называемый сервер простых доменных имен (Simple Name Server), или просто - сервер доменных имен, работающий с сотнями или тысячами устройств. Но в IP, теоретически, может быть несколько миллионов устройств.

В настоящее время в мире IP используется два механизма обнаружения устройств iSCSI. Первый - SLP (service locator protocol) - протокол семейства TCP/IP, позволяющий осуществлять автоматическую настройку различных ресурсов. Этот протокол обнаружения сервисов уже существует в мире IP некоторое время. Однако недавно многие производители, включая Microsoft, стали разрабатывать новый протокол -- Internet Simple Name Server. Попросту говоря, за основу были приняты принципы сервера простых доменных имен для Fibre Channel и затем увеличены до той степени, которая позволяет справляться с размерами IP сетей, в то же время не теряя особенностей работы с хранилищами, в отличие от SLP.

Как можно использовать iSCSI?

Существует три основных способа использования iSCSI:
  1. Специализированный iSCSI сервер, обращающийся к специализированному iSCSI хранилищу.
  2. Специализированный iSCSI сервер, обращающийся к хранилищу, подсоединенному к Fibre Channel, через маршрутизатор iSCSI-to-Fibre Channel.
  3. Fibre Channel сервер, обращающийся к iSCSI хранилищу через маршрутизатор Fibre-Channel-to-iSCSI.
Безусловно, в некоторых случаях Fibre Channel хранилище обращается к другому Fibre Channel хранилищу (например, для копирования диска или внесерверного резервного копирования) и устройство хранения данных iSCSI также может обращаться к каждому из них.

Итак, что наиболее вероятно и/или практично для использования? Для ответа на этот вопрос, нужно немного отступить назад и вспомнить, что сетевое хранение данных требует гибкости, использования продуктов различным образом. Сегодня, использование iSCSI в серверах - сравнительно ново, но просто, с учетом поддержки Microsoft для Windows Server 2000 и 2003.

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

По моим предположениям подобные события произойдут и на рынке NAS, на самом деле они уже происходят. Поскольку NAS устройства уже подключают диски к IP-сетям, разделяя сервисы через сетевую файловую систему (NFS) и/или общий протокол доступа к файлам интернет (CIFS), то для NAS достаточно просто передавать данные на уровне блока через те же порты с помощью iSCSI, что опять позволяет вам использовать существующие решения хранения данных по-новому.

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

Кто будет использовать iSCSI?

Как эксперт, проработавший несколько лет в области Fibre Channel, я, к сожалению, должен указать миру Fibre Channel, что iSCSI может работать на скорости физического соединения (wire speed) и определенно может работать так же быстро, как и любой нормальный сервер, выполняющий задачи любого нормального приложения. Для IP сообщества необходимо отметить значительную распространенность Fibre Channel, особенно сравнивая их количество с количеством 1 Гб сетевых портов, нежели с количеством остальных сетевых портов. Сообществу Fibre Channel необходимо отметить, что, несмотря на то, что множество хранилищ и даже значительное количество мощных серверов подключены к Fibre Channel, существует некоторое количество неподключенных Unix серверов и огромное количество Intel серверов, не работающих с Fibre Channel.

Итак, iSCSI может работать на каждого, но, возможно, наиболее большой потенциальный рынок представляют собой серверы Intel, а также высокоплотные и сверхтонкие серверы (Intel или иные). Кроме того, iSCSI иногда может быть использован для высокопроизводительных серверов, в случае удаленых офисов для обращения к центральному центру данных через SAN и в иных случаях, где пока еще рано использовать Fibre Channel, в конце концов, существует еще много неподключенных к сети серверов и хранилищ данных.

NIC, TOE и HBA: В каких случаях их нужно использовать?

В заключение, существует три подхода к подключению сервера:
  1. Стандартная интерфейсная карта (NIC) с драйвером iSCSI
  2. TOE (TCP Offload Engine - механизмы разгрузки TCP) NIC с драйвером iSCSI
  3. Адаптеры шины узла HBA (Host Bus Adapter), созданные для iSCSI традиционными производителями Fibre Channel адаптеров.
В каких случаях использовать каждый из них? Интересный вопрос. Первоначальное допущение состоит в том, что, чем большая производительность вам нужна, тем более вероятно, что вместо стандартной интерфейсной карты (NIC) вы будете использовать карту TOE или адаптер шины узла, что, конечно же, будет дороже. Существует иная точка зрения, предполагающая, что некоторые высокопроизводительные серверы имеют достаточное количество резервных циклов синхронизации (clock cycles), так почему бы не сэкономить деньги и не использовать дешевую сетевую карту.

Ключевой момент здесь состоит в том, что в отличие от Fibre Channel адаптеров, ценовые рамки iSCSI варьируются от низкой (бесплатно) до высокой производительности (акселераторы) и таким образом могут быть подобраны в соответствие с требованиями приложений. Также нагрузочная способность по выходу (fan-out или oversubscription) позволяет использовать более экономичные порты Ethernet (как быстрые, так и GE) вместо портов специализированных FC коммутаторов, что еще более снижает издержки. С картами iSCSI TOE, стоимостью 300 долларов или меньше, издержки присоединения к хосту значительно ниже, чем с FC, даже для производительности TOE.

Поскольку FC может работать на 2Gbps, использование Fibre Channel более предпочтительно для высокопроизводительных серверов (2 Гб Ethernet не существует), хотя, честно говоря, не много существует серверов, использующих такую пропускную способность, даже на Fibre Channel. Безусловно, с точки зрения хранилищ использование 2Gbps более вероятно до тех пор, пока мы не увидели 10 Гб FC или даже 10 Гб Ethernet/iSCSI портов. iSCSI открывает двери для сотен и тысяч серверов, особенно систем Intel, многие из которых могут быть менее требовательными, и огромное количество которых еще только будет приносить выгоды от использования сетевого хранения.

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

Протокол iSCSI разработан для работы в сетях хранения данных и представляет собой способ доступа к блочным устройствам по протоколу SCSI поверх TCP/IP. Это дает возможность организации недорогих сетей хранения данных (SAN) при помощи обычных Ethernet-сетей. Эта возможность широко используется при построении систем высокой доступности и мы будем рассматривать в рамках этого цикла именно решения на основе iSCSI-хранилищ. Сегодня мы рассмотрим создание такого хранилища на платформе Windows Server 2008 R2.

Сначала пару слов о принципиальных отличиях iSCSI от иных сетевых систем хранения данных. Cети хранения данных - SAN (Storage Area Network ) предусматривают передачу данных в сети в "сыром" виде по протоколу SCSI, также, как если бы они передавались между системой и локальным диском на низком уровне. iSCSI устройства воспринимаются системой практически также, как локальные диски - перед использованием на них нужно создать разделы и отформатировать.

В тоже время привычные всем сетевые хранилища - NAS (Network Area Storage) обеспечивают доступ на уровне файловой системы, используя протоколы передачи файлов, такие как SMB или NFS.

Проще говоря: NAS - это привычные всем общие сетевые папки, SAN - подключаемые по сети диски. Из этого следует второе важное отличие. Сетевая папка может обслуживать множество клиентов. Устройство SAN может быть подключено к единственному клиенту, точно также как обычный HDD может быть подключен только к одному ПК. Исключение - кластеры, когда к одному SAN-устройству имеют доступ сразу несколько нод, в этом случае используется дополнительный уровень абстракции - кластерная файловая система, например Microsoft Cluster Shared Volumes (CSV) или VMware VMFS .

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

  • Инициатор iSCSI (iSCSI Initiator) - клиентская часть, направляет запросы цели iSCSI, может быть выполнена программно, в виде драйвера или аппаратно, в виде iSCSI-адаптера;
  • Цель iSCSI (iSCSI Target, таргет ) - серверная часть, принимает подключения от инициатора и предоставляет ему доступ к связанным с ним блочными устройствами - виртуальными дисками, LUN. Может быть реализован как программно, так и в виде аппаратной СХД.

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

Еще один момент, теперь уже связанный с практической реализацией iSCSI-хранилищ. Для SAN крайне желательно выделить отдельную сеть, изолированную от сети предприятия.

Это необходимо для обеспечения достаточной пропускной способности в сети хранения данных и избежать перегрузки обычной сети iSCSI-трафиком. Также нет смысла организовывать iSCSI в сетях с пропускной способностью ниже чем 1 Гбит/сек.

В состав Windows Server 2008 R2 роль цели iSCSI не входит и для ее развертывания необходимо скачать Microsoft iSCSI Software Target . Распаковываем его и устанавливаем пакет iscsitarget_public.msi из папки x64. Установка предельно проста и мы не будем заострять на ней внимание.

После установки перейдем к консоли управления iSCSI: Пуск - Администрирование - Программная цель iSCSI . Прежде всего создадим новую цель (таргет) . Для этого щелкнем правой кнопкой на Цели iSCSI - Создать цель iSCSI .

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

Следующим шагом нам надо указать идентификаторы инициаторов iSCSI которым будет разрешен доступ к цели. Идентификатор IQN - это специальное имя формата iqn..: , которое является уникальным для каждого iSCSI-устройства в сети хранения данных. Где:

  • year-mo - год регистрации доменного имени;
  • reversed_domain_name -доменное имя, записанное наоборот;
  • unique_name - уникальное имя устройства, например таргет здесь будет содержать указанное вами имя, а инициатор имя хоста.

Например, в программных решениях Microsoft IQN по умолчанию имеет формат iqn.1991-05.com.microsoft:unique_name .

Чтобы узнать IQN перейдем на инициатор iSCSI, в нашем случае это сервер под управлением Windows Server 2012, но алгоритм действий будет одинаков для любых иных версий Windows. Переходим в Панель управления - Инициатор iSCSI , на предложение задать ее автоматический запуск отвечаем утвердительно:

Затем в открывшемся окне переходим на закладку Конфигурация , где находится искомый идентификатор:

Можно скопировать его и указать при настройке цели, но есть другой способ. Для этого перейдите на закладку Конечные объекты , в поле Объект введите имя сервера с установленной Программной целью iSCSI и нажмите Быстрое подключение .

Понятно, что пока мы ни к чему не подключимся, но сейчас у нас иная задача. Возвращаемся обратно на сервер цели и жмем на странице указанием идентификатора инициатора кнопку Обзор .

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

На этом создание цели завершено и мы можем создать и привязать к ней один или несколько дисков. Для этого переходим к пункту Устройства и в меню правой кнопки мыши выбираем Создать виртуальный диск .

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

Затем укажем желаемый размер в МБ

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

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

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

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

В открывшемся окне в поле IP-адрес конечного портала выбираем адрес принадлежащий вашей сети хранения данных:

Возвращаемся обратно и нажимаем Подключить . Присоединенные устройства можно обнаружить в оснастке Управление дисками .

Дальнейший алгоритм работы с ними ничем не отличается от работы с обычным диском: подключаем, размечаем, форматируем.

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



Эта статья также доступна на следующих языках: Тайский

  • Next

    Огромное Вам СПАСИБО за очень полезную информацию в статье. Очень понятно все изложено. Чувствуется, что проделана большая работа по анализу работы магазина eBay

    • Спасибо вам и другим постоянным читателям моего блога. Без вас у меня не было бы достаточной мотивации, чтобы посвящать много времени ведению этого сайта. У меня мозги так устроены: люблю копнуть вглубь, систематизировать разрозненные данные, пробовать то, что раньше до меня никто не делал, либо не смотрел под таким углом зрения. Жаль, что только нашим соотечественникам из-за кризиса в России отнюдь не до шоппинга на eBay. Покупают на Алиэкспрессе из Китая, так как там в разы дешевле товары (часто в ущерб качеству). Но онлайн-аукционы eBay, Amazon, ETSY легко дадут китайцам фору по ассортименту брендовых вещей, винтажных вещей, ручной работы и разных этнических товаров.

      • Next

        В ваших статьях ценно именно ваше личное отношение и анализ темы. Вы этот блог не бросайте, я сюда часто заглядываю. Нас таких много должно быть. Мне на эл. почту пришло недавно предложение о том, что научат торговать на Амазоне и eBay. И я вспомнила про ваши подробные статьи об этих торг. площ. Перечитала все заново и сделала вывод, что курсы- это лохотрон. Сама на eBay еще ничего не покупала. Я не из России , а из Казахстана (г. Алматы). Но нам тоже лишних трат пока не надо. Желаю вам удачи и берегите себя в азиатских краях.

  • Еще приятно, что попытки eBay по руссификации интерфейса для пользователей из России и стран СНГ, начали приносить плоды. Ведь подавляющая часть граждан стран бывшего СССР не сильна познаниями иностранных языков. Английский язык знают не более 5% населения. Среди молодежи — побольше. Поэтому хотя бы интерфейс на русском языке — это большая помощь для онлайн-шоппинга на этой торговой площадке. Ебей не пошел по пути китайского собрата Алиэкспресс, где совершается машинный (очень корявый и непонятный, местами вызывающий смех) перевод описания товаров. Надеюсь, что на более продвинутом этапе развития искусственного интеллекта станет реальностью качественный машинный перевод с любого языка на любой за считанные доли секунды. Пока имеем вот что (профиль одного из продавцов на ебей с русским интерфейсом, но англоязычным описанием):
    https://uploads.disquscdn.com/images/7a52c9a89108b922159a4fad35de0ab0bee0c8804b9731f56d8a1dc659655d60.png