Что позволяет сделать инициатор iscsi. Пособие для начинающих об iSCSI. Запуск службы iSCSI Initiator

05.10.2012

Хотите обращаться к сетевой системе хранения чуть быстрее? Попробуйте способ, основанный на использовании встроенного инструмента Windows. Протокол iSCSI позволяет подключаться к удаленному тому хранения по Сети так, словно этот том является локальным диском.

Marco Chiappetta. Speed Up Your NAS Device With iSCSI. PC World, September 2012, c. 86.

Хотите обращаться к сетевой системе хранения чуть быстрее? Испытайте способ, основанный на использовании встроенного инструмента Windows. Протокол iSCSI позволяет подключаться к удаленному тому хранения по Сети так, словно тот является локальным диском.

Аббревиатура iSCSI расшифровывается как Internet Small Computer System Interface. Технология SCSI (без i) уже очень давно используется для подключения различных периферийных устройств к компьютерным системам, но чаще всего с ее помощью осуществляется обмен данными с устройствами хранения - жесткими дисками или ленточными накопителями. Протокол iSCSI позволяет подсоединяться к удаленному тому хранения по Сети так, словно тот является локальным диском. Проще говоря, iSCSI транслирует команды SCSI по сетям IP (Internet Protocol). Данная технология напоминает виртуальный кабель SATA (или SCSI), причем для организации связи между системой и томом хранения используется сетевое соединение.

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

Интерфейсу iSCSI нужны два основных компонента: подсоединяемое к Сети устройство хранения (network-attached storage, NAS) или сервер с томом, сконфигурированным в качестве целевого объекта iSCSI, и инициатор iSCSI, позволяющий подключать систему к целевому объекту.

Если у вас имеется устройство NAS, подсоединенное к ПК, работающему в среде Windows, скорее всего, этого окажется вполне достаточно. Фактически все серверы NAS предлагают возможность настройки конфигурации целевых объектов iSCSI. А у Microsoft в каждой версии Windows, начиная с Vista, имеется инструмент для создания инициатора iSCSI. Инициатор можно запускать на компьютере с версией операционной системы не ниже Windows 2000.

Чтобы продемонстрировать принципы работы технологии iSCSI, возьмем сервер NAS с двумя накопителями Thecus N2200XXX, на котором запущена адаптированная версия ОС Linux с поддержкой iSCSI, и настольную систему под управлением Windows 7 Максимальная. Любая система, работающая в среде Windows, при взаимодействии с системой NAS создает устройство, поддерживающее iSCSI.

iSCSI - достоинства и недостатки

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

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

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

Установка

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

1. Войдите в меню конфигурации сервера NAS, выберите режим RAID и зарезервируйте пространство для тома iSCSI. Я использовал зеркалирование RAID 1 с двумя накопителями емкостью по 2 Тбайт. Одна половина имеющейся емкости была выделена под файловую систему EXT4, а другая осталась неиспользованной. (На третьем этапе неиспользуемая емкость была отведена для iSCSI.)

2. После выделения пространства для RAID его нужно отформатировать. Когда процесс форматирования завершится (в зависимости от конфигурации накопителя продолжительность этой процедуры может занимать несколько часов), можно приступать к выделению неиспользуемого пространства для целевого объекта iSCSI. (Если же все доступное пространство будет зарезервировано для iSCSI, не нужно форматировать дисковый массив на данном этапе.)

3. Теперь настроим конфигурацию целевого объекта iSCSI. Сначала я щелкнул мышью на ссылке Space Allocation в меню Storage, находящемся на левой панели, а затем нажал кнопку Add на вкладке iSCSI target. На экране появилось новое окно, в котором нужно выбрать желаемый размер целевого объекта iSCSI, активизировать его и присвоить ему имя.

А если вы желаете добавить еще один уровень безопасности, на этом же этапе можно настроить параметры протокола CHAP (Challenge Handshake Authentication Protocol).

4. Если все имеющееся пространство решено не выделять одному целевому объекту iSCSI, можно присвоить нескольким целевым объектам логические идентификаторы LUN (Logical Unit Number). Это позволит подключать несколько систем к одному устройству NAS или серверу, а каждая клиентская система получит свой собственный целевой объект iSCSI.

Настройка целевого объекта

После того как целевой объект iSCSI создан, необходимо подключиться к нему через инициатор iSCSI на клиентском ПК с операционной системой Windows. Щелкните мышью на кнопке «Пуск», наберите в поисковой строке iSCSI и нажмите клавишу (или перейдите в меню «Пуск» к Панели управления и в разделе «Система и безопасность» выберите пункт «Администрирование», а затем - «Инициатор iSCSI»). Если на экране появится сообщение о том, что служба iSCSI не работает, разрешите ее запуск, после чего на экране отобразится окно свойств инициатора iSCSI.

Перейдите на вкладку «Обнаружение» и нажмите кнопку «Обнаружить портал». В открывшемся окне введите IP-адрес устройства NAS или сервера, на котором размещается целевой объект iSCSI. Номер порта изменять не нужно (если ранее номер порта iSCSI не определялся). По умолчанию система предлагает порт 3260. Если ранее вы разрешили проведение аутентификации CHAP, следует нажать кнопку «Дополнительно» и ввести учетную информацию CHAP. В противном случае нажмите кнопку OK, и IP-адрес вашего устройства NAS или сервера появится в списке конечных порталов.

Если целевого объекта в этом списке нет, убедитесь в том, что IP-адрес введен правильно, а нужный порт на межсетевом экране открыт.

После того как сервер появится в списке конечных объектов, перейдите на вкладку «Конечные объекты». Созданный ранее целевой объект iSCSI должен появиться в группе конечных объектов в средней части окна. Щелкните мышью на объекте и нажмите кнопку «Подключить». В появившемся на экране окне подключения к целевому объекту установите опцию «Добавить это соединение в список избранных конечных объектов» и нажмите OK. Потом еще раз нажмите OK в окне свойств инициатора iSCSI.

В клиентской системе, подключенной к целевому объекту iSCSI, нужно отформатировать целевой объект с использованием той же процедуры, которую вы проделываете с любым локальным диском. Нажмите кнопку «Пуск», щелкните правой кнопкой мыши на пункте «Компьютер» и выберите из контекстного меню пункт «Управление». В разделе «Запоминающие устройства» окна утилиты «Управление компьютером» щелкните на ссылке «Управление дисками». На экране появится диалоговое окно «Инициализация диска». Убедитесь в том, что опция «Выбор диска» установлена и укажите нужный тип раздела (я использовал MBR - Master Boot Record). Нажмите OK.

