Какой сетевой порт использует технология iscsi. Теория и практика iSCSI. Sun стала в оппозицию к ІP Storage

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

Internet Small Computer System Interface (iSCSI) - это протокол передачи данных, предназначенный для обмена данными между серверами и системами хранения данных (Storage Area Network, SAN). iSCSI представляет из себя комбинацию протокола SCSI и стека протоколов TCP/IP и предназначен для передачи блоков данных через сети Ethernet. Управляющие команды SCSI передаются внутри IP-пакетов, а протокол TCP обеспечивает управление потоком и надежность передачи данных.

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

Технология iSCSI была разработана как более дешевая альтернатива Fibre Channel (FC). Системы на базе iSCSI поддерживают стандартные протоколы и могут быть построены на базе любой существующей сетевой инфраструктуры, поддерживающей протокол IP. Для работы iSCSI может использовать самые обычные сетевые устройства (коммутаторы, маршрутизаторы, сетевые адаптеры и т.п), тогда как для FC требуются специальные HBA-адаптеры, оптические кабеля и прочее дорогостоящее оборудование.

Архитектура iSCSI является клиент-серверной и включает в себя следующие компоненты:

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

iSCSI Target - серверный компонент, слушающий клиентские запросы и обеспечивающий установку соединения между клиентом и сервером iSCSI. Кроме того, таргет связан с виртуальными дисками iSCSI, и после установки соединения все виртуальные диски, связанные с этим таргетом, становятся доступны через инициатор. В качестве iSCSI Target может выступать как специализированная СХД, так и обычный Windows сервер с установленной ролью iSCSI Target.

Виртуальные диски iSCSI - используются для разбиения дискового пространства на логические разделы (Logical Unit Number, LUN). В Windows Server 2012 iSCSI LUN представляют из себя обычные виртуальные диски формата VHD\VHDX. Кстати, в Windows Server 2012 для iSCSI поддерживался только формат VHD, что ставило ограничение в 2ТБ на максимальный размер LUN. В Windows Server 2012 R2 используется формат VHDX, что позволяет создавать LUN-ы размером до 64ТБ.

А теперь остановимся и уточним некоторые моменты:

На каждом iSCSI сервере может быть один или несколько iSCSI Target;
Каждый iSCSI Target может быть подключен к одному или нескольким виртуальным дискам;
Каждый iSCSI Target может обслуживать одно или несколько подключений от iSCSI Initiator;
В свою очередь, каждый iSCSI Initiator может подключаться к одному или нескольким iSCSI Target и, следовательно, к одному или нескольким виртуальным дискам.

Кроме того, в Windows Server 2012 поддерживается loopback-конфигурация, в которой и Target и Initiator могут находиться на одном и том же сервере.

В операционных системах Microsoft поддержка iSCSI появилась довольно давно. Первая версия Microsoft iSCSI Initiator устанавливалась в качестве отдельного компонента в Windows 2000, Windows XP SP2 и Windows Server 2003 SP1, а начиная с Windows Server 2008 и Vista iSCSI Initiator был встроен в операционную систему.

Что касается iSCSI Target, то изначально он входил в специальную версию серверной ОС Windows Data Storage Server 2003, которая была предназначена для построения систем хранения и поставлялась только в предустановленом виде. Однако с 2011 года компонент Microsoft iSCSI Software Target 3.3 стал доступен для загрузки и установки на Windows Server 2008R2, а в Windows Server 2012 он полностью интегрирован в систему и устанавливается в качестве роли сервера.

На этом закончим теоретическую часть и приступим к практике. Для настройки возьмем самый простой вариант, в качестве подопытных используем два сервера с установленной Windows Server 2012 R2: SRV2 для роли iSCSI Target и SRV3 для iSCSI Initiator.

Запуск службы iSCSI Initiator

Для начала проверим состояние службы инициатора на SRV3. Для этого открываем Server Manager и в меню «Tools» выбираем пункт «iSCSI Initiator».

Как видите, по умолчанию служба не запущена. Нажав на «Yes» в диалоговом окне, мы стартуем службу iSCSI Initiator и поставим ее в режим автоматического запуска.

Затем в окне свойств переходим на вкладку «Configuration» и запоминаем значение IQN, оно пригодится нам при настройке сервера.

IQN (iSCSI qualified name) - это уникальный идентификатор, назначаемый для каждого iSCSI Target и Initiator. IQN формируется из даты (месяц и год) регистрации домена, официального имени домена, написанного в обратном порядке и любого произвольного имени, например имени сервера. Получается примерно так: iqn:1991-05.com.microsoft:srv3.contoso.com

Стартовать сервис iSCSI Initiator и установить режим его запуска можно и из консоли PowerShell, следующими командами:

Start-Service msiscsi
Set-Service msiscsi -StartupType automatic

Установка роли iSCSI Target Server

