Подключение и настройка iSCSI в Windows Server. Теория и практика iSCSI Подключение iscsi windows 7

В Дата-центрах мира, сети хранения данных (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 устройство подключается до того, как система продолжит загрузку!

Продолжая тему полезного использования старого серверного оборудования, на этот раз поговорим об использовании сервера модели IBM System x3200 4362 в качестве сетевого хранилища, доступного по протоколу iSCSI в качестве iSCSI Target . В мы уже рассматривали такой сервер в роли хранилища резервных копий виртуальных машин с программной дедупликацией от Quadstor . Однако в нашем случае ситуация усугубилась тем, что на некоторых удалённых площадках, где была развёрнута , виртуальные машины, подвергавшиеся резервному копированию, со временем получили дополнительный диск под хранение контента для точки распространения SCCM . А, как известно, содержимое дисков, которые используются под распространение контента в SCCM может временами очень активно меняться (загружаются новые обновления , удаляются просроченные обновления, загружается какое-либо ПО для развёртывания и т.п.). Поэтому, учитывая то обстоятельство, что используемое ПО Veeam Backup Free Edition не позволяет исключать из резервной копии виртуальных машины отдельные виртуальные диски, принадлежащие этой ВМ, пришлось решать вопрос об увеличении дискового пространства на этих самых серверах IBM. Параллельно встал вопрос о полезности дедупликации, которая в случае часто меняющееся контента теряет свой КПД.

"Вишенкой на торте" в описанной ситуации стало то, что в сервере, который используется в нашем случае в качестве iSCSI Target (из реализации Quadstor), очень скромная дисковая корзина – всего 4 слота SAS/SATA форм-фактора 3.5", два из которых заняты под хостовую ОС Linux.

Здесь мы рассмотрим один из возможных вариантов решения совокупности описанных проблем и ограничений, который заключается в замене полноценной инсталляции ОС Linux на загружаемый с USB-накопителя и работающий в оперативной памяти специализированный Linux-дистрибутив проекта Enterprise Storage OS (ESOS ). По своей сути ESOS это оптимизированное под работу в ОЗУ современное Linux-ядро с интегрированным ПО проекта , пример использования которого, мы уже .

Общий план мероприятий будет выглядеть так:

  • Убираем из дисковой корзины диски малой ёмкости, на которых установлена хостовая ОС, и ставим на это место диски большей ёмкости (все диски в корзине станут одинаковой ёмкости)
  • На уровне аппаратного RAID-контроллера определяем каждый из четырёх дисков, подключённых к дисковой корзине, как самостоятельное устройство.
  • Подготавливаем загрузочный USB-накопитель с ESOS
  • Загружаем сервер с ESOS и создаём программный RAID-массив из всех дисков корзины.
  • Конфигурируем в ESOS iSCSI Target и подключаем диск на стороне сервера iSCSI Initiator
  • Настраиваем дополнительное сетевое подключение между серверами и включаем Multipath
Конфигурация серверов

В нашем примере будет рассмотрено построение простейшей конфигурации с использование iSCSI из двух серверов, один из которых выполняет роль цели iSCSI Target на базе ESOS v 1.3.5 , а другой выполняет роль хоста-инициатора iSCSI Initiator на базе Windows Server 2012 R2 . Для улучшения доступности и производительности между целью и хостом-инициатором будет организовано многопутевое подключение (multi-path ). Для отделения трафика iSCSI от трафика управления серверами в каждый сервер установлен дополнительный двух-портовый сетевой адаптер.

1 ) Сервер под роль iSCSI Target (KOM-AD01-ESOS01 )

Сервер модели IBM System x3200 4362 с дисковой корзиной на 4 диска LFF HDD SAS/SATA и дополнительно установленным сетевым адаптером HP NC380T PCI Express Dual Port Multifunction Gigabit Server Adapter (394795-B21). На этом сервере будет выполняться загружаемая с USB-накопителя система ESOS. Все 4 диска из дисковой корзины сервера будут использованы в ESOS для организации программного RAID-массива, который в свою очередь будет презентован на хост-инициатор.

2 ) Сервер под роль iSCSI Initiator (KOM-AD01-VM01 )