Следуя подсказкам, отображаемым на экране, укажите размер тома, присвойте диску букву и укажите файловую систему и метку тома. Нажмите кнопку «Завершить». По завершении форматирования появится новая буква накопителя. Теперь можно переносить файлы и запускать программы с накопителя NAS независимо от того, где он находится.

Сравнение производительности

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

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

А вот тест CrystalDiskMark анализирует работу устройств в режиме как последовательного, так и произвольного доступа, оперируя двумя файлами разного объема. По его результатам, целевой объект iSCSI продемонстрировал существенно более высокое быстродействие. Скорость записи у устройства iSCSI и стандартного подключенного сетевого диска оказалась одинаковой, зато операции чтения через интерфейс iSCSI выполнялись на 30--40% быстрее.

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

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

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

Многие из этих специализированных продуктов сделаны крупными поставщиками, такими как Netapp, Dell Equalogic, HP Storageworks или EMC, и имеют ценники, которые могут себе позволить только крупнейшие предприятия.

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

В дистрибутиве Debian GNU / Linux предусмотрены пакеты, которые позволяют системе Debian обслуживать устройство хранения данных SAN на уровне предприятия только за небольшую часть стоимости! Это позволяет каждому из основных домашних пользователей или крупным центрам обработки данных получать преимущества хранилища SAN без необходимости потратить целое состояние на собственное решение поставщика.

В этой статье мы рассмотрим, как можно настроить систему Debian 9 (Stretch) для обслуживания дискового пространства с помощью системы, известной как Internet Small Computer Systems Interface или iSCSI . iSCSI — это стандарт на основе Internet Protocol (IP ) для обеспечения хранения блоков (жесткого диска) для других систем. iSCSI работает на модели клиентского сервера, но использует разные имена для отличия клиента от сервера.

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

Настройка среды

Это руководство проведет базовую настройку, включающую простой сервер iSCSI (целевой ) и клиент (инициатор ), оба из которых работают с Debian 9 (Stretch) .

Debian iSCSI Target : 192.168.56.101/24 Storage : Содержит два дополнительных жестких диска для использования в качестве хранения данных установки iSCSI. Debian iSCSI Initiator : 192.168.56.102/24

Сеть можно посмотреть ниже:

Схема сети iSCSI в Debian

Конфигурация целевого объекта iSCSI Debian

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

В этой статье в качестве цели используется сервер с IP-адресом 192.168.56.101 . Все конфигурации будут выполнены на этом узле для этого раздела.

Первым шагом является установка необходимых пакетов, позволяющих системе Debian обслуживать цели iSCSI . Этот программный пакет известен как Target Framework (TGT ).

Другой элемент, который используется для данного руководства является Управление логическими томами (LVM ) инструменты, как логические тома (LVS ) будет использоваться в качестве основы для хранения для целевого устройства.

Оба пакета могут быть установлены с помощью следующих команд.

# apt-get update # apt-get install tgt lvm2

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

# lsblk (Используется только для подтверждения дисков, используемых при создании LVM) # pvcreate /dev/sd{b,c}
Подтверждение и создание LVM

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

Для создания группы томов требуется команда ‘ vgcreate ‘.

# vgcreate tecmint_iscsi /dev/sd{b,c} # vgs (Требуется только для подтверждения создания группы томов)
Создание группы томов в Debian

Обратите внимание на вышеприведенный вывод о том, что система реагирует на то, что группа томов была создана, но всегда рекомендуется дважды проверить, как показано выше, с помощью команды « vgs ». Емкость этой группы томов составляет всего 9,99 ГБ . Хотя это особенно небольшая группа томов, процесс будет таким же для дисков большой емкости!

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

Логический том будет создан с помощью команды lvcreate .

# lvcreate -l 100%FREE tecmint_lun1 tecmint_iscsi # lvs (Просто используется для подтверждения создания логического тома)
Создание логического Тома в Debian

Вышеприведенная команда « lvcreate » может быть немного запутанной с первого взгляда, но разбивка такова:

  • lvcreate — команда, используемая для создания логического тома.
  • -l 100% FREE — Создайте логический том, используя все свободное пространство группы томов.
  • -n tecmint_lun1 — имя создаваемого логического тома.
  • tecmint_iscsi — имя группы томов для создания логического тома внутри.

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

Создание LUN очень простое и требует всего лишь нескольких шагов. Первым шагом будет создание файла конфигурации. Этот файл будет находиться в каталоге /etc/tgt/conf.d ‘, и для этой статьи он будет называться ‘ TecMint_iscsi.conf ‘.

Для создания этого файла используйте текстовый редактор.

# nano /etc/tgt/conf.d/TecMint_iscsi.conf

Внутри этого файла будет сконфигурирована вся необходимая информация о конфигурации для этого LUN . Есть много вариантов, которые можно поместить в этот файл, но на данный момент будет сконфигурирован базовый LUN с взаимным протоколом проверки подлинности Handshake Challenge (CHAP ).

Определение LUN ​​будет существовать между двумя « целевыми » утверждениями. Для получения дополнительных параметров, которые могут выполняться в целевом выражении, просмотрите страницу руководства для файла « target.conf », выпустив « man 5 tasks.conf ».

# Provided device as an iSCSI target backing-store /dev/mapper/tecmint_iscsi-tecmint_lun1 initiator-address 192.168.56.102 incominguser tecmint-iscsi-user password outgoinguser debian-iscsi-target secretpass

Там много чего происходит. Быстрое объяснение может быть полезным для большинства.

  • Первая строка начинается конкретный ISCSI LUN конфигурации. В этом случае LUN помечен как « iqn.2018-02.tecmint.com:lun1 ». Часть « iqn » указывает, что это будет имя, присвоенное iSCSI. « 2018-02 » — это произвольно выбранная комбинация дат. ‘ tecmint.com ‘ — это домен, к которому принадлежит данный LUN. Наконец, « lun1 » используется как имя для этой конкретной цели.
  • Вторая линия выше иллюстрирует комментарий. Комментарии могут существовать в целевых файлах конфигурации и должны быть предварительно снабжены символом « # ».
  • Третья линия, где фактический объем памяти, который будет использоваться инициатором существует. В этом случае резервная копия хранилища будет логическим томом, который был создан ранее в руководстве.
  • Четвёртая строка является IP — адрес, который, как ожидается, от инициатора. Хотя это не необходимый элемент конфигурации, он может помочь повысить безопасность.
  • Пятая линия поступающего имени пользователя / пароль. Как и адрес инициатора выше, этот параметр также не требуется, но может помочь защитить LUN. Поскольку это руководство также охватывает взаимный CHAP iSCSI, этот параметр требуется. В этой строке указывается имя пользователя и пароль, которые ожидается от инициатора для инициатора, чтобы подключиться к этому LUN.
  • Шестой строке является имя пользователя / пароль, то цель предоставить инициатору для обеспечения взаимной проверки подлинности CHAP , чтобы иметь место. Обычно этот параметр не требуется, но в этой статье рассматривается взаимная аутентификация CHAP, поэтому этот параметр необходим.
  • Конечная строка — это оператор закрытия для определения цели. Обратите внимание на заключительную косую черту перед целевым словом!

