Бездисковая загрузка по технологии iSCSI на базе ОС Windows. Бездисковая загрузка по технологии iSCSI на базе ОС Windows Альтернативный метод установки ОС Windows

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Теги:

Please enable JavaScript to view the

Настройка iSCSI хранилища в Windows Server 2012

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

Подключение

Возвращаемся на SRV3, открываем окно свойств инициатора, переходим на вкладку 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 диска в 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. Выберите тип файловой системы и метку тома.


Автор: Paul Cobbaut
Дата публикации: 12 марта 2015 г.
Перевод: A. Панин
Дата перевода: 30 марта 2015 г.

Глава 12. Устройства iSCSI

По прочтении данной главы вы научитесь настраивать сервер, являющийся целевым сервером iSCSI (iSCSI target), и клиент, являющийся инициатором iSCSI (iSCSI initiator).

12.1. Терминология iSCSI

iSCSI является протоколом, который позволяет передавать команды SCSI посредством протокола IP. Это означает, что вы можете использовать локальные файлы устройств SCSI (такие, как /dev/sdb) в условиях отсутствия представленных ими дисковых накопителей в локальном компьютере.

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

Компьютер-клиент iSCSI, который взаимодействует с целевым сервером называется инициатором (iSCSI Initiator). Инициатор отправляет команды SCSI по протоколу IP вместо непосредственного взаимодействия с аппаратным устройством. Инициатор должен соединяться с целевым сервером посредством сети.

12.2. Целевой сервер iSCSI в дистрибутиве RHEL/CentOS

В данном разделе описана методика настройки целевого сервера iSCSI в дистрибутивах RHEL6, RHEL7 и CentOS.

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

Yum install scsi-target-utils

В данном примере в файле /etc/tgt/targets.conf указаны пути к файлам устройств, представляющим три локальных диска, которым должны быть присвоены номера LUN.

direct-store /dev/sdb direct-store /dev/sdc direct-store /dev/sdd incominguser paul hunter2

Перезапуск службы:

# service tgtd start Starting SCSI target daemon: [ OK ]

Стандартным локальным портом целевого сервера iSCSI должен являться порт номер 3260, причем при необходимости вы можете удостовериться в этом с помощью утилиты netstat .

# netstat -ntpl | grep tgt tcp 0 0 0.0.0.0:3260 0.0.0.0:* LISTEN 1670/tgtd tcp 0 0:::3260:::* LISTEN 1670/tgtd

Теперь при использовании команды tgt-admin -s вы можете получить подробную информацию об устройствах с тремя номерам LUN (а также о контроллере с номером LUN 0).

# tgt-admin -s Target 1: iqn.2014-04.be.linux-training:server1.target1 System information: Driver: iscsi State: ready I_T nexus information: LUN information: LUN: 0 Type: controller SCSI ID: IET 00010000 SCSI SN: beaf10 Size: 0 MB, Block size: 1 Online: Yes Removable media: No Prevent removal: No Readonly: No Backing store type: null Backing store path: None Backing store flags: LUN: 1 Type: disk SCSI ID: IET 00010001 SCSI SN: VB9f23197b-af6cfb60 Size: 1074 MB, Block size: 512 Online: Yes Removable media: No Prevent removal: No Readonly: No Backing store type: rdwr Backing store path: /dev/sdb Backing store flags: LUN: 2 Type: disk SCSI ID: IET 00010002 SCSI SN: VB8f554351-a1410828 Size: 1074 MB, Block size: 512 Online: Yes Removable media: No Prevent removal: No Readonly: No Backing store type: rdwr Backing store path: /dev/sdc Backing store flags: LUN: 3 Type: disk SCSI ID: IET 00010003 SCSI SN: VB1035d2f0-7ae90b49 Size: 1074 MB, Block size: 512 Online: Yes Removable media: No Prevent removal: No Readonly: No Backing store type: rdwr Backing store path: /dev/sdd Backing store flags: Account information: ACL information: ALL

12.3. Инициатор iSCSI в дистрибутиве RHEL/CentOS

В данном разделе описана методика настройки инициатора iSCSI в дистрибутивах RHEL6, RHEL7 и CentOS.

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

# yum install iscsi-initiator-utils

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

# iscsiadm -m discovery -t sendtargets -p 192.168.1.95:3260 Starting iscsid: [ OK ] 192.168.1.95:3260,1 iqn.2014-04.be.linux-training:centos65.target1