Теперь перейдем на SRV2 и приступим к настройке серверной части. Первое, что нам надо сделать - это установить на сервер роль iSCSI Target. Открываем Server Manager, переходим по ссылке «Add roles and features»

И выбираем роль «iSCSI Target Server», которая находится в разделе File and Storage Services\File and iSCSI Services.

Либо воспользуемся командой PowerShell:

Install-WindowsFeature -Name FS-iSCSITarget-Server

Подготовка диска

Теперь подготовим физический диск, который будет использоваться для хранения виртуальных iSCSI дисков. Специально для этой цели к серверу подключен новый жесткий диск размером 120Гб. На данный момент диск неактивен (Offline). Для его активации в Server Manager переходим в раздел File and Storage Services -> Disks, кликаем на диске и переводим его в Online.

Теперь на этом диске надо создать новый раздел (или том), для чего в контекстном меню выбираем пункт New Volume.

Выбираем физический диск, на котором будет создаваться том

указываем размер тома

и выбираем букву диска.

Затем выбираем для диска файловую систему, размер сектора и указываем метку тома. Здесь напомню, что виртуальные диски iSCSI можно создавать только на томах NTFS, новая файловая система ReFS (Resilient File System) не поддерживается.

Смотрим суммарную информацию, и если все правильно, то жмем «Create», запуская создание тома.

Те же действия можно проделать с помощью PowerShell. Находим нужный диск:

Get-Disk | where {$_.OperationalStatus -eq ″Offline″}

Переводим его в online:

Set-Disk -Number 1 -IsOffline $false

Инициализируем:

Initialize-Disk -Number 1

Создаем раздел:

New-Partition -DiskNumber 1 -UseMaximumSize -DriveLetter D

И форматируем его в NTFS:

Format-Volume -DriveLetter D -FileSystem NTFS -NewFileSystemLabel ″iSCSI Storage″

Создание виртуальных дисков iSCSI

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

Выбираем том, на котором будет храниться виртуальный диск.

Даем диску имя и описание.

Указываем размер виртуального диска и его тип. Выбирать можно из трех вариантов:

Fixed size (фиксированного размера) - создаваемый диск сразу занимает весь выделенный объем. Это наиболее производительный, но наименее экономичный вариант;
Dynamically expanding (динамически расширяемый) - изначально создается диск минимального размера, который затем динамически изменяется в зависимости от количества записанных на него данных. Наилучший вариант в плане использования дискового пространства;
Differencing (разностный) - в этом варианте нужно указать расположение родительского диска, с которым будет связан создаваемый диск. Разностный диск может быть как фиксированным, так и динамическим, в зависимости от типа родителя. У этого типа дисков есть свои преимущества, но использовать их для iSCSI лично я особого смысла не вижу.

Теперь нужно указать iSCSI Target, к которому будет подключен данный диск. Поскольку на сервере не создано ни одного таргета, выбираем «New iSCSI target».

Даем таргету имя и описание.

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

При выборе серверов можно воспользоваться двумя способами. Если инициатор находится на Windows Server 2012 или Windows 8, то можно просто нажать «Browse» и выбрать нужный сервер из списка. Для более старых систем надо вручную ввести идентификатор сервера. В качестве идентификатора можно указать IQN инициатора, DNS имя или IP-адрес сервера, либо MAC-адрес сетевого адаптера.

Идем дальше. На следующей странице можно настроить аутентификацию по протоколу CHAP между серверами. CHAP (Challenge Handshake Authentication Protocol) - это протокол для проверки подлинности партнера по подключению, основанный на использовании общего пароля или секрета. Для iSCSI можно задействовать как одностороннюю, так и двухстороннюю (reverse) проверку подлинности CHAP.

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

Попробуем сделать все то же с помощью PowerShell. Создадим еще один виртуальный iSCSI диск на 20ГБ командой:

New-IscsiVirtualDisk -Path D:\iSCSIVirtualDisks\iSCSI2.vhdx

Обратите внимание, что по умолчанию создается динамический диск, для создания VHD фиксированного размера надо воспользоваться ключом -UseFixed .

Теперь создаем второй iSCSI Target c именем iscsi-target-2 и в качестве сервера доступа укажем IQN SRV3:

New-IscsiServerTarget -TargetName iscsi-target-2 -InitiatorIds ″IQN:iqn.1991-05.com.microsoft:srv3.contoso.com″

И проверим результат командой:

Get-IscsiServerTarget | fl TargetName, LunMappings

Подключение

Возвращаемся на SRV2, открываем окно свойств инициатора, переходим на вкладку Discovery и жмем кнопку Discover Portal.

Вводим имя или IP-адрес портала и жмем ОК.

По умолчанию iSCSI использует все доступные IP-адреса, и если вы хотите, чтобы трафик iSCSI шел только через определенный сетевой интерфейс, то надо перейти в расширенные настройки и в поле «Connect using» указать нужный IP.