Сервер модели HP ProLiant DL380 G5 , выполняющий роль хоста виртуализации Hyper-V на базе ОС Windows Server 2012 R2 Standard . Помимо базовой комплектации в сервер дополнительно установлен сетевой адаптер HP NC380T PCI Express Dual Port Multifunction Gigabit Server Adapter (394795-B21). Подключаемый к данному серверу с сервера ESOS по протоколу iSCSI диск будет использоваться под задачи резервного копирования виртуальных машин Hyper-V.

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

Конфигурация RAID-контроллера на сервере IBM

Безотносительно используемой в нашем случае модели сервера и RAID-контроллера, можно сказать, что использование дистрибутива ESOS, не требующего для своей работы выделенного диска, в любой дисковой конфигурации позволит использовать под полезный дисковый объём все ресурсы дисковой корзины. В некоторых ситуациях этот аргумент может иметь существенное значение.

В нашем примере в дисковую корзину установлено 4 одинаковых диска SATA 7200 1TB.

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

Некоторые RAID-контроллеры, например HP Smart Array, не позволяют транслировать подключённые диски, как самостоятельные дисковые устройства. В таких случаях потребуется создать отдельный том RAID-0 для каждого отдельно взятого диска. В нашем случае всё проще, так как установленный в нашем сервере контроллер LSI Logic SAS1064ET довольно примитивен и показывает все диски, как отдельные устройства, если эти диски не включены в аппаратный RAID-массив.

Подготовка загрузочного USB-накопителя ESOS

Загружаем последнюю актуальную версию ESOS стабильной ветки (branch 1.x.x) со страницы проекта ESOS - Package Downloads . На этой же странице можно найти описание других веток ESOS (master – разрабатываемая и 0.1.x - устаревшая).

В процессе написания этой статьи использовалась версия 1.3.5 (25.01.2018 ), доступная по ссылке esos-1.3.5.zip . К моменту публикации мне уже удалось поработать с более новой версией 1.3.6 (12.04.2018).

Так как ESOS, это ориентированная на ОЗУ система, запускаться она будет с подключаемого через обычный USB-порт внешнего накопителя. То есть нам потребуется USB-накопитель размером от 4GB и более. Если Вы планируете использовать ветку master branch, то для успешного обновления между версиями, согласно рекомендаций документа Upgrading , на USB-накопителе может потребоваться до 5GB дополнительного пространства. В нашем случае для ESOS успешно использовались накопители разной степени "подвальности" размером от 8GB и больше.

Учётные данные, используемые по умолчанию:

  • Имя пользователя: root
  • Пароль: esos

При входе в систему автоматически запускается специальная оболочка Text-based User Interface (TUI ), максимально упрощающая работу с системой. В верхней области TUI имеется основное функциональное меню, которое позволяет выполнять все основные задачи по конфигурации сервера в качестве хранилища для сетей SAN.

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

Переходим в пункты меню System > Change Password и задаём новый пароль для пользователя root .

Затем перейдём в System > Network Settings и выберем пункт настройки основных параметров сети General Network Settings

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

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

Снова вернёмся в System > Network Settings , выберем сетевой адаптер, который будет использоваться для удалённого управления ESOS и настроим параметры IP. В нашем примере используется статическая конфигурация и интерфейсу управления ESOS задан IP адрес 10.1.2.201/24 . Маску сети и адрес широковещания, как я понял, указывать обязательно, иначе при сохранении настроек могут возникать ошибки.

После сохранения сделанных изменений мы снова получим вопрос о перезагрузке сети. Теперь на этот вопрос ответим утвердительно.

Сеть будет перезапущена и, в случае успешного применения заданных настроек, у нас появится возможность удалённого подключения к ESOS по протоколу SSH.

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

В интерфейсе TUI ESOS есть две цветовых схемы – стандартная светлая, выдержанная в голубых и бирюзовых тонах, что на скриншотах выше, и альтернативная - тёмная, выдержанная в лучших традициях "подземелья со свечкой". Ни тот ни другой вариант, на мой взгляд, удачными не являются, так как при удалённом подключении к консоли сервера при пониженной цветопередаче (например при подключении через функцию ), в некоторых местах TUI наблюдается эффект сливающегося с фоном текста. А если подключаться к TUI ESOS SSH-клиентом PuTTy с Windows-системы, то стандартные цветовые схемы вообще превращаются, на мой взгляд, во что-то "кислотное".