После того, как были выбраны соответствующие конфигурации для LUN, сохраните изменения и выйдите из текстового редактора. Если вы используете nano , нажмите, ctrl+o чтобы сохранить, а затем нажмите, ctrl+x чтобы выйти из nano.


Создание файла конфигурации LUN

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

Это можно сделать с помощью одной из следующих команд и зависит от используемой системы init.

# service tgt restart (Для систем sysv init) # systemctl restart tgt (Для систем systemd init)

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

Это можно сделать с помощью команды tgtadm .

# tgtadm --mode target --op show (это покажет все цели) Показать все цели iSCSI

Это завершает конфигурацию цели . Следующий раздел будет работать через конфигурацию инициатора .

Конфигурация инициатора iSCSI в Debian

Следующим шагом в использовании ранее настроенной цели iSCSI является конфигурация инициатора iSCSI .

В качестве инициатора в этой статье будет использоваться другая система Debian 9, но любая система, которая может использовать протокол iSCSI, может подключиться к ранее настроенной цели; это может включать гипервизоры, такие как XenServer / ESXi или другие дистрибутивы, такие как Red Hat, Debian или Ubuntu.

Первым шагом в этом процессе для этого инициатора Debian является установка соответствующих пакетов для iSCSI .

# apt-get update # apt-get install open-iscsi

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

# iscsiadm -m discovery -t st -p 192.168.56.101

Когда эта команда будет запущена, она ответит назад с именем lun, настроенным ранее для этого конкретного хоста. Вышеприведенная команда также генерирует два файла для вновь обнаруженной информации LUN.


Подключение целевого сервера iSCSI

Теперь для файла, созданного для этого узла, должна быть настроена информация CHAP, чтобы эта цель iSCSI действительно была доступна инициатору .

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

Файл конфигурации узла будет существовать в каталоге « / etc / iscsi / nodes / » и будет иметь каталог для каждого LUN. В случае этой статьи (обратите внимание, что изменения будут изменяться, если имена / IP-адреса будут изменены).

# /etc/iscsi/nodes/iqn.2018-02.tecmint.com\:lun1/192.168.56.101\,3260\,1/default

Для работы с этим файлом можно использовать любой текстовый редактор.

# nano /etc/iscsi/nodes/iqn.2018-02.tecmint.com\:lun1/192.168.56.101\,3260\,1/default

Внутри этого файла будет несколько уже настроенных параметров для соответствующей цели, которые были определены во время команды « iscsiadm », выполняемой ранее.

Поскольку эта целевая / инициаторная установка Debian использует взаимный CHAP , некоторые другие параметры необходимо изменить и добавить в этот файл, а затем выполнить вход в цель iSCSI .

Изменения этого файла:

Node.session.auth.authmethod = CHAP #Enable CHAP Authentication node.session.auth.username = tecmint-iscsi-user #Target to Initiator authentication node.session.auth.password = password #Target to Initiator authentication node.session.auth.username_in = debian-iscsi-target #Initiator to Target authentication node.session.auth.password_in = secretpass #Initiator to Target authentication

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

В этом конкретном файле есть другой вариант, который может потребоваться изменить в зависимости от настроек администратора, и это параметр « node.startup ».

Если после этого руководства параметр « node.startup » будет установлен на « ручной » в этой точке. Это может быть нежелательно. Если администратор хочет, чтобы цель iSCSI была подключена при запуске системы, измените « вручную » на « автоматический »:

node.startup = automatic

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

Это может быть выполнено с помощью одной из следующих команд в зависимости от используемой системы инициализации.

# service open-iscsi restart (For sysv init systems) # systemctl restart open-iscsi (For systemd init systems)
Restart Open Инициатор iSCSI

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

# lsblk Проверка целевого диска iSCSI

Другая команда, которая может быть использована инициатором для подтверждения подключения к цели, — это iscsiadm как таковой:

# iscsiadm -m session Подтверждение соединения с целью ISCSI

Последнее место для подтверждения соединения будет на самой цели с помощью команды « tgtadm » для перечисления любых подключений iSCSI.

# tgtadm --mode conn --op show --tid 1


Список iSCSI соединений

С этого момента вновь подключенное устройство iSCSI можно использовать аналогично любому обычно прикрепленному диску! Разделение, создание файловой системы, установка и / или постоянный монтаж могут обрабатываться нормально.

Одна большая осторожность, чтобы быть в курсе с устройствами iSCSI, заключается в том, что если цель iSCSI содержит важные файловые системы, которые необходимы при загрузке инициатора , обязательно используйте запись «_netdev » в файле «/etc/fstab », чтобы гарантировать, что iSCSI устройство подключается до того, как система продолжит загрузку!

По прошествии пяти лет работы с сетями хранения данных 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.

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

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

Sun стала в оппозицию к ІP Storage

Sun стала в оппозицию к IP Storage. Sun Microsystems не будет выпускать систем хранения данных с доступом по IP. Марк Канепа, вице-президент Sun, ответственный за производство всех систем хранения данных, заявил на днях, что IP Storage был всего лишь «мечтой», сообщает Byte and Switch.

Канепа сказал, что «непрактично применять TCP/IP для организации SAN из-за большей задержки в таких сетях. Даже если у сетей хранения на основе IP есть будущее, то наступит оно через три-пять лет, а возможно, не наступит никогда. Поток от систем хранения данных не может работать поверх стека протоколов общего назначения, у него есть особые потребности. Технологические трудности внедрения TCP/IP намного более велики, чем многие думают. Именно поэтому мы в Sun делаем ставку на Fibre Channel », сказал он. До сих пор никто из производителей систем хранения данных не занимал столь четкой позиции против IP Storage. Конкуренты Sun, компании Hewlett-Packard и IBM, более или менее активно поддерживают эти технологии.

HP обещает поддержку iSCSI

«Окончательная версия новой технологии должна появиться в первом квартале 2002 года, - сообщил руководитель подразделения систем сетевого хранения HP Марк Томпсон. Корпорация намеревается представить широкий спектр продуктов, которые поддерживают стандарт, іSCSI, предназначенный для объединения систем хранения в ІP-сетях… »

