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-хранилищ в современной версии серверных ОС от Microsoft. Мы не будем повторяться и снова обсуждать общие вопросы, поэтому, если вы только начинаете работать с iSCSI, то настоятельно рекомендуем ознакомиться с вступительной частью к нашему предыдущему материалу.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Широкое распространение виртуализации и потребности в создании отказоустойчивых систем даже при небольших внедрениях заставили компанию Microsoft пересмотреть свое отношение к доступным из коробки ролям Windows Server и политике лицензирования. Если раньше iSCSI Target предлагался только в редакции Windows Storage Server, то начиная с Server 2008 R2 он стал доступен в виде отдельно устанавливаемого компонента, а с выходом Windows Server 2012 закономерно стал частью ОС.
Для установки роли Cервера цели iSCSI запустите Мастер добавления ролей и компонентов, затем последовательно разверните пункты Файловые службы и службы хранилища — Файловый службы и службы iSCSI и укажите одноименную роль.
Перезагрузки сервера не требуется и по завершении работы мастера можно сразу переходить к настройке сервера целей. Для этого в левом меню Диспетчера серверов выберите Файловые службы и службы хранилища и перейдите в раздел iSCSI.
Для создания нового виртуального диска щелкните соответствующую ссылку или выберите соответствующий пункт из меню Задачи, откроется Мастер создания виртуальных дисков iSCSI, который в первую очередь попросит вас указать расположение хранилища.
Помните, что производительность дисковой подсистемы хранилища должна соответствовать предполагаемым нагрузкам, также вы должны обеспечить серверу цели достаточную пропускную способность сетевых интерфейсов. Мы рекомендуем выделять для сети хранения данных (SAN) отдельную сеть, не связанную с сетью предприятия.
Следующим шагом укажите имя и размер создаваемого диска. Windows Server 2012 поддерживает новый формат виртуальных дисков — VHDX, а также динамически расширяемые диски. Если доступные ранее диски фиксированного размера резервировали дисковое пространство хранилища сразу при создании, то динамически расширяемые диски увеличивают размер согласно реально записанным в них данным. Это позволяет существенно экономить дисковое пространство хранилища, нарезая виртуальные диски с запасом.
Не рекомендуется данный тип дисков для систем с высокой дисковой активностью, так как за счет возможной фрагментации и операций по приращению размера диска производительность будет ниже, чем у дисков фиксированного размера. В тоже время динамически расширяемые диски неплохо подходят для файловых хранилищ, резервного копирования и т.п. задачам, где в первую очередь требуется хранение данных, а не скорость доступа к ним.
Еще один поддерживаемый тип дисков — разностный, когда все изменения пишутся не на исходный виртуальный диск, а на вновь созданный, к использованию в производственных средах не рекомендуется ввиду существенно более низкой производительности, но может оказаться полезным при отладке и разного рода экспериментах, когда надо иметь возможность быстро откатиться к исходному состоянию.
Созданный виртуальный диск можно назначить как уже существующей цели (таргету), так и создать новый, в этом случае просто укажите имя цели, IQN будет сформирован автоматически.
Затем потребуется указать инициаторы, которым будет разрешен доступ к этой цели. IQN инициатора можно посмотреть на клиенте, для этого откройте Панель управления — Администрирование — Инициатор iSCSI, на вопрос об автоматическом запуске службы ответьте утвердительно.
IQN ткущего инициатора можно посмотреть на закладке Конфигурация:
Но можно поступить проще, перейдите на закладку Конечные объекты и выполните Быстрое подключение к Cерверу цели, подключиться по понятным причинам не получится, но IQN инициализатора останется в кэше сервера.
Вернемся на сервер и нажав кнопку Добавить выберем IQN инициатора из кэша, для современных систем вы также можете получить IQN инициатора выполнив подключение к нему по IP-адресу или имени хоста:
На остальных шагах оставляем значения по умолчанию, после чего работа мастера будет завершена, виртуальный диск создан и назначен соответствующей цели. Теперь следует подключить созданный диск к целевой системе. Можно воспользоваться функцией быстрого подключения, тогда все диски цели будут подключены с параметрами по умолчанию, что не всегда правильно. Поэтому перейдите на закладку Обнаружение и нажмите кнопку Обнаружить портал:
Возвращаемся на закладку Конечные объекты и выполняем ручное подключение найденных дисков, при этом, нажав на кнопку Дополнительно, можно самостоятельно настроить параметры подключения, например, выбрать сетевой адаптер, обслуживающий сеть SAN.
Если вам потребуется изменить параметры подключения уже подключенного объекта, то его следует отключить и подключить заново. После выполнения всех этих действий подключенное устройство будет обнаружено системой как еще один локальный диск и последующая работа с ним ничем не отличается от работы с обычным жестким диском.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
iSCSI — это сетевой протокол для работы с системами хранения данных (СХД). Он позволяет взаимодействовать по сети с различными системами хранения данных. В упрощенном виде она состоит из следующих частей:
- iSCSI-target (таргет) — это ресурс, к которому осуществляется доступ посредством протокола iscsi
- iSCSI-initiator (инициатор) — это хост который инициирует (устанавливает) iSCSI-соединение
- IQN (iSCSI Qualified Name) — это полный уникальный идентификатор устройства iSCSI, однозначно определяющий данное устройство (есть и у таргета и у инициатора)
Такая система хранения данных может быть организована на практически любой ОС, так как строится на логическом уровне и не требует обязательного наличия специальных устройств хранения данных (дисков, дисковых контроллеров). В большинство ОС эта функция уже включена, и может быть достаточно легко активирована.
Не является исключением и ОС Windows, где компоненты iSCSI являются дополнительными компонентами системы.
Установка iSCSI-таргета.
Для создания таргета нам необходимо через мастер добавления ролей и компонентов диспетчера серверов добавить роль “Сервер цели iSCSI” из раздела “Файловые службы и службы хранилища”.
Для этого необходимо нажать комбинацию клавиш Win-R и в командную строку ввести compmgmt.msc.
Далее запустить мастер установки ролей и компонентов нажав кнопку “добавить роли и компоненты”.
Откроется страница приветствия. Можно просто нажать “Вперед”, а также поставить галочку “Пропускать эту страницу по умолчанию”, если вы не хотите постоянно видеть эту страницу при запуске мастера установки ролей и компонентов, так как эта страница чисто информационная.
После этого, ОС задаст уточняющий вопрос.Выберем установку ролей и компонентов.
Укажем на какие сервера устанавливать роли и компоненты. Выберем интересующий нас сервер и нажмем далее.
Выбираем необходимые из списка ролей сервера. Надо раскрыть Файловые службы и поставить галочку “Сервер цели iSCSI”.
Установка дополнительных компонентов — добавляем нажатием соответствующей кнопки.
После этого выбранная роль отметится галочкой и можно переходить к следующему этапу нажатием кнопки “Далее”.
Установку компонентов можно пропустить, так как они нам в данный момент не нужны, нажав кнопку далее.
После этого, предупреждение о готовности роли к установке. Нажимаем “Установить”. Можно также поставить галочку “Автоматический перезапуск конечного сервера, если требуется” чтобы не перезапускать сервер вручную. Следует иметь ввиду, что нажатие этой галочки перезапускает конечный сервер после установки без дополнительных предупреждений, поэтому используйте ее с осторожностью.
После нажатия кнопки установить запустится процесс установки, можно закрыть это окно нажатием соответствующей кнопки. Следует иметь ввиду что это действие не отменяет процесс установки, а только скрывает текущее окно.
Заходим последовательно в “Диспетчер серверов”-”Файловые службы и службы хранилища”-”Тома”-”Диски”.
Выбираем на каком томе будет храниться наш таргет и в контекстном меню пустого тома выбираем “Создать виртуальный диск iSCSI”.
На первой странице еще раз определяем том на котором будет храниться таргет.
Задаем имя и по желанию описание нашего диска и жмем далее.
Вводим размер диска и определяем как будет выделяться под него пространство — сразу или динамически. Доступный размер под iSCSI-диск показан в самом верху.
Определяем создавать ли новый таргет или присоединить диск к существующему (если они есть).
Задаем имя и описание нового таргета.
Выбираем инициаторы которым можно подключаться к данному таргету (может быть переопределено) посредством кнопки “добавить”. Можно добавить инициаторы через поиск, выбрать из кеша, если ранее инициаторы уже подключались или задать вручную через IQN, DNS-имя, ip или mac-адрес. Как минимум один инициатор должен быть задан. Введем например IQN вручную.
Нам стала доступна кнопка далее.
Можно включить дополнительную проверку подлинности если это необходимо (например таргет публикуется в сети интернет).
На последнем шаге выводится сводная информация по таргету. Проверяем и нажимаем “Создать”.
Начнется процесс создания таргета.
После этого можно подключаться к данному таргету инициатором, заданным на этапе создания.
На этом настройка хранилища iSCSI на Windows Server 2012R2 окончена. В нашей базе знаний вы найдёте ещё множество статей посвящённых различным аспектам работы в Windows, а если вы ищете надежный виртуальный сервер под управлением Windows, обратите внимания на нашу услугу — Аренда виртуального сервера Windows.
ISCSI is a standard protocol which help us to share the storage over the the Ethernet.Server 2012 has inbuild feature for create iscsi server.This guide include all the steps of configuring iscsi storage.
1. We need to add ISCSI role from the server manager.
Open server manager > Select «Add Roles and Features»
Select «Role-based or feature based installation»
Select the server
Expand the «File server» Select «File Server,iSCI Target Server,iSCI Target Storage Provider»,Click on
«Next»
Click on «Close»
We can verify the installation on server manager(«File and storage services»)
Select the «Server»
Now we have to create iSCSI disk for sharing,Click on «iSCSI»
Open «Tasks» menu and select «New iSCSI Virtual Disk»
We can select the location by partition or we can give the custom path, in this example we are using D:\SAN as iSCSI disk path
We have to give the name for iSCSI disk
We can assign the capacity for iSCSI disk
Select «New iSCSI target» and click on «Next»
Assign a name for ISCSI target.This is only for identification purposes
Select the method of identifying the iscsi server(target).There are few options such as DNS name,IQN string or IP address.I have selected IP Address.
Select IP Address and give the server’s ip address and click «OK»
If required we can give a passowrds for access this iSCSI target
Click on «Next»
Click on «Close»
Go to the remote server/pc where we want to mount this disk.Press «Windows» button type iscsi
Then select iSCSI initiator and confirm for start the service.
Give the iSCSI server’s ip and click on «Quick Connect»
Click on «Done»
Verify the disk on using disk management
It should be simple to configure iSCSI on Windows Server 2012 R2 right? While it is not rocket science and really not that difficult at all to configure, it’s also not as intuitive as I think it should be. Therefore I decided to create this post on how to configure iSCSI for a Windows Server 2012 R2 Hyper-V cluster using an HP MSA 1040 as the shared storage device.
Equipment
Shared Storage: HP MSA 1040 (4 NICS)
Servers: Quantity of 2 Hyper-V Hosts (each host has 6 NICS)
Network switches: Quantity of 2 network switches (for redundancy)
Operating System: Windows Server 2012 R2
Storage Network: Each Hyper-V host has two NICS dedicated for the storage (1 NIC cabled to MSA Controller A and 1 NIC cabled to MSA Controller B)
Configure HP MSA 1040 Storage Network
The first thing you must do is configure the storage network. This involves configuring the HP MSA 1040. This post will not cover all the aspects involved in configuring the MSA 1040. The screen shots below are just demonstrating the IP configuration so as to better understand how it ties to configuring iSCSI in this environment.
Log into your MSA 1040 shared storage device
The MSA 1040 comes with dual controllers with two NICS on each controller for a total of four network interface cards (NICs). The first thing you will do when you are ready to configure the MSA 1040 is to run the Configuration Wizard. At some point in the configuration wizard you will be asked to assign IP addresses to the MSA NICs. Please consider configuring a separate “private” IP scheme for the storage network. The storage network should always be isolated from your internal network so that the storage traffic doesn’t interfere with your normal network traffic. Normally, your internal network will reside in the 10.0.0.0 network. You will need to VLAN the ports on your network switch in order to do this. That is beyond the scope of this post. In the example below, you’ll notice that the four NICS were configured as such:
MSA Controller A Port 1 (A1) – 192.168.9.7
MSA Controller B Port 1 (B1) – 192.168.9.8
MSA Controller A Port 2 (A2) – 192.168.9.9
MSA Controller B Port 2 (B2) – 192.168.9.10
From a cabling standpoint, on MSA Controller A, we have cabled port A1 to Network Switch 1 and port A2 to Network Switch 2 for redundancy. We’ve done the same for MSA Controller B. On MSA Controller B, we have cabled port B1 to Network Switch 1 and port B2 to Network Switch 2. We have a total of four different paths going through two network switches for maximum resiliency. We can lose a controller AND a network switch and still maintain connectivity to the storage.
Configure Hyper-V Host Storage Network
As stated in the Equipment section at the beginning of this post, each Hyper-V host server has 6 NICs. We are using 2 of those NICs on each host for the storage network. We are also teaming the two storage NICs. Of course, the storage network on the Hyper-V host must reside on the same network as the MSA 1040 storage network. In our example, that is the 192.168.9.0 network. See the example in the figure below. We have configured the storage network for both Hyper-V hosts as such:
Hyper-V Host 1 (MSA Storage Team) – 192.168.9.3
Hyper-V Host 2 (MSA Storage Team) – 192.168.9.4
Configure MPIO on Hyper-V Host/s
Before you continue, you must add the MPIO (Multi-Patch I/O) which is built into the Windows Server 2012 R2 operating system. To do this, just open Server Manager on each Hyper-V host and select Manage, then Roles and Features. Complete the Add Roles and Features wizard to install the MPIO feature to your Hyper-V Host/s. After the MPIO feature is installed, configure MPIO by opening Server Manager, Tools, then MPIO. Select the Discover Multi-Paths tab, check the Add support for iSCSI devices and select OK. This will require a REBOOT of the Hyper-V Host server.
Configure iSCSI Initiator on Hyper-V Host/s
Now it is time to configure the iSCSI Initiator on the Hyper-V host server. To do this, from Server Manager select Tools, then iSCSI Initiator.
On the Targets tab, enter in one of the IP addresses you assigned to the MSA 1040 NICs in Configure HP MSA 1040 Storage Network section at the beginning of this blog post. In the example below, we used the first IP address of 192.168.9.7 and selected Quick Connect. It will discover the iSCSI target and display it in the Discovered Targets box and the status will state “Connected” (see image below).
Once the target is discovered, select Properties for the connected iSCSI target. You will notice the image below. What are we seeing here? Each Identifier represents a NIC or path on the MSA 1040 storage. Remember, in our configuration, we have 4 NIC’s on the HP MSA 1040 (2 on MSA controller A and 2 on MSA Controller B). You must add each Identifier manually by selecting Add Session.
Once you’ve selected Add Session, you will be presented with the Connect to Target screen below. Make sure you check the boxes below, especially the Enable multi-path checkbox and select Advanced.
In the Advanced Settings, for the Local adapter select Microsoft iSCSI Initiator from the drop-down menu. For the Initiator IP, select the Hyper-V Host 1 MSA Storage Team (192.168.9.3 in this example). You configured this in the Configure Hyper-V Host Storage Network section earlier in this blog post. For the Target portal IP, select the first IP address of the MSA 1040 storage (192.168.9.7 in this example). You configured this in the Configure HP MSA 1040 Storage Network section earlier in this blog post.
* You will need to do this for all 4 NICs/paths on each Hyper-V Host.
At this point you are pretty much done if you are OK with all the default settings. However, if you choose to customize the configuration each of the devices you just added above, select Devices from the iSCSI Initiator Properties screen (below).
On the Devices screen, you will notice all the disks or LUNS associated with the devices (sessions) you added. So what are we looking at? Notice the GREEN highlighted areas in the image below for Disk 1 and Disk 2. Don’t worry about LUN 0. Since our example included 4 NICs or paths on the MSA 1040 storage device, you will have 4 disks or LUNS for each device. In the example below, you don’t see the 4th device because you would need to scroll down. So why are there two disks associated with each device (Disk 1 and Disk 2)? The reason for this is because before we configured MPIO and iSCSI on the Hyper-V host, we presented two disks/LUNS from the MSA 1040 storage unit to the Hyper-V host server. We presented a Quorum LUN and a Data LUN. This is not relative to the iSCSI configuration but I thought it was important to understand what you are viewing in the image below.
To configure the MPIO Policy for each disk/LUN, select the disk, then select MPIO. You can configure the MPIO Policy several different ways. The default is Round Robin With Subset. This is what we used in our configuration example.
If you selected the Details for each Path ID, you’d notice that each one with have a different Target Portal IP address (one for each NIC on the MSA 1040).
I wanted to give props to the post below. It definitely helped me wrap my head around the process. Thanks mate!
http://cscmblog.blogspot.com/2012/11/windows-2012-how-to-configure-multi_13.html