Так как работать с ESOS мы будем в основном конечно же с использованием удалённого SSH подключения, то, в частности, для клиента PuTTy есть простое решение – использование настраиваемых цветовых схем на стороне SSH-клиента на любой вкус и цвет. Примеры такой настройки мы рассматривали ранее в заметке . Далее, для работы с ESOS через SSH мы будем использовать схему PuTTy – Twilight .

Создание программного RAID-массива в ESOS

Завершив первичную базовую настройку ESOS, переходим к конфигурации дисковой системы сервера. Выполним создание программного RAID-массива (реализовано на базе Linux Software RAID /mdraid ) из 4 имеющихся в нашем распоряжении дисков. Для этого перейдём в меню Software RAID > Add Array

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

Выбрав диски нажмём Enter . Откроется экран настройки RAID-массива. Присвоим массиву имя в традициях mdraid , например md0 . Выберем уровень RAID (в нашем случае это RAID5) и размер блока. В нашем случае массив собирается под задачи резервного копирования больших файлов дисков виртуальных машин, поэтому размер блока мы выбрали самый большой.

После нажатия кнопки OK будет запущена процедура инициализации RAID-массива. Переходим в меню навигации в Software RAID > Linux MD Status и проверяем статус созданного RAID-массива.

Здесь мы можем дождаться полного завершения построения RAID-массива, либо можно продолжить настройку нашего сервера, так как фактически дисковая ёмкость массива нам уже доступна.

Конфигурация iSCSI Target

Чтобы созданную нами дисковую ёмкость RAID-массива можно было презентовать на хост виртуализации по сети по протоколу iSCSI, на сервере ESOS нужно создать iSCSI Target . Для этого а меню навигации перейдём в Targets > Add iSCSI Target . В форме создания цели укажем имя iSCSI Qualified Name (IQN ).

В нашем случае использовано предлагаемое по умолчанию имя в формате iqn.2018-03.esos.<имя сервера>: .Единственное, что я изменил в имени – убрал двоеточие в конце имени.

После сохранения информация о цели iSCSI Target появится на главном экране ESOS, но данная цель будет находится в выключенном состоянии.

Чтобы активировать цель, перейдём в меню навигации в Targets > Enable /Disable Target , из списка целей выберем только что созданную нами цель и поменяем в её свойствах Disabled на Enabled .

Убедимся в том, что на главном экране TUI информация о состоянии цели изменилась.

Из перечня режимов трансляции устройств, описание которых можно найти в документе 36_Devices_and_Mappings - SCST I/O Modes , выбираем интересующий нас режим. В нашем примере используется режим vdisk_blockio , который обеспечивает прямой доступ к блочным устройствам и исключает использование промежуточных механизмов кеширования Linux.

После выбора режима откроется окно выбора возможных для этого режима блочных устройств. Выбираем наш RAID-массив.

После этого откроется форма настройки параметров SCST для виртуального блочного устройства vdisk_blockio . Укажем любое короткое и понятное нам имя устройства. Это имя будет в дальнейшем отображаться на стороне хоста виртуализации, выполняющего роль iSCSI Initiator, в диспетчере устройств. Поэтому в качестве имени я использовал сокращённое имя хоста и RAID-устройства - ESOS01-MD0 . Остальные параметры можно оставить в значениях по умолчанию.

Сохраняем настройки виртуального блочного устройства и переходим к описанию хостов, которым разрешено подключаться к созданной нами цели iSCSI Target. Но прежде чем описать хосты, необходимо создать группу хостов. Переходим в меню Hosts > Add Group

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

Задаём любое имя группы хостов, например Group1 , и жмём Enter

Итак, группа хостов создана и привязана к цели iSCSI Target. Теперь нам нужно описать каждый хост, который будет выступать в качестве iSCSI Initiator с назначением этого хоста на созданную группу хостов. В нашем случае такой хост будет всего один – наш хост виртуализации Hyper-V на базе ОС Windows Server 2012 R2 .