В HP признают, что пользователи систем Fibre Channel чувствуют себя достаточно комфортно и большее тяготеют к модернизованной технологии FCIP, чем к іSCSI. Но, в то же время, в HP верят, что опыт работы с решениями, основанными на протоколе ІP, и в особенности с Ethernet, сделает продукты іSCSI привлекательными для многих заказчиков.

Computerworld, #35/2001: «Федеративные системы хранения»

IBM выпускает продукт на базе iSCSI

IBM TotalStorage IP Storage 200i обеспечивает прямое подключение накопителей Ethernet LAN. Эта высокоскоростная система хранения данных поддерживает новый промышленный стандарт iSCSI, что обеспечивает передачу SCSI протокола поверх IP.

Ну что ж, столь противоречивые сообщения не оставляют нам другого выбора кроме как разобраться самим и самостоятельно взвесить все «ЗА» или «ПРОТИВ».

iSCSI

«iSCSI (Internet Small Computer System Interface) - это протокол, который базируется на TCP/IP и разработан для установления взаимодействия и управления системами хранения данных, серверами и клиентами ».

iSCSI описывает:

  • Транспортный протокол для SCSI, который работает поверх TCP
  • Новый механизм инкапсуляции SCSI команд в IP сети
  • Протокол для новой генерации систем хранения данных, которые будут использовать «родной» TCP/IP

Сразу возникает негодование, хочется все разложить по отдельным кучкам. Как говорил один мой преподаватель: «Котлеты отдельно, мухи отдельно». Дело в том, что правила доставки пакетов в IP и SCSI абсолютно противоположные. В IP пакеты доставляются получателю без соблюдения строгой последовательности, он же и восстанавливает данные, на что затрачиваются определенные ресурсы. В то же время, по спецификации SCSI, как канального интерфейса, все пакеты должны передаваться один за другим без задержки, а нарушение этого порядка приводит к потере данных. Несмотря на то, что, по мнению некоторых специалистов, эта проблема вносит неоднозначность в практическое использование технологии iSCSI, на сегодня уже реализован ряд устройств, которые подтверждают ее жизнеспособность. Инженеры, которые работали над iSCSI, смогли определенным образом решить эту проблему. Спецификация iSCSI требует увеличения размеров заголовка пакета. В заголовок включается дополнительная информация, которая значительно ускоряет сборку пакетов.

По мнению одного из болельщиков iSCSI, Хеймора, старшего системного инженера университета штата Юта, основным препятствием для распространения Ethernet как базовой технологии построения сетей хранения данных является относительно большое время задержки (близкое к 75 микросекундам), которое возникает из-за особенностей стека TCP/ІР. В High-End системах при одновременном обращении к тысячам файлов это может стать серьезной проблемой.

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

iSCSI развивается очень быстро. Потребность в новом стандарте ощущалась так сильно, что буквально за 14 месяцев с момента предложения по созданию iSCSI, с которым в феврале 2000 года выступила IETF, появилось достаточно много устройств, чтобы продемонстрировать возможности по их взаимодействию. В июле 2000-го был опубликован Draft 0 по iSCSI, который стал началом работ по реализации технологии. В январе 2001 года в рамках SNIA (Storage Networking Industry Association) был создан IP Storage форум, который через полгода уже насчитывал 50 членов, а в апреле этого же года был представлен продукт, который в скором времени выиграл награду «Enterprise Networking Product».

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

Некоторые из важнейших прикладных задач и функций, реализуемые с использованием систем хранения данных, это:

Задачи, которые эффективно реализуются современными методами:

    · Консолидация систем хранения данных · Резервирование данных · Кластеризация серверов · Репликация (дублирование) · Восстановление в аварийных ситуациях

Новые возможности, которые эффективно реализуются с использованием IP Storage:

    · Географическое распределение SAN · QoS · Безопасность

Вместе с этим, новые системы хранения данных, для которых iSCSI будет родным протоколом, сформируют еще массу преимуществ:

    · Обеспечивается единая технология для подсоединения систем хранения, серверов и клиентов в рамках LAN, WAN, SAN · Наличие значительного опыта индустрии в Ethernet и SCSI технологиях · Возможность значительного географического отдаления систем хранения · Возможность использовать средства управления TCP/IP сетями

Причем, для передачи данных на storage с интерфейсом iSCSI можно использовать не только носители, коммутаторы и маршрутизаторы существующих сетей LAN/WAN, но и обычные сетевые карточки на стороне клиента. Правда, при этом возникают значительные накладные расходы процессорной мощности на стороне клиента, который использует такую карточку. По утверждению разработчиков, программная реализация iSCSI может достичь скоростей среды передачи данных Gigabit Ethernet при значительной, до 100% загрузке современных CPU. В связи с чем, рекомендуется использование специальных сетевых карточек, которые будут поддерживать механизмы разгрузки CPU от обработки стека TCP. На момент написания статьи (Июнь 2002 года), такие карточки производила компания Intel.

Intel PRO/1000T IP Storage Adapter предлагается компанией Intel по цене 700USD за штуку. Это устройство содержит мощный процессор Xscale, 32M памяти и осуществляет передачу вычислений, связанных с протоколами iSCSI и TCP/IP, а также расчет контрольных сумм кадров TCP, IP на интегрированный процессор. Его быстродействие, согласно внутренним тестам компании, может достигать 500Mbit/s при 3-5% загрузке CPU host системы.

Давайте рассмотрим iSCSI повнимательней

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

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

С внедрением SAN мы получили возможность использовать SCSI протокол в сетевых инфраструктурах, обеспечивая высокоскоростную передачу данных на уровне блоков между множественными элементами сети хранения данных.

Internet Small Computer System Interface тоже обеспечивает блочный доступ к данным, но не самостоятельно, а поверх сетей TCP/IP.

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

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


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

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

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

  • Управление именами и адресами (iSCSI Address and Naming Conventions).
  • Управление сеансом (iSCSI Session Management).
  • Обработка ошибок (iSCSI Error Handling).
  • Безопасность (iSCSI Security).

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

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


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