Мы получили информацию о целевом сервере с идентификатором iqn.2014-04.be.linux-training:centos65.target1 .

Используем этот идентификатор iqn для указания имени пользователя и пароля (paul и hunter2 соответственно), которые были ранее установлены нами на целевом сервере.

# iscsiadm -m node --targetname iqn.2014-04.be.linux-tra\ ining:centos65.target1 --portal "192.168.1.95:3260" --op=update --name node.\ session.auth.username --value=paul # iscsiadm -m node --targetname iqn.2014-04.be.linux-tra\ ining:centos65.target1 --portal "192.168.1.95:3260" --op=update --name node.\ session.auth.password --value=hunter2 # iscsiadm -m node --targetname iqn.2014-04.be.linux-tra\ ining:centos65.target1 --portal "192.168.1.95:3260" --op=update --name node.\ session.auth.authmethod --value=CHAP

В дистрибутивах RHEL и CentOS эта информация хранится в файлах из директории /var/lib/iscsi/nodes/ .

# grep auth /var/lib/iscsi/nodes/iqn.2014-04.be.linux-tr\ aining\:centos65.target1/192.168.1.95\,3260\,1/default node.session.auth.authmethod = CHAP node.session.auth.username = paul node.session.auth.password = hunter2 node.conn.timeo.auth_timeout = 45 #

После перезапуска службы iscsi в нашей системе появятся три новых устройства.

# fdisk -l | grep Disk Disk /dev/sda: 42.9 GB, 42949672960 bytes Disk identifier: 0x0004f229 Disk /dev/sdb: 1073 MB, 1073741824 bytes Disk identifier: 0x00000000 Disk /dev/sdc: 1073 MB, 1073741824 bytes Disk identifier: 0x00000000 Disk /dev/sdd: 1073 MB, 1073741824 bytes Disk identifier: 0x00000000 Disk /dev/sde: 2147 MB, 2147483648 bytes Disk identifier: 0x00000000 Disk /dev/sdf: 2147 MB, 2147483648 bytes Disk identifier: 0x00000000 Disk /dev/sdg: 2147 MB, 2147483648 bytes Disk identifier: 0x00000000 Disk /dev/mapper/VolGroup-lv_root: 41.4 GB, 41448112128 bytes Disk identifier: 0x00000000 Disk /dev/mapper/VolGroup-lv_swap: 973 MB, 973078528 bytes Disk identifier: 0x00000000 # service iscsi restart Stopping iscsi: [ OK ] Starting iscsi: [ OK ] # fdisk -l | grep Disk Disk /dev/sda: 42.9 GB, 42949672960 bytes Disk identifier: 0x0004f229 Disk /dev/sdb: 1073 MB, 1073741824 bytes Disk identifier: 0x00000000 Disk /dev/sdc: 1073 MB, 1073741824 bytes Disk identifier: 0x00000000 Disk /dev/sdd: 1073 MB, 1073741824 bytes Disk identifier: 0x00000000 Disk /dev/sde: 2147 MB, 2147483648 bytes Disk identifier: 0x00000000 Disk /dev/sdf: 2147 MB, 2147483648 bytes Disk identifier: 0x00000000 Disk /dev/sdg: 2147 MB, 2147483648 bytes Disk identifier: 0x00000000 Disk /dev/mapper/VolGroup-lv_root: 41.4 GB, 41448112128 bytes Disk identifier: 0x00000000 Disk /dev/mapper/VolGroup-lv_swap: 973 MB, 973078528 bytes Disk identifier: 0x00000000 Disk /dev/sdh: 1073 MB, 1073741824 bytes Disk identifier: 0x00000000 Disk /dev/sdi: 1073 MB, 1073741824 bytes Disk identifier: 0x00000000 Disk /dev/sdj: 1073 MB, 1073741824 bytes Disk identifier: 0x00000000

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

Service iscsi status

12.4. Целевой сервер iSCSI в дистрибутиве Debian

Процесс подготовки программного обеспечения для целевого сервера в дистрибутивах Ubuntu и Debian заключается в установке пакета программного обеспечения iscsitarget в обоих дистрибутивах, а также в установке дополнительного пакета программного обеспечения iscsitarget-dkms для сборки модулей ядра ОС исключительно в дистрибутиве Debian.

