Администрирование систем Linux. Устройства iSCSI. Подключение и настройка iSCSI в Windows Server Подключение диска по iscsi windows server

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).

iSCSI (Internet Small Computer System Interface - Малый компьютерный системный интернет интерфейс) - это протокол, который разрешает передавать SCSI команды по сети. Обычно iSCSI реализуется для сетевых дисковых массивов (Storage Area Network - SAN), чтобы позволять серверам иметь доступ к большим объемам дискового пространства. Протокол iSCSI считает клиентов инициаторами, а iSCSI сервера - целью.

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

Установка iSCSI инициатора

Для настройки сервера Ubuntu в качестве iSCSI инициатора, установите пакет open-iscsi . Введите в терминале:

Sudo apt-get install open-iscsi

Настройка iSCSI инициатора

Как только пакет open-iscsi установлен, отредактируйте /etc/iscsi/iscsid.conf, изменив следующее:

Node.startup = automatic

Вы можете определить какие целевые объекты вам доступны с помощью утилиты iscsiadm . Введите следующую команду в терминале:

Sudo iscsiadm -m discovery -t st -p 192.168.0.10

    -m : определяет режим, в котором работает iscsiadm.

    -t : определяет тип поиска.

    -p : опция, определяющая IP адрес целевого объекта.

Замените 192.168.0.10 в примере на IP адрес вашего объекта в сети.

Если целевой объект доступен, вы увидите вывод, подобный следующему:

192.168.0.10:3260,1 iqn.1992-05.com.emc:sl7b92030000520000-2

Номер iqn и Ip адрес будут сильно зависеть от вашего оборудования.

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

Sudo iscsiadm -m node --login

Убедитесь, что новый диск определяется с помощью dmesg:

Dmesg | grep sd [ 4.322384] sd 2:0:0:0: Attached scsi generic sg1 type 0 [ 4.322797] sd 2:0:0:0: 41943040 512-byte logical blocks: (21.4 GB/20.0 GiB) [ 4.322843] sd 2:0:0:0: Write Protect is off [ 4.322846] sd 2:0:0:0: Mode Sense: 03 00 00 00 [ 4.322896] sd 2:0:0:0: Cache data unavailable [ 4.322899] sd 2:0:0:0: Assuming drive cache: write through [ 4.323230] sd 2:0:0:0: Cache data unavailable [ 4.323233] sd 2:0:0:0: Assuming drive cache: write through [ 4.325312] sda: sda1 sda2 < sda5 > [ 4.325729] sd 2:0:0:0: Cache data unavailable [ 4.325732] sd 2:0:0:0: Assuming drive cache: write through [ 4.325735] sd 2:0:0:0: Attached SCSI disk [ 2486.941805] sd 4:0:0:3: Attached scsi generic sg3 type 0 [ 2486.952093] sd 4:0:0:3: 1126400000 512-byte logical blocks: (576 GB/537 GiB) [ 2486.954195] sd 4:0:0:3: Write Protect is off [ 2486.954200] sd 4:0:0:3: Mode Sense: 8f 00 00 08 [ 2486.954692] sd 4:0:0:3: Write cache: disabled, read cache: enabled, doesn"t support DPO or FUA [ 2486.960577] sdb: sdb1 [ 2486.964862] sd 4:0:0:3: Attached SCSI disk

В приведенном выводе sdb - это новый iSCSI диск. Помните, что это всего лишь пример; вывод на вашем экране может сильно отличаться.

Sudo fdisk /dev/sdb n p enter w

Команды выше выполняются внутри утилиты fdisk; смотрите man fdisk для дополнительных деталей. Также утилита cfdisk иногда более дружелюбна к пользователям.

Теперь форматируем файловую систему и монтируем ее, например, в /srv:

Sudo mkfs.ext4 /dev/sdb1 sudo mount /dev/sdb1 /srv

Наконец добавим запись в /etc/fstab для монтирования iSCSI устройства в процесе загрузки:

/dev/sdb1 /srv ext4 defaults,auto,_netdev 0 0

Хорошей идеей будет убедиться, что все работает как надо, перегрузив сервер.

Всем привет сегодня расскажу как установить ISCSI сервер в Windows Server 2008 R2. По умолчанию данная служба не идет в комплекте Windows Server 2008 R2 и скачивается отдельно как компонент. Сам ISCSI сервер, состоит из iscsi target windows, который будет выступать в роли цели к кому будет подключаться встроенный компонент Windows инициатор iscsi, и с помощью них будет производиться настройка iSCSI-хранилища.

Напомню что такое ISCSI протокол (англ. Internet Small Computer System Interface) - протокол, который базируется на TCP/IP и разработан для установления взаимодействия и управления системами хранения данных, серверами и клиентами. iSCSI описывает: Транспортный протоколдля SCSI, который работает поверх TCP. Благодаря ему вы можете создать дисковое хранилище средствами Windows и подключить его через вашу локальную сеть ethernet, скорость конечно будет зависеть больше от вашего сетевого парка, но вам не придется тратиться на дорогостоящие FC свитчи, а если у вас есть 10 и более гигабитные ISCSI свитчи то вообще все будет шикарно, так как они уже мало чем проигрывают FC, плюс их проще внедрять в существующую инфраструктуру.

Для того чтобы наш iscsi сервер работал скачаем Microsoft iSCSI Software Target 3.3 . Запускаем скачанный дистрибутив

Через browse указываем куда хотим выгрузить установочный файл

видим Microsoft iSCSI Software Target 3.3 успешно извлечен.

Переходим в директорию в которую извлекались файлы, нас будет интересовать папка x64, запускаем iscsitaget_public

откроется мастер установки жмем сразу next.

Соглашаемся с лицензионным соглашением

при желании можно изменить каталог установки

начнется установка

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

Это инструкция по подключению 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. Выберите тип файловой системы и метку тома.