Прежде чем добавить в ESOS хост-инициатор, выясним его имя Initiator Name на нашем хосте виртуализации. Найти (и при желании изменить) это имя можно в Панели управления Windows Server, вызвав апплет iSCSI Initiator и открыв вкладку Configuration

Как видим, в нашем случае имя хоста-инициатора - iqn.1991-05.com.microsoft:kom-ad01-vm01.holding.com .

Возвращаемся в TUI ESOS и добавляем хост-инициатор в меню Hosts > Add Initiator

При этом нас спросят к какой цели SCST Target относится добавляемый хост. Выбираем единственную ранее созданную и включённую нами цель.

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

И наконец вводим IQN хоста-инициатора, которое мы выяснили ранее, и жмём Enter

Итак, на данном этапе в ESOS мы уже имеем созданную цель SCST (в нашем случае iSCSI Target), имеем виртуальное блочное устройство SCST (транслируется программный RAID-массив), нами описана группа хостов и к этой группе привязан хост-инициатор (iSCSI Initiator). Теперь нам только остаётся примапить виртуальное блочное устройство SCST к группе хостов. Для этого переходим в меню навигации в Devices > Map to Host Group .

Выбираем виртуальное блочное устройство SCST.

Выбираем цель SCST.

Выбираем группу хостов, в которую был включен хост-инициатор.

Далее откроется форма настройки LUN -а, который будет транслироваться в сеть. Укажем номер LUN-а (по умолчанию первому транслируемому LUN-у присваивается номер 0 ) и сохраним настройки, нажав ОК .

Посмотреть итоговую конфигурацию трансляции виртуальных устройств SCST можем перейдя в меню Devices > LUN /Group Layout

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

Для этого настроим на стороне сервера ESOS и на стороне клиента iSCSI Initiator отдельные сетевые интерфейсы с IP-адресацией отличной от адресации, используемой для управления серверами. Например, в нашем случае для управления серверами используется сеть 10.1.2.0/24 , поэтому для отделения трафика iSCSI мы используем небольшую выделенную подсеть на 6 хостов - 192.168.168.0/29 (на уровне сетевого оборудования дополнительно можно изолировать данную сеть в отдельный VLAN).

Сначала настроим выделенный под iSCSI сетевой интерфейс на стороне сервера ESOS, перейдя в меню навигации в System > Network Settings и выбрав соответствующий сетевой адаптер.

Зададим на этом интерфейсе статический IP-адрес 192.168.168.1/29 , укажем маску подсети, адрес широковещания и увеличенный размер MTU – 9000 (технология Jumbo Frame должна поддерживаться сетевым адаптером) для улучшения производительности при передаче больших объёмов данных.

При сохранении настроек на вопрос о перезагрузке сети ответим утвердительно (все сетевые соединения с ESOS будут временно потеряны).

По завершению процедуры перезагрузки сети мы получим сводную информацию о статусе применения новых настроек

Теперь переходим к настройке на стороне хоста-инициатора.

Конфигурация iSCSI Initiator

На стороне нашего хоста виртуализации на базе Windows Server, на который мы будем принимать по протоколу iSCSI дисковую ёмкость с сервера ESOS, настроим выделенный сетевой адаптер для использования в работе с протоколом iSCSI.

Отключим все, кроме того что может потребоваться нам на этом выделенном интерфейсе при работе с iSCSI. Например, оставим только поддержку протокола TCP /IPv4 и QoS .

Выбрав протокол TCP /IPv4 по кнопке Properties зададим IP-адрес из сети, которую мы определили под трафик iSCSI, например 192.168.168.3/29 . Адрес шлюза по умолчанию и DNS-серверов оставляем пустыми. Откроем расширенные настройки кнопкой Advanced .

На вкладке DNS отключим включённую по умолчанию опцию регистрации в DNS, а на вкладке WINS отключим поддержку LMHOST и NetBIOS over TCP /IP .

Вернёмся на основную вкладку свойств сетевого интерфейса и вызовем диалог настройки параметров сетевого адаптера по кнопке Configure .