Root@debby6:~# aptitude install iscsitarget Следующие НОВЫЕ пакеты будут установлены: iscsitarget 0 пакетов обновлено, 1 установлено новых, 0 пакетов отмечено для удаления, и 0 пакетов не обновлено. Необходимо получить 69.4 kB архивов. После распаковки 262 kB будет занято. Получить: 1 http://ftp.belnet.be/debian/ squeeze/main iscsitarget i386 1.4.20.2-1\ Получено 69.4 kБ in 0с (415 kБ/с) Выбор ранее не выбранного пакета iscsitarget. (Чтение базы данных... на данный момент установлено 36441 файлов и каталогов.) Распаковывается iscsitarget (from .../iscsitarget_1.4.20.2-1_i386.deb) ... Обрабатываются триггеры для man-db ... Настраивается пакет iscsitarget (1.4.20.2-1) ... iscsitarget not enabled in "/etc/default/iscsitarget", not starting...(warning).

При работе с дистрибутивом Debian 6 вам также придется выполнить команду aptitude install iscsitarget-dkms для установки программных компонентов, предназначенных для сборки модулей ядра ОС. В случае дистрибутива Debian 5 аналогичная команда будет выглядеть следующим образом: aptitude install iscsitarget-modules-`uname -a` . В дистрибутиве Ubuntu все необходимые модули ядра ОС включены в состав основного пакета программного обеспечения.

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

Root@debby6:~# cat /etc/default/iscsitarget ISCSITARGET_ENABLE=false root@debby6:~# vi /etc/default/iscsitarget root@debby6:~# cat /etc/default/iscsitarget ISCSITARGET_ENABLE=true

12.5. Использование технологии iSCSI для доступа к файлам, созданным с помощью утилиты dd

Вы можете использовать тома LVM (/dev/md0/lvol0), физические разделы дисков (/dev/sda), устройства RAID (/dev/md0), а также обычные файлы в качестве источников данных. В данном примере мы будем использовать файлы, созданные с помощью утилиты dd .

Ниже показана методика создания трех файлов небольших размеров (100 МБ, 200 МБ и 300 МБ).

Root@debby6:~# mkdir /iscsi root@debby6:~# dd if=/dev/zero of=/iscsi/lun1.img bs=1M count=100 100+0 записей получено 100+0 записей отправлено скопировано 104857600 байт (105 MB), 0.315825 c, 332 MB/c root@debby6:~# dd if=/dev/zero of=/iscsi/lun2.img bs=1M count=200 200+0 записей получено 200+0 записей отправлено скопировано 209715200 байт (210 MB), 1.08342 c, 194 MB/c root@debby6:~# dd if=/dev/zero of=/iscsi/lun3.img bs=1M count=300 300+0 записей получено 300+0 записей отправлено скопировано 314572800 байт (315 MB), 1.36209 c, 231 MB/c

Мы должны объявить эти три файла источниками данных для целевого сервера iSCSI в файле /etc/iet/ietd.conf (в некоторых случаях расположенном по пути /etc/ietd.conf).

Root@debby6:/etc/iet# cp ietd.conf ietd.conf.original root@debby6:/etc/iet# > ietd.conf root@debby6:/etc/iet# vi ietd.conf root@debby6:/etc/iet# cat ietd.conf Target iqn.2010-02.be.linux-training:storage.lun1 IncomingUser isuser hunter2 OutgoingUser Lun 0 Path=/iscsi/lun1.img,Type=fileio Alias LUN1 Target iqn.2010-02.be.linux-training:storage.lun2 IncomingUser isuser hunter2 OutgoingUser Lun 0 Path=/iscsi/lun2.img,Type=fileio Alias LUN2 Target iqn.2010-02.be.linux-training:storage.lun3 IncomingUser isuser hunter2 OutgoingUser Lun 0 Path=/iscsi/lun3.img,Type=fileio Alias LUN3

Нам также необходимо добавить информацию о наших устройствах в файл /etc/initiators.allow .

Root@debby6:/etc/iet# cp initiators.allow initiators.allow.original root@debby6:/etc/iet# >initiators.allow root@debby6:/etc/iet# vi initiators.allow root@debby6:/etc/iet# cat initiators.allow iqn.2010-02.be.linux-training:storage.lun1 iqn.2010-02.be.linux-training:storage.lun2 iqn.2010-02.be.linux-training:storage.lun3

Самое время запустить настроенный сервер:

Root@debby6:/etc/iet# /etc/init.d/iscsitarget start Starting iSCSI enterprise target service:. . root@debby6:/etc/iet#

Для проверки корректности активации устройств для хранения данных можно прочитать содержимое файлов из директории /proc/net/iet:

Root@debby6:/etc/iet# cat /proc/net/iet/volume tid:3 name:iqn.2010-02.be.linux-training:storage.lun3 lun:0 state:0 iotype:fileio iomode:wt blocks:614400 blocksize:\ 512 path:/iscsi/lun3.img tid:2 name:iqn.2010-02.be.linux-training:storage.lun2 lun:0 state:0 iotype:fileio iomode:wt blocks:409600 blocksize:\ 512 path:/iscsi/lun2.img tid:1 name:iqn.2010-02.be.linux-training:storage.lun1 lun:0 state:0 iotype:fileio iomode:wt blocks:204800 blocksize:\ 512 path:/iscsi/lun1.img root@debby6:/etc/iet# cat /proc/net/iet/session tid:3 name:iqn.2010-02.be.linux-training:storage.lun3 tid:2 name:iqn.2010-02.be.linux-training:storage.lun2 tid:1 name:iqn.2010-02.be.linux-training:storage.lun1

12.6. Инициатор iSCSI в дистрибутиве Ubuntu

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

Root@ubu1104:~# aptitude install open-iscsi Чтение списков пакетов... Построение дерева зависимостей... Чтение информации о состоянии... Чтение информации о расширенных состояниях... Инициализация состояний пакетов... Следующие НОВЫЕ пакеты будут установлены: open-iscsi open-iscsi-utils{a}

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

Root@ubu1104:/etc/iscsi# cp iscsid.conf iscsid.conf.original root@ubu1104:/etc/iscsi# vi iscsid.conf root@ubu1104:/etc/iscsi# grep ^node.startup iscsid.conf node.startup = automatic

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

Root@ubu1104:/etc/iscsi/nodes# /etc/init.d/open-iscsi start * Starting iSCSI initiator service iscsid [ OK ] * Setting up iSCSI targets [ OK ] root@ubu1104:/etc/iscsi/nodes#

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

root@ubu1104:/etc/iscsi# iscsiadm -m discovery -t st -p 192.168.1.31

192.168.1.31:3260,1 iqn.2010-02.be.linux-training:storage.lun2

192.168.1.31:3260,1 iqn.2010-02.be.linux-training:storage.lun1

192.168.1.31:3260,1 iqn.2010-02.be.linux-training:storage.lun3

Эта же утилита iscsiadm может использоваться и для редактирования файлов из директории /etc/iscsi/nodes/ .

Root@ubu1104:/etc/iscsi# iscsiadm -m node --targetname "iqn.2010-02.be.linu\ x-training:storage.lun1" --portal "192.168.1.31:3260" --op=update --name no\ de.session.auth.authmethod --value=CHAP root@ubu1104:/etc/iscsi# iscsiadm -m node --targetname "iqn.2010-02.be.linu\ x-training:storage.lun1" --portal "192.168.1.31:3260" --op=update --name no\ de.session.auth.username --value=isuser root@ubu1104:/etc/iscsi# iscsiadm -m node --targetname "iqn.2010-02.be.linu\ x-training:storage.lun1" --portal "192.168.1.31:3260" --op=update --name no\ de.session.auth.password --value=hunter2

Описанные выше действия следует повторить и для двух других устройств.

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

Root@ubu1104:/etc/iscsi/nodes# /etc/init.d/open-iscsi restart * Disconnecting iSCSI targets [ OK ] * Stopping iSCSI initiator service [ OK ] * Starting iSCSI initiator service iscsid [ OK ] * Setting up iSCSI targets

Используйте команду fdisk -i для получения информации о трех новых устройствах iSCSI.

Root@ubu1104:/etc/iscsi/nodes# fdisk -l 2> /dev/null | grep Disk Disk /dev/sda: 17.2 GB, 17179869184 bytes Disk identifier: 0x0001983f Disk /dev/sdb: 209 MB, 209715200 bytes Disk identifier: 0x00000000 Disk /dev/sdd: 314 MB, 314572800 bytes Disk identifier: 0x00000000 Disk /dev/sdc: 104 MB, 104857600 bytes Disk identifier: 0x00000000

После этого на стороне целевого сервера может быть получена информация об активных сессиях.