Теперь переходим на вкладку Targets, где должны отобразиться все доступные для подключения iSCSI Target. Выбираем нужный таргет и жмем «Connect».

Не забудьте отметить чекбокс «Add this connection to the list of Favorite Targets», который обеспечивает автоматическое подключение к таргету при выключении или перезагрузке машины.

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

То же самое можно выполнить с помощью PowerShell. Выводим список доступных таргетов:

Get-IscsiTarget | fl

И подключаемся к нужному:

Connect-IscsiTarget -NodeAddress ″iqn.1995-05.com.microsoft:srv2-iscsi-target-2-target″ -IsPersistent $true

Ключ -IsPersistent $true обеспечивает автоматическое подключение при выключении или перезагрузке.

Ну и для отключения можно воспользоваться командой Disconnect-IscsiTarge, вот так:

Disconnect-IscsiTarget -NodeAddress ″iqn.1995-05.com.microsoft:srv2-iscsi-target-2-target″ -Confirm:$false

Заключение

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

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

Развертывать iSCSI желательно в быстрой сети, не ниже Gigabit Ethernet;
Сетевой трафик iSCSI рекомендуется отделить от остального трафика и вынести в отдельную сеть, например с помощью VLAN или физического разделения на подсети;
Для обеспечения высокой доступности на сетевом уровне необходимо использовать технологию MPIO, либо сеансы с несколькими подключениями (MCS). Объединение сетевых адаптеров (NIC Teaming) для подключения к устройствам хранения iSCSI не поддерживается;
При использовании технологии Storage Spaces можно хранить виртуальные диски iSCSI на Storage Spaces, но нельзя использовать LUN-ы iSCSI для создания Storage Spaces;
Для хранения виртуальных дисков iSCSI нельзя использовать общие кластерные тома CSV (Cluster Shared Volume).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Навигация по статье

Это инструкция по подключению iSCSI диска в Windows Server 2016 . При заказе услуги в SIM-Networks вы получите сообщение, подобное приведенному ниже (учтите, что значения чисел в адресе сервера могут отличаться от примера-иллюстрации, а вместо букв X,Y или Z в сообщении будут указаны реальные значения для настройки вашего доступа):

Услуга «iSCSI Backup» активирована.

Параметры доступа:

  • Адрес сервера (iscsi-target): 185.59.101.184
  • Логин: YYY
  • Пароль: ZZZ
  • Доступ к услуге на данный момент ограничен всего одним IP-адресом — XXX.XXX.XXX.XXX

Подключение диска iSCSI

1. Зайдите в «Панель Управления -> Администрирование » и запустите Инициатор iSCSI .

2. В разделе «Свойства Обнаружение » и нажмите кнопку «Обнаружить портал ».

3. В открывшемся окне заполните поле «IP адрес» сервера iSCSI.

4. Откройте раздел дополнительных параметров подключения к серверу (нажмите кнопку «Дополнительно »). Выберите значения полей «Локальный адаптер » и «IP-адрес инициатора », как на рисунке ниже (где IP-адрес инициатора — это IP вашего локального сетевого адаптера, через который разрешено подключение к серверу iSCSI).

5. Сохраните настройки, убедитесь в получении изображения, подобного приведенному ниже:

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

7. В открывшемся окне «Подключение к конечному объекту », нажмите кнопку «Дополнительно… »

8. Заполните поля раздела, как на рисунке ниже. Параметры «Имя» и «Секрет» — это «Логин» и «Пароль» из письма, отправленного вам при активации услуги.

9. Сохраните настройки. Убедитесь, что значение поля «Состояние » обнаруженного конечного объекта – «Подключено », как на рисунке ниже. Выйдите из раздела «Свойства » Инициатора iSCSI, сохранив настройки.


Инициализация и форматирование диска iSCSI

Подключенный iSCSI диск необходимо подготовить к работе (инициализировать и отформатировать).

10. В разделе «Администрирование » откройте вкладку «Управление компьютером ».

11. Перейдите в раздел «Управление дисками ».

12. Убедитесь, что ваш диск отображается, его состояние – «Вне сети ».

13. Выберите из контекстного меню пункт «В сети ».

14. Выполните инициализацию диска.

15. Проверьте, что статус диска изменился на «В сети» , но на нём отсутствуют разделы и файловая система.

16. Из контекстного меню на не размеченном диске выберите «Создать простой том ».

17. После открытия «Мастера создания простого тома » нажмите кнопку «Далее ».

18. Укажите в соответствующем поле размер раздела, или оставьте без изменений значение «по умолчанию» (если необходимо использовать весь диск под один раздел).

19. Назначьте букву диска для нового раздела.

20. Выберите тип файловой системы и метку тома.