iSCSI узел является идентификатором SCSI устройств (в Сетевой Сущности), доступных через сеть. Каждый iSCSI узел имеет уникальное iSCSI имя (длиной до 255 байт), которое формируется по правилам, принятым для обозначения узлов в Internet. Например: «fqn.com.ustar.storage.itdepartment.161». Такое название имеет удобную для восприятия человеком форму и может обрабатываться Сервером Доменных Имен (DNS). Таким образом, iSCSI имя обеспечивает корректную идентификацию iSCSI устройства вне зависимости от его физического местонахождения. В то же время, в процессе контроля и передачи данных между устройствами удобнее пользоваться комбинацией IP адреса и TCP порта, которые обеспечиваются Сетевым порталом (Network Portal). iSCSI протокол дополнительно к iSCSI именам обеспечивает поддержку псевдонимов, которые, как правило, отображаются в системах администрирования для удобства идентификации и управления администраторами системы.

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

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

Фаза аутентификации iSCSI аналогична процессу Fibre Channel Port Login (PLOGI). Она используется для того, чтобы согласовать разнообразные параметры между двумя Сетевыми Сущностями и подтвердить право доступа инициатора. Если фаза аутентификации iSCSI завершается успешно, исполнитель подтверждает login инициатору, иначе логин не подтверждается, а TCP соединение закрывается.

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


Рисунок 4. Пример iSCSI Write

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

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

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

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

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

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

  1. На наиболее низком уровне - определение ошибки и восстановление данных на уровне SCSI задачи, например, повторение передачи утраченного или поврежденного PDU.
  2. На следующем уровне - в TCP соединении, которое передает SCSI задачу, может произойти ошибка, а именно, TCP соединение может повредиться. В этом случае осуществляется попытка восстановить соединение.
  3. И наконец, сама iSCSI сессия может испортиться. Терминация и восстановление сессии, как правило, не требуется, если восстановление корректно отрабатывается на других уровнях, однако может произойти обратное. Такая ситуация требует закрытия всех TCP соединений, завершения всех задач, недовыполненных SCSI команд и перезапуска сессии через повторный login.

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

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

Другие (iFCP, FCIP)

В рамках работы над сетевыми технологиями хранения данных в Internet Engineering Task Force (IETF) была создана рабочая группа IP Storage (IPS) по направлениям:

  • iSCSI (Internet Small Computer Systems Interface)
  • FCIP (Fibre Channel over TCP/IP)
  • iFCP (Internet Fibre Channel Protocol)
  • iSNS (Internet Storage Name Service)

А также, как уже отмечалось, в январе 2001 в рамках SNIA (Storage Networking Industry Association) был организован IP Storage форум. Сегодня форум включает три подгруппы: FCIP, iFCP, iSCSI. Каждая из которых представляет протокол, который находится под протекцией IETF.

FCIP - созданный на базе TCP/IP туннельный протокол, функцией которого является соединение географически отдаленных FC SAN без какого-либо влияния на FC и IP протоколы.

iFCP - созданный на базе TCP/IP протокол для соединения FC систем хранения данных FC сетей хранение данных, используя IP инфраструктуру совместно или вместо FC коммутационных и маршрутизирующих элементов.

iSCSI - рассматривается выше…

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


Рисунок 5. Блок-схема IP Storage сетей

Fibre Channel over IP

Наименее революционным из трех названых выше является протокол Fibre Channel over IP. Он не вносит практически никаких изменений в структуру SAN и в организацию самых систем хранения данных. Главная идея этого протокола - реализация возможности объединения географически отдаленных сетей хранения данных.

Вот так выглядит стек протокола FCIP:


Рисунок 6. Нижние уровни протокола FCIP

FCIP помогает эффективно решить задачу территориального распределения, и объединения SAN на больших расстояниях. Его основными преимуществами является то, что этот протокол полностью прозрачен для существующих FC SAN сетей и ориентирован на использование инфраструктуры современных MAN/WAN сетей. Таким образом, для обеспечения новой функциональности пользователям, которые ищут возможности связать между собою географически отдаленные FC SAN, будет нужен всего лишь FCIP шлюз и подключение к MAN/WAN сети. Географически распределенная SAN, построенная с помощью FCIP, воспринимается SAN устройствами как обычная FC сеть, а для MAN/WAN сети, к которой она подключенная, она представляет обычный IP трафик.

Draft стандарт рабочей группы IETF IPS - FCIP определяет:

  • правила инкапсуляции FC кадров для передачи через TCP/IP;
  • правила использования инкапсуляции для создания виртуальной связи между FC устройствами и элементами FC сети;
  • окружение TCP/IP для поддержки создания виртуальной связи и обеспечение тунелирования FC трафика через IP сеть, включая безопасность, целостность данных и вопрос скорости передачи данных.

Среди прикладных задач, которые можно качественно решить с использованием FCIP протокола: удаленное резервирование, восстановление данных и общий доступ к данным. При использовании высокоскоростных MAN/WAN коммуникаций можно также с успехом применять: синхронное дублирование данных и общий распределенный доступ к системам хранения данных.

iFCP

Internet Fibre Channel Protocol - это протокол, который обеспечивает передачу FC трафика поверх TCP/IP транспорта между шлюзами iFCP. В этом протоколе, транспортный уровень FC замещается транспортом IP сети, трафик между FC устройствами маршрутизируется и коммутируется средствами TCP/IP. Протокол iFCP предоставляет возможность подключать существующие FC системы хранения данных к IP сети с поддержкой сетевых сервисов, которые нужны этим устройствам.

Стек протокола iFCP имеет такой вид:


Рисунок 7. Нижние уровни протокола iFCP

iFCP, согласно спецификации:

  • накладывает кадры FC для их транспортирования на предварительно определенное TCP соединение;
  • FC сервисы передачи сообщений и маршрутизации перекрываются в шлюзовом устройстве iFCP, таким образом, сетевые структуры и компоненты FC не сливаются в общую FC SAN, а управляются средствами TCP/IP;
  • динамично создает IP туннели для FC кадров

Важной особенностью iFCP является то, что этот протокол обеспечивает FC device-to-device связь (связь между устройствами) через IP сеть, которая является значительно более гибкой схемой, если сравнивать ее со связью SAN-to-SAN. Так, например, если iFCP имеет TCP связь между парами портов N_Port двух FC устройств, такая связь может иметь свой собственный уровень QoS, который будет отличаться от уровня QoS другой пары FC устройств.

Заключение

Подводя итоги, хочется выразить свою твёрдую уверенность в том, что Fibre Channel в ближайшее время никуда не исчезнет, рынок FC SAN будет расти и развиваться. В то же время, IP Storage протоколы предоставят возможность эффективно использовать сети хранения данных в тех прикладных задачах, для которых FC не может обеспечить эффективной реализации. Используя протоколы FCIP и iFCP, сети хранения данных станут географически распределенными. А внедрение iSCSI в свою очередь, даст возможность использования преимуществ SAN в сферах, которые до сих пор остаются нереализованными, или реализуются неэффективно в рамках распространенных сегодня технологий.