В открывшейся форме на вкладке расширенных настроек Advanced найдём опцию поддержки больших пакетов Jumbo Packet и выберем максимально возможное значение (в нашем примере это 9014 ). На вкладке Power Management отключим возможность отключения системой данного сетевого адаптера в режимах энергосбережения – Allow the computer to turn off this device to save mode .

Закроем все окна с сохранением кнопкой ОК .

Теперь проверим доступность сервера ESOS через выделенный сетевой интерфейс. Сначала утилитой tracert , чтобы убедиться в том, что маршрутизация трафика идёт между серверами напрямую.

tracert -d 192.168.168.1

Затем с помощью утилиты ping , включив флаг запрета фрагментации (опция -f ) и указав размер передаваемых пакетов (опция -l )

ping 192.168.168.1 -f -l 8000

В случае если где-то, например на коммутаторе, к которому подключены серверы ESOS и наш хост-инициатор, не включена поддержка Jumbo Frame , мы можем получить сообщения "Packet needs to be fragmented but DF set. " В нашем случае проверка прошла успешно, поэтому можно переходить к процедуре подключения iSCSI диска.

Перейдём в Панель управления Windows Server, вызовем апплет iSCSI Initiator и открыв вкладку Discovery нажмём кнопку Discover Portal . В окне настроек обнаружения укажем IP адрес сервера ESOS из сети для трафика iSCSI и нажмём кнопку Advanced .

В форме расширенных настроек обнаружения в качестве локального адаптера выберем Microsoft iSCSI Initiator и настроенный ранее IP адрес из сети для трафика iSCSI – 192.168.168.3 . Сохраним настройки, нажимая OK до тех пор, пока не вернёмся в главное окно апплета.

После этого перейдём на вкладку Targets , где в разделе Discovered targets должен появится ранее упомянутый IQN нашего сервера ESOS со статусом Inactive . То есть система его обнаружила, но он пока не подключен. Для того, чтобы произвести подключение к iSCSI Target воспользуемся кнопкой Connect .

В открывшемся окне подключения обратим внимание на то, чтобы был включен признак добавления подключаемой цели в список избранных целей - Add this connection to the list of Favorite Targets (для последующего автоматического подключения к цели в случае перезагрузки сервера). Нажмём кнопку Advanced .

В форме расширенных настроек подключения явно укажем сетевые интерфейсы из сети для трафика iSCSI, которые должны быть задействованы для передачи iSCSI трафика для данного сессионного подключения. То есть в качестве Initiator IP выберем из списка адрес выделенного на нашем хосте iSCSI-интерфейса 192.168.168.3 , а в качестве Target portal IP выберем из списка адрес выделенного на сервере ESOS iSCSI-интерфейса - 192.168.168.1 .

Закроем с сохранением окна Advanced Settings и Connect to Target и удостоверимся в том, что статус подключения изменился на Connected

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

Убедимся в том, что в консоли управления “Диспетчер устройств”/Device Manager (devmgmt.msc ) в разделе Disk drives появился дополнительный SCSI-диск с именем, которое ранее мы определяли на сервере ESOS для виртуального блочного устройства SCST.

Следующим шагом нам нужно выполнить инициализацию подключенного по протоколу iSCSI диска. Для этого перейдём в консоль управления дисками Disk Management (diskmgmt.msc ), выберем соответствующий диск и переведём его в состояние Online .

После того как диск успешно изменит свой статус, проведём инициализацию диска и отформатируем его “по вкусу”, например в файловую систему NTFS, задав любую понятную нам метку тома. С этого момента в графическом интерфейсе Windows данный диск станет нам доступен для стандартных файловых операций.

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

На этом основную настройку простейшей конфигурацией iSCSI можно считать законченной.

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

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

Полагаться на цифры, которые при копировании больших файлов с локального диска сервера на iSCSI диск показывает нам проводник Windows особо не стоит, так как объективной информации мы там не увидим. Например, в моём случае при копировании нескольких больших ISO-файлов (с разным содержимым) скорость обозначилась в районе 150-160 MB/s, что отличается в большую строну от реальной допустимой скорости iSCSI-линка между двумя моими серверами в 1Gbit/s (~ 125MB/s). К тому же более или менее похожая на правду скорость отображается при копировании первого файла, а при копировании последующих файлов она несколько увеличивается (возможно включается в работу кеш файловой системы и прочие другие кеши разных уровней).