Root@debby6:/etc/iet# cat /proc/net/iet/session tid:3 name:iqn.2010-02.be.linux-training:storage.lun3 sid:5348024611832320 initiator:iqn.1993-08.org.debian:01:8983ed2d770 cid:0 ip:192.168.1.35 state:active hd:none dd:none tid:2 name:iqn.2010-02.be.linux-training:storage.lun2 sid:4785074624856576 initiator:iqn.1993-08.org.debian:01:8983ed2d770 cid:0 ip:192.168.1.35 state:active hd:none dd:none tid:1 name:iqn.2010-02.be.linux-training:storage.lun1 sid:5066549618344448 initiator:iqn.1993-08.org.debian:01:8983ed2d770 cid:0 ip:192.168.1.35 state:active hd:none dd:none root@debby6:/etc/iet#

12.7. Использование устройств iSCSI

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

Root@ubu1104:/etc/iscsi/nodes# history | tail -13 94 fdisk /dev/sdc 95 fdisk /dev/sdd 96 fdisk /dev/sdb 97 mke2fs /dev/sdb1 98 mke2fs -j /dev/sdc1 99 mkfs.ext4 /dev/sdd1 100 mkdir /mnt/is1 101 mkdir /mnt/is2 102 mkdir /mnt/is3 103 mount /dev/sdb1 /mnt/is1 104 mount /dev/sdc1 /mnt/is2 105 mount /dev/sdd1 /mnt/is3 106 history | tail -13 root@ubu1104:/etc/iscsi/nodes# mount | grep is /dev/sdb1 on /mnt/is1 type ext2 (rw) /dev/sdc1 on /mnt/is2 type ext3 (rw) /dev/sdd1 on /mnt/is3 type ext4 (rw)

12.8. Практическое задание: устройства iSCSI

12.9. Корректная процедура выполнения практического задания: устройства iSCSI

1. Настройте целевые серверы (используя устройства LVM и SCSI в качестве источников данных) и инициатор, который будет соединяться с обоими серверами.

Данная методика применима в случае работы с дистрибутивами Debian/Ubuntu/Mint. Для ознакомления с нюансами, которые могут возникнуть в случае работы с дистрибутивами RHEL/CentOS, следует обратиться к разделам с теоретической информацией.

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

Действия, которые должны быть выполнены на компьютере, выполняющем роль целевого сервера:

В первую очередь с помощью стандартных инструментов вашего дистрибутива для установки программного обеспечения следует установить пакет программного обеспечения iscsitarget. После этого вы должны использовать знания, полученные в ходе чтения предыдущей главы, для настройки логического тома (/dev/vg/lvol0), а также главы, посвященной технологии RAID, для настройки устройства RAID, которое будет представлено файлом устройства /dev/md0. Далее вы должны выполнить следующую команду для модификации файла конфигурации:

Vi /etc/default/iscsitarget (Установите значение true для параметра enable)

Добавьте информацию о ваших устройствах в файл конфигурации /etc/iet/ietf.conf:

Root@debby6:/etc/iet# cat ietd.conf Target iqn.2010-02.be.linux-training:storage.lun1 IncomingUser isuser hunter2 OutgoingUser Lun 0 Path=/dev/vg/lvol0,Type=fileio Alias LUN1 Target iqn.2010-02.be.linux-training:storage.lun2 IncomingUser isuser hunter2 OutgoingUser Lun 0 Path=/dev/md0,Type=fileio Alias LUN2

Добавьте идентификаторы обоих устройств в файл конфигурации /etc/iet/initiators.allow:

Root@debby6:/etc/iet# cat initiators.allow iqn.2010-02.be.linux-training:storage.lun1 iqn.2010-02.be.linux-training:storage.lun2

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

Установите пакет программного обеспечения open-iscsi и запустите соответствующий демон.

После этого используйте команду iscsiadm -m discovery -t st "целевой-ip" для получения информации об устройствах iSCSI на целевом сервере.

Отредактируйте файлы из директории /etc/iscsi/nodes/ таким образом, как было описано в разделах теоретической части главы. После этого перезапустите демон iSCSI и выполните команду fdisk -i для получения информации об используемых устройствах 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).

КАТЕГОРИИ

ПОПУЛЯРНЫЕ СТАТЬИ

© 2024 «minomin.ru» — Сайт о компьютерах, и работе в интернете