P.S.

Бурное развитие сетей хранения данных стало основой формирования концепции World Wide Strorage Area Network. WWSAN - всемирная сеть хранения данных и предусматривает создание инфраструктуры, которая обеспечит высокоскоростной доступ и хранение данных, распределенных по всему миру. Концепция очень близкая к существующей сегодня WWW, но имеет в своей основе другие сервисы. Одним из оригинальных примеров является обслуживание «менеджера», который ездит по всему миру с презентациями. WWWSAN предусматривает прозрачное перемещение «мобильных» данных вслед за персональным перемещением их собственника по всему миру. Таким образом, где бы ни находился «менеджер», он всегда будет иметь возможность получить высокоскоростной доступ к нужным ему данным, работа с которыми не будет требовать сложной, временами очень неэффективной синхронизации через WWW.

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

Термины и сокращения:

  • SAN - Storage Area Network, Сеть Хранения Данных
  • CDB - command descriptor block, протокол дескриптора (описания) команды.
  • PDU - Protocol Data Unit протокольная единица обмена, модуль данных протокола.
  • QoS - сокр. от Quality of Service качество и класс предоставляемых услуг передачи данных (обычно описывает сеть в терминах задержки и полосы сигнала).
  • SNIA - Storage Networking Industry Association, ассоциация индустрии сетевых систем хранения данных.
  • DNS - Domain Name Server, сервер доменных имен.
  • PLOGI - Fibre Channel Port Login.
  • iSCSI - Internet Small Computer Systems Interface
  • FCIP - Fibre Channel over TCP/IP
  • iFCP - Internet Fibre Channel Protocol
  • iSNS - Internet Storage Name Service
  • WWSAN - World Wide Strorage Area Network, всемирная сеть хранения данных

Литература:

  • «SAN после Fibre Channel», - Лукас Мериан. 12.02.2002: Computerworld, #05/2002;
  • IP Storage Tutorial, - SNIA;
  • iSCSI Technical White Paper, - SNIA;
  • Internet Fibre Channel Protocol (iFCP) - A Technical Overview, - SNIA;
  • Storage Forum, - HP EMEA, 12-13 июня 2002 года.

Инструментарий для построения сетей хранения данных сам по себе достаточно обширный. Однако некоторые стандарты и технологии снискали большую популярность. Вслед за Fibre Channel вторым по популярности протоколом является iSCSI.

Общая информация о iSCSI

iSCSI – первые буквы от словосочетания Internet Small Computer System Interface . Иногда это буквосочетание расшифровывают как Internet SCSI или IP SCSI, и, несмотря на то что такие интерпретации не полностью совпадают с первоначальной, они вполне имеют право на жизнь, так как весьма точно описывают суть iSCSI – протокол из стека TCP/IP для подключения внешних сетевых систем хранения данных в режиме блочного доступа.

Как уже было сказано выше, в основу метода заложена трансляция команд SCSI посредством IP-сети. В процессе работы используются порты TCP/IP, по умолчанию 860 и 3260. В принципе iSCSI – это своего рода транспорт вроде эскалатора для переамещения SCSI-инструкций и данных через внешнее сетевое подключение. Конечная реализация представляет собой среду для эмуляции локальной шины SCSI посредством внешней сети Ethernet и т.д.

В отличие от многих других протоколов (FCIP , FCoE и так далее), являющихся, по сути, ответвлением от Fibre Channel, протокол iSCSI является независимой реализацией и представляет собой разработанный с нуля стандарт для работы через TCP/IP.

iSCSi target и iSCSi initiator

Для организации любой сети хранения данных требуется три составляющие: система хранения данных, клиентская часть и среда передачи данных. В случае iSCSI для описания первых двух составляющих применяются термины «target » и «initiator » соответственно.

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

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

Адресация iSCSI target

Для осуществления успешной безошибочной работы системы хранения, подключенные к сети, обязаны иметь уникальный сетевой адрес. Например, сети хранения данных на базе протокола Fibre Channel используют специальные адреса WWWN. SAN на основе iSCSI также имеют свою собственную систему адресации IQN (iSCSI Qualified Name ).

Каждый такой адрес является уникальным идентификатором, служащим для точного определения устройств хранения. Как же достигается подобная уникальность? Рассмотрим формат IQN.

Допустим, у нас имеется iSCSI target с адресом: iqn.2017– 02.com.example:storage:diskarrays-sn-a9786410.

Что это означает при более подробном рассмотрении:
> iqn – префикс, указывающий на принадлежность адреса к формату IQN.
> Далее следует указатель даты вида «yyyy-mm» («год-месяц»), чаще всего указывают дату создания таргета. > Зарезервированное доменное имя, чаще всего вендора оборудования.
> После двоеточия следует собственно уникальный ID iSCSI target.

Эта система является довольно удобным решением. Прочитав IQN, можно легко получить дополнительную информацию о времени создания, типе оборудования и/или вендоре.

Примечание. По аналогии с Fibre Channel служба iSNS (Internet Storage Name Service ) позволяет управлять, в том числе, и сетями iSCSI. Это дает возможность использовать iSNS в роли единой централизованной точки входа для работы SAN.

Варианты реализации iSCSI target

Программная реализация

В качестве примера программной реализации можно привести программный продукт StarWind iSCSI Target Software , который обеспечивает реализацию iSCSI target на обычных серверах под управлением операционных систем семейства MS Windows. Достаточно только установить программу, провести небольшие настройки, и готово блочное хранилище начального уровня для подключения к другому серверу.

Аппаратная реализация

В качестве аппаратной реализации можно представить специализированные устройства, например от компании HP – HP P2000 MSA , со специальной прошивкой, специализированными интерфейсами со специальным чипом и Firmware, которые берут на себя большую часть функций обработки трафика.

Программно-аппаратная реализация

Это своего рода компромиссное решение – например, обычный сервер на базе платформы Intel x86_64 , но со специализированными сетевыми адаптерами (TOE) и адаптированной операционной системой, к примеру NexentaStor , позволяющей организовать iSCSI target , что называется, «сразу из коробки».

Что такое iSCSI HBA?

Иногда можно встретить устойчивое выражение iSCSI HBA (Host Bus Adapter) . В действительности речь идет о специальных аппаратных сетевых модулях, позволяющих разгрузить процессор, передав часть функционала сетевому адаптеру.