Для разного рода замеров всегда хочется использовать какие-то “родные” инструменты, не требующие установки дополнительного ПО, но к сожалению это далеко не всегда возможно. В клиентских системах Windows для оценки производительности разных подсистем, в том числе и дисковой, используется утилита WinSAT (winsat disk ), однако в составе Windows Server 2012 R2 этой утилиты я не обнаружил. Поэтому
я скопировал с имеющейся по рукой клиентской ОС Windows 10 x64 два файла - WinSAT.exe и WinSATAPI.dll из каталога %windir%\System32 в аналогичный каталог сервера. Теперь можно попробовать воспользоваться этой утилитой, запустив её из командной строки с правами администратора.

winsat disk -drive T -count 3

Здесь после ключевого слова disk в опции –drive указывается имя буквы диска, который мы желаем протестировать, а в опции –count указывается количество циклов тестирования.

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

Ещё одним простым инструментом является утилита Diskspd (DiskSpd: A Robust Storage Performance Tool ), пришедшая на замену утилите SQLIO Disk Subsystem Benchmark Tool (SQLIO) . Скачиваем утилиту, распаковываем на сервере и запускаем с набором параметров, отвечающим контексту нашей задачи.

cd /d C:\Tools\Diskspd-v2.0.17\amd64fre\ Diskspd.exe -d60 -b1M -s -w100 -t1 -c100G T:\io1.dat T:\io2.dat

Используемые нами параметры означают:
-d60: Время выполнения теста 60 секунд
-b1M: Оперировать блоками по 1MB
-s: Выполнять операции с последовательным доступом
-w100: Выполнять полный тест на запись (тест на чтение не выполняется)
-t1: Количество потоков работы с целью (с файлом T:\io.dat)
-c100G: Создавать файлы размером 100GB
В конце перечислены имена генерируемых для теста файлов.

Немного отклоняясь, отмечу, что на момент написания статьи для задачи резервного копирования виртуальных машин Hyper-V у нас используется ПО Veeam Backup & Replication , поэтому при выборе размера блока для проведения тестов я буду отталкиваться от специфики этого ПО. Как я понял из документа Data Compression and Deduplication , VBR в операциях резервного копирования на SAN использует блоки по 1024MB, поэму именно такой размер блока мы и будем использовать при тестировании.

Для сравнения проведём ещё раз тест с тем же набором условий, но увеличим его продолжительность до 5 минут

Здесь хорошо видно, что при длительной нагрузке показатели заметно проседают. Могу предположить, что связано это с тем что “бутылочное горлышко” в этом случае перемещается из области сетевой подсистемы в область медленных дисков, используемых у нас на стороне сервера ESOS.

Для любителей графических инструментов для проведения подобных поверхностных тестов производительности дисковой подсистемы на Windows может пригодиться ещё одна простая бесплатная утилита ATTO Disk Benchmark . Загрузить её можно по ссылке: Disk Benchmark . Интерфейс утилиты прост и понятен и комментировать по ней, пожалуй, нечего.

О каких-то более сложных инструментах тестирования, как например IOMeter , я не говорю, так как в рамках нашей задачи нет цели заниматься бенчмарками как таковыми. А показатели простых инструментов получаются лишь для того, чтобы иметь базу для сравнения в дальнейшем, когда между сервером ESOS и хостом Hyper-V у нас будет не один линк, как на данном этапе настройки, а два линка и задействованный механизм Multipath.

Настройка Multipath

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

Начнём с настройки сервера ESOS. В главном меню навигации перейдём в System > Network Settings , выберем дополнительный сетевой адаптер, который будет использоваться для ещё одного подключения по протоколу iSCSI и настроим параметры IP. В нашем примере используется статическая конфигурация и дополнительному iSCSI-интерфейсу ESOS задан IP адрес 192.168.168.2/29 , а также дополнительно увеличен размер MTU .

Сохраняем настройки сети в ESOS и переходим к настройке дополнительного сетевого адаптера на стороне хоста-инициатора, то есть нашего сервера на базе Windows Server с iSCSI Initiator.

Настраиваем по аналогии с первым второй iSCSI-интерфейс, задав ему IP 192.168.168.4/29

Отключим ранее настроенный интерфейс c адресом 192.168.168.3 (iSCSI диск при этом у нас отвалится) и убедимся в том, что дополнительно настроенные iSCSI-интерфейсы сервера ESOS и хоста-инициатора видят друг друга.

В апплете Панели управления iSCSI Initiator на вкладке Discovery добавим дополнительный путь обнаружения, указав связку 192.168.168.2 - 192.168.168.4

Так как ранее мы создали iSCSI подключение к цели без включённого признака multi-path , то теперь нам будет правильней деактивировать это подключение и создать его заново, но уже с включенным признаком multi-path .

Сначала удалим созданное ранее подключение из автозагрузки на вкладке Favorite Targets

Теперь перейдём на вкладку Targets и выполним отключение (инициализированный и подключенный в системе iSCSI диск при этом исчезнет из Windows)

Затем выполним повторное подключение цели iSCSI, но на этот раз уже с включённой опцией Enable multi-path (и не забываем по кнопке Advanced произвести явную связку интерфейсов 192.168.168.1 - 192.168.168.3 )

Убедившись в том, что цель снова перешла в состояние Connected откроем её свойства, чтобы добавить второе подключение по дополнительному выделенному интерфейсу

На вкладке Targets зайдём по кнопке Properties в свойства подключенной цели, и воспользуемся кнопкой Add session , чтобы настроить второе подключение.

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

Итак, используя кнопку Add session добавим дополнительное подключение к iSCSI Target указав в качестве интерфейсов дополнительную пару интерфейсов, которую мы настроили ранее (192.168.168.2 - 192.168.168.4 )

Теперь в списке сессий должна появиться запись о второй сессии.

Также созданную дополнительную сессию мы увидим и на стороне сервер ESOS.

На стороне хоста-инициатора заглянем в оснастку “Диспетчер устройств”/Device Manager (devmgmt.msc ) и убедимся в том, что в разделе Disk drives появился дополнительный SCSI-диск с тем же именем (ESOS01-MD0 ).

То есть сейчас, на стороне Windows-сервера мы фактически видим один и тот же диск, как два отдельных устройства. Чтобы система смогла работать с этим диском, как с единым устройством, используя оба сетевых линка iSCSI до сервера ESOS, нам потребуется включить поддержку MPIO для iSCSI . Для этого переходим в Панель управления Windows, открываем апплет MPIO и на вкладке Discover Multi-Paths включаем опцию Add support for iSCSI devices . После этого нажимаем кнопку Add и утвердительно отвечаем на вопрос о перезагрузке сервера.

После перезагрузки снова заглянем в консоль Device Manager и убедимся в том, что теперь наш iSCSI диск отображается, как единое устройство и имеет имени …Multi-Path Disk Device . Откроем свойства диска и на вкладке MPIO проверим то, что диск доступен по двум путям.

Более подробную информацию о маршрутах подключения можем увидеть в апплете панели управления iSCSI Initiator .

Здесь по кнопке MPIO мы увидим информацию об используемых подключениях.

На этом базовую настройку Multipath можно считать законченной.

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

Diskspd.exe -d60 -b1M -s -w100 -t1 -c100G T:\io1.dat T:\io2.dat

Судя по тому, что нам показывает Diskspd в данном случае, в среднем в каждый из файлов запись прошла со скоростью ~225MB/s, что равно 1800Mb/s. То есть в итоге мы получаем скорость приближенную к суммарной пропускной способности двух организованных линков iSCSI.

Тот же тест, но более продолжительный по времени (5 минут):

Diskspd.exe -d300 -b1M -s -w100 -t1 -c100G T:\io1.dat T:\io2.dat

Средняя величина в ~48.5 MB/s, полученная при работе с каждым файлом, выглядит ощутимо лучше, чем полученные ранее 16 MB/s на одном линке iSCSI.

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

Горячая замена USB-накопителя ESOS