Разделяют два типа таких устройств:
> TCP Offload Engines , сокращенно TOE. Данные устройства можно встретить там, где необходимо увеличить производительность и одновременно снизить нагрузку на общую систему (процессор и так далее). Данное устройство способно взять на себя только операции по поддержке TC/IP, но не способно использовать все остальные возможности по увеличению производительности iSCSI-систем.

> Full offload iSCSI HBA представляет собой комплексное решение, включающее в себя передачу выполнения функций по поддержке TCP/IP и iSCSI на данное устройство. Это считается лучшим выбором по обеспечению производительности, но стоит, разумеется, дороже, чем TOE.

Впрочем, что больше подходит для того или иного конкретного случая, лучше определять практическими тестами. Примечание. Многие современные сетевые адаптеры 10 Gigabit Ethernet включают в себя поддержку протокола iSCSI. Поэтому при выборе сетевого адаптера для построения iSCSI SAN следует ориентироваться не только на цену комплектующих, но и на дополнительный функционал. Соответствующие характеристики стоит уточнить на сайте производителя оборудования.

Различия File Extent и Device Extent

Помимо систем передачи трафика, существуют различные подходы при сохранении данных непосредственно внутри хранилища.

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

File Extent или файл-контейнер

Этот метод встречается наиболее часто в силу его достаточно простой реализации. Суть его заключается в использовании специального файла большого размера, в котором, как в контейнере, размещаются данные клиента. Наиболее близкий аналог – виртуальный диск (например, создаваемый системой виртуализации), который доступен как очередной жесткий диск или съемный носитель. Другие аналоги – архивный файл, в который данные записываются «на лету», или файл-контейнер, создаваемый программой шифрования данных в качестве защищенного хранилища.

При таком подходе сначала физический диск или дисковый массив форматируется под определенную файловую систему, в этой файловой системе создается огромный файл-контейнер, внутри него – своя внутренняя файловая система, и уже на ней размещаются данные клиента (см. рис. 1).

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

Именно так работает большинство реализаций iSCSI target . Такой метод хранения, мягко говоря, является довольно рискованным. Малейшая ошибка файловой системы при записи этого громадного файла – и все данные на нем будут утеряны. Подобные ошибки легко возникают при несанкционированной холодной перезагрузке, некорректной работе RAID-контроллера (особенно это касается RAID-контроллеров, встроенных в материнскую плату) и так далее. Не спасут никакие проверки ни программой типа CheckDisk, ни каким-либо другим способом. Вся надежда только на своевременно созданную резервную копию.

Помимо невысокой защищенности и расхода свободного пространства, такой метод является, мягко говоря, не слишком производительным. Метод работы «все-в-один-файл» является прямым аналогом работы программы архиватора.

Накладные расходы также сопоставимы с бесконечной работой программы архиватора в активном режиме.

Device Extent

Данный метод представляет собой более простое и экономичное решение. Из названия следует, что для сохранения используется не отдельный файл, а целиком все устройство. В таком случае нет нужды создавать своеобразную «матрешку»: внешняя файловая система – файл-контейнер – внутренняя файловая система. Вместо этого данные пишутся напрямую на дисковый том в RAW-формате. Это позволяет значительно снизить накладные расходы и избежать потенциальных ошибок, например, из-за «холодной перезагрузки».

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

Device Extent можно встретить в системах на платформе BSD – FreeBSD и ее производных: FreeNAS и NAS4Free.

Обеспечение безопасности при построении iSCSI SAN

Поклонники протокола Fibre Channel при обсуждении вопросов реализации безопасности подключений обязательно вспоминают Zoning – механизм, присутствующий в сетях FC. Аналогичные механизмы существуют и в iSCSI SAN.

Ограничение доступа по сети средствами iSCSI target

Практически во всех реализациях iSCSI target присутствует возможность программно ограничить доступ со всех адресов за исключением небольшой группы серверов, которые нуждаются в ресурсах СХД. Данный метод можно сравнить с software zoning в Fibre Channel, когда в качестве атрибута используется адрес порта (устройства): IP-адрес для iSCSI или WWWN для Fibre Channel.

Ограничение доступа по сети внешними средствами

Еще одна возможность, на мой взгляд, более удачная, – использование внешних систем для ограничения сетевого доступа. Так, в большинстве случаев сети iSCSI строятся на базе Ethernet, выделение некоторых сегментов посредством VLAN является хорошей практикой для обособления iSCSI SAN, эффективно защищая от несанкционированного доступа. В принципе VLAN для iSCSI можно сравнить с Hardware Zoning для Fibre Channel. И в одном, и в другом случае ограничение доступа производится исходя из портов, к которым подключаются устройства.

Проверка подлинности CHAP

Чаще всего для проверки легитимности подключения iSCSI initiator c iSCSI target применяется протокол CHAP (Challenge Handshake Authentication Protocol) . Основу данного метода составляет совместное использование клиентом и сервером секретного ключа (аналогичного паролю).

В большинстве реализаций iSCSI target могут применяться следующие реализации CHAP:
Обычная или однонаправленная CHAP-аутентификация (one-way CHAP authentication ). В данном случае подлинность инициатора контролируется только iSCSI target. Для подключения всех инициаторов применяется определенный идентификатор, например пароль.
Двунаправленная CHAP-аутентификация (mutual CHAP authentication). Данный метод предполагает, что и iSCSI target, и iSCSI initiator контролируют подлинность друг друга. При этом для участника обмена данными создается отдельный уникальный дескриптор (например, логин и пароль).Проверка подлинности RADIUS

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

Особенностью данного решения является то, что в отличие от CHAP проверка достоверности RADIUS выполняется между сервером RADIUS и клиентом RADIUS. Когда initiator запрашивает доступ к ресурсам iSCSI target , клиент отправляет запрос пользователя на подключение на сервер RADIUS. Ответственность за проверку аутентификации берет на себя RADIUS-сервер . Аналогичным образом проверяется обмен данными и служебной информацией между iSCSI initiator и iSCSI target.

Разумеется, чтобы реализовать данную схему обеспечения безопасности, необходимо иметь хотя бы один RADIUS сервер в сети.

Проверка подлинности с использованием шифрования

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

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

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

Области применения iSCSI

В принципе области применения устройств хранения на базе iSCSI такие же, что и для Fibre Channel, как, впрочем, для любых других типов СХД, предоставляющих ресурсы в режиме блочного доступа.

Однако до недавнего времени из-за невысокой пропускной способности сети Gigabit Ethernet применение iSCSI было довольно ограничено. Ситуация кардинально поменялась с выходом стандарта 10 Gigabit Ethernet и началом массового выпуска соответствующего оборудования.

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

В то же время неплохие возможности сетевого оборудования 10 Gigabit Ethernet позволяют использовать iSCSI SAN и при построении систем виртуализации, и для хранения баз данных, словом, для всех задач, где раньше господствовал стандарт Fibre Channel.

С какой скоростью работает iSCSI?

В отличие от внутренней шины SCSI, которая обеспечивает непосредственный доступ к устройствам, передача пакетов iSCSI происходит посредством потенциально ненадежного сетевого соединения. Для обеспечения стабильной работы, контроля обмена данными и SCSI-командами в данных условиях в работе протокола iSCSI применяется избыточность. Эта избыточность выражается в передаче дополнительной служебной информации, которая используется для мониторинга блочной передачи, проверки корректности завершения операций ввода/вывода и обработки ошибок. Также служебная информация необходима для системы идентификации устройства посредством соответствующих имен. Еще одна задача, решаемая при обмене данными, – обеспечение безопасности. Разумеется, все это вкупе с процессом инкапсуляции – деинкапсуляции ведет к дополнительным накладным расходам (см. рис. 2).

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

Допустим, у нас используется одиночное подключение по сети Gigabit Ethernet (1 Gb/s) . Переведя в мегабайты в секунду, получим: 1024/8 = 128 Mb/s.

Чтобы получить пропускную способность с учетом всех накладных расходов, пусть и в довольно грубом приближении, разделим полученную величину на 2: 128 / 2 = 64 Mb/s.

Полученное значение сопоставимо со скоростью передачи данных старых IDE PATA жестких дисков стандарта UDMA66 (66 Mb/s).

Примечание. Стоит отметить, что даже объединение двух линков, например, по протоколу LACP не дает в 100% случаев удвоения производительности. Большую роль играет конкретная программная реализация системы передачи данных. В реальности стоит ожидать коэффициент увеличения ширины канала в диапазоне 1,4-1,7 от первоначальной величины.

Действительно ли системы хранения iSCSI так дешевы?

В свое время стандарт iSCSI получил прозвище «Fibre Channel для бедных». В то время, в самом начале развития, считалось, что достаточно всего лишь приобрести несколько сетевых карт и простой коммутатор и можно построить сеть хранения данных. Впоследствии оказалось, что это не совсем так.

Во-первых, пропускная способность сетей семейства Ethernet довольно долго ограничивалась максимальной скоростью 1 Gb/s . В то время Fibre Channel уже поддерживал сети SAN в 2 и 4 Gb/s

Во-вторых, практически вся нагрузка для обеспечения работы iSCSI ложится на конечные устройства на iSCSI target и iSCSI initiator. Поэтому применение iSCSI требует дополнительных системных ресурсов. Именно это побудило к созданию устройств для «разгрузки» вычислительных мощностей – TOE и Full iSCSI HBA .

В-третьих, не следует забывать, что использование iSCSI требует дополнительных ресурсов в виде сетевого оборудования. Сетевые адаптеры, коммутаторы, патчпанели – все это стоит денег. Например, стоимость сетевой карты 10 Gigabit Ethernet сопоставима со стоимостью FC HBA 8 или даже 16 Gb/s

Из всего этого следует вывод, что не существует универсальных решений по принципу «бери вот это – будет дешево и сердито». Каждый вариант, будь то сеть хранения данных на базе iSCSI или Fibre Channel , требует тщательного изучения как с технической, так и с финансовой точки зрения.

С другой стороны, применение оборудования и протокола iSCSI на начальном этапе значительно проще, чем создание с нуля SAN на основе Fibre Channel. Достаточно иметь подходящий сервер с сетевыми адаптерами, сетевое оборудование и программное обеспечение для установки iSCSI target и iSCSI initiator. При этом не нужно обучаться на дорогих курсах или приобретать весьма недешевую литературу для изучения специфичного оборудования и ПО.

Как ускорить работу iSCSI SAN?

  • Используйте выделенный коммутатор. При работе iSCSI target «в общей сети» коммутаторы, помимо доступа к СХД, вынуждены обслуживать множество конкурентных транзакций, например, между и офисными компьютерами, что снижает фактическую скорость сетевого обмена. Также выделенный коммутатор является отличной мерой безопасности (см. ниже).
  • Не используйте излишние средства безопасности. Чем больше механизмов безопасности используется, тем медленнее работает СХД в целом. Да, современные iSCSI-хранилища позволяют применять одновременно программное ограничение сетевого доступа, двунаправленную аутентификацию и шифрование IPsec. Но насколько все это необходимо в обычной ситуации? При решении простых задач достаточно просто использовать выделенный коммутатор.
  • Используйте самую быструю сеть. Однако следует помнить: самая скоростная сеть будет бесполезна, если используются другие комплектующие слабой или устаревшей конфигурации, например старенький процессор или отживший контроллер дисковой подсистемы.
  • Найдите узкое место и проведите модернизацию оборудования СХД (iSCSI target) . Не забывайте про возможности применения сетевых адаптеров со встроенными функциями поддержки iSCSI.
  • По возможности используйте Device Extent для снижения накладных расходов при работе с дисковой подсистемой iSCSI target.
  • Следите за свободным пространством. Избегайте заполнения подключаемых iSCSI-томов более чем на 75-80% от их объема во избежание деградации производительности. Помните, любая система хранения, будь то жесткий диск или SAN-хранилище, после превышения указанного предела будет работать медленнее.
  • Не создавайте очень больших дисковых томов. Большие дисковые разделы, подключаемые по сети в режиме блочного доступа, могут вызывать падение производительности из-за проблем в индексации, поиске и размещении информации на дисковом разделе. Также следует понимать, что при пропадании сети возможно появление ошибок на файловой системе подключаемых блочных ресурсов. Проверить огромный том на наличие ошибок может оказаться крайне сложной задачей.

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

Последние материалы раздела:

Десять способов дополнительной экономии на Amazon
Десять способов дополнительной экономии на Amazon

Компания Amazon создана в 1994 году американцем Джефом Безосом. Сайт Amazon.com был запущен в следующем году и изначально тут продавались только...

Revelation: ограниченная раздача промо-кодов на маунта
Revelation: ограниченная раздача промо-кодов на маунта "Лунный Олень" Revelation подарочные коды

Этот быстроногий олень одна из главных достопримечательностей Астериона. Лунный Олень будет активен в игре 7 дней после активации промо-кода....

IMac не читает флешку и не копирует (не дает скинуть)
IMac не читает флешку и не копирует (не дает скинуть)

Первое происшествие у меня как “маковода” приключилось после 4-х месяцев вполне нормальной работы за MacBook`ом … Дорогой Читатель, если у вас есть...