Учитывая то, что собирая бюджетное решение, описанное в рамках нашего примера, мы могли использовать дешёвые USB-накопители, в некоторых случаях может возникнуть потребность в замене этого накопителя (например при его выходе из строя). Учитывая то, что ESOS это Linux-система полностью адаптированная к работе в оперативной памяти, замена USB-накопителя является очень простой операцией, корректная обработка которой реализована разработчиком этой системы.

Фактически выполняется замена накопителя в несколько простых действий:

  • На уже загруженной и работающей системе ESOS в любой момент времени извлекаем USB-накопитель (накопитель, который нужно заменить), с которого эта система была загружена.
  • Подготавливаем новый USB-накопитель с ESOS стандартным методом, описанным выше в разделе “Подготовка загрузочного USB-накопителя ESOS”, и устанавливаем этот накопитель в работающий сервер ESOS.
  • Вызываем процедуру синхронизации работающей в оперативной памяти конфигурации ESOS с файловой системой на USB-накопителе. Пункт меню System > Sync Configuration

После этого желательно перезагрузить сервер и убедиться в том, что с нового USB-накопителя система запускается успешно. В процессе первой загрузки с заменённого USB-накопителя ESOS выполнит некоторые служебные процедуры и уже буквально через несколько минут сервер будет готов к работе, подгрузив ранее настроенную нами конфигурацию.

Судя по описанию документа 13_Upgrading , точно таким же нехитрым образом выполняется обновление сервера ESOS на более новую версию, что существенно облегчает обслуживание такой системы.

Заключение

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

Инструментарий для построения сетей хранения данных сам по себе достаточно обширный. Однако некоторые стандарты и технологии снискали большую популярность. Вслед за 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 позволяет быстро подключить систему хранения данных в качестве устройств блочного доступа. Однако при дальнейшем развитии ИТ-инфраструктуры необходимы определенные финансовые и технические ресурсы для обеспечения надежности и приемлемой скорости передачи данных.

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 позволит существенно (и совершенно бесплатно) повысить их производительность.

Пишу в первую очередь для себя, но если кому то будет полезным тоже хорошо.
Задача, организовать теневое копирование на файлообменном сервере, объем раздела 1Тб. Для создания теневых копий, необходим еще один раздел минимум в 1Тб, но это нужно выискивать средства, покупать жесткие диски в стойку, в общем не быстро, а нужно уже вчера. Есть сетевое хранилище Netgear ReadyNAS с RAID-5 на борту и кучей свободного места. Нюанс лишь в том, что в для создания теневых копий нужен именно локальный том, а не сетевой диск. И тут нам на помощь приходит iSCSI , что это такое я описывать не буду, кому надо прочитают в википедии , да и кому надо думаю и так знают, что это. В двух словах протокол позволяет сетевой диск сделать локальным томом.
Итак для начала, заходим в админку ReadyNAS и на вкладке iSCSI жмем Создать новый LUN


Стоит обратить внимание на параметр Предоставление вариант Thick - толстый, выделит сразу весь объем для LUN, вариант Thin - тонкий, будет выделять по мере заполнения. Первый вариант быстрее, второй удобнее, но решать вам.
После того как мы создали LUN, на той же вкладке жмем Создать новую группу . Задаем имя группы и целевой ресурс.

Небольшее отступление

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

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

Чтобы узнать имя целевого ресурса, переместимся на сервер к которому ходим подключить диск. Далее Панель управления - Инициатор iSCSI . В появившемся окне переходим на вкладку Конфигурация и копируем от туда имя инициатора.

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

В поле пароль вводим пароль, по которому будет авторизоваться Инициатор iSCSI . Жмем создать и устанавливаем галку разрешить .
Снова возвращаемся к серверу-инициатору, переходим на вкладку Обнаружение , жмем обнаружить портал, в появившемся поле записываем адрес нашего ReadyNAS.

В том же окне(где вводим адрес), жмем Дополнительно на вкладке Общие вводим Имя из предыдущего шага и Секрет - это пароль из предыдущего шага.

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

Нажимаем там Автонастройка и наш LUN добавляется в качестве локального тома. Все можно переходить в Управление дисками и настраивать его как Вам угодно.


Top