Подключение к хранилищу iSCSI с помощью Azure Stack Hub

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

Вы можете найти шаблон в вилке lucidqdreams раздела Шаблоны интеллектуальных границ Azure репозитория GitHub. Шаблон находится в папке хранилище-iSCSI. Шаблон предназначен для настройки инфраструктуры, необходимой на стороне Azure Stack Hub для подключения к целевому объекту iSCSI. Сюда входит виртуальная машина, которая будет использоваться в качестве инициатора iSCSI вместе с сопутствующей виртуальной сетью, NSG, PIP и хранилищем. После развертывания шаблона необходимо выполнить два скрипта PowerShell, чтобы завершить настройку. Один сценарий будет выполняться на локальной виртуальной машине (целевой), а другой — на виртуальной машине Azure Stack Hub (инициатор). После завершения этих шагов вы получите локальное хранилище, добавленное в виртуальную машину Azure Stack Hub.

Общие сведения

На схеме показана виртуальная машина, размещенная в Azure Stack Hub с подключенным iSCSI-диском с компьютера с Windows в локальной (физической или виртуальной) среде, что позволяет подключать внешнее хранилище к Azure Stack Hub в виртуальной машине Azure Stack Hub, размещенной по протоколу iSCSI.

На схеме показана виртуальная машина, размещенная в Azure Stack Hub, с доступом к внешнему диску, подключенному к iSCSI.

Требования

  • Локальный компьютер (физический или виртуальный) под управлением Windows Server 2016 Datacenter или Windows Server 2019 Datacenter.
  • Необходимые элементы Marketplace для Azure Stack Hub:
    • Windows Server 2016 Datacenter или Windows Server 2019 Datacenter (рекомендуется последняя сборка).
    • Расширение PowerShell DSC.
    • Расширение пользовательских сценариев.
    • Виртуальный или физический компьютер. В идеале этот компьютер будет иметь два сетевых адаптера. Это также может быть другой целевой объект iSCSI, например сеть хранения данных для экземпляра.

Полезная информация

  • Группа сетевой безопасности применяется к шаблону "Подсеть". Проверьте это, и при необходимости внесите дополнительные поправки.
  • Запрещающее правило RDP применяется к NSG туннеля. Его нужно установить, чтобы разрешить вам доступ к виртуальным машинам через публичный IP-адрес.
  • Это решение не учитывает разрешение DNS для учетных записей.
  • Необходимо изменить Chapusername и Chappassword. Chappassword должен содержать от 12 до 16 символов.
  • Этот шаблон использует статический IP-адрес для виртуальной машины, так как для подключения iSCSI в конфигурации используется локальный адрес.
  • Этот шаблон использует BYOL-лицензию Windows.
  • Вы также можете подключать системы на основе Linux к целевым объектам iSCSI. Инструкции см. в статье Инициатор iSCSI в документации по Ubuntu.

Варианты

  • С помощью параметров_artifactsLocation и _artifactsLocationSasToken вы можете использовать собственную учетную запись хранилища BLOB-объектов и маркер SAS (возможность использовать собственный большой двоичный объект хранилища с маркером SAS).
  • Шаблон предоставляет значения по умолчанию для именования и IP-адресации виртуальной сети.
  • В этой конфигурации имеется только один сетевой адаптер iSCSI, поступающий от клиента iSCSI. Мы тестировали ряд конфигураций для использования отдельных подсетей и сетевых адаптеров, но тем не менее столкнулись с проблемами, связанными с несколькими шлюзами. Мы пытаемся создать отдельную подсеть хранилища, чтобы изолировать трафик и действительно гарантировать надежность.
  • Следите за тем, чтобы эти значения оставались в допустимых подсетях и диапазонах адресов, так как развертывание может завершиться ошибкой.
  • Основная цель пакетов DSC PowerShell — проверка наличия ожидающих перезагрузок. При необходимости эту DSC можно настроить дополнительно. Дополнительные сведения см. в разделе omputerManagementDsc.

Шаблон группы ресурсов (клиент iSCSI)

На схеме показаны ресурсы, развернутые из шаблона для создания клиента iSCSI, который можно использовать для подключения к целевому объекту iSCSI. Этот шаблон будет развертывать виртуальную машину и другие ресурсы. Кроме того, он запустит prepare-iSCSIClient.ps1 и перезагрузит виртуальную машину.

На схеме показаны ресурсы, развернутые из шаблона для создания клиента iSCSI для подключения к целевому объекту iSCSI. Он показывает файловый сервер с внутренней подсетью и сетевой картой (сетевой карта), внутренним PIP (частный интернет-протокол) и NSG (группа безопасности сети).

Процесс развертывания

Шаблон группы ресурсов создает выходные данные, которые следует использовать в качестве входных данных для следующего шага. Главным образом определяется имя сервера и общедоступный IP-адрес Azure Stack Hub, в котором инициируется трафик iSCSI. В этом примере:

  1. развертывание шаблона инфраструктуры.
  2. Развертывание виртуальной машины Azure Stack Hub на виртуальной машине, расположенной в другом месте вашего центра обработки данных.
  3. Запустите Create-iSCSITarget.ps1, используя IP-адрес и имя сервера, выводимые из шаблона в качестве параметров "Вход/выход" для скрипта на целевом объекте iSCSI, которым может быть виртуальная машина или физический сервер.
  4. Используйте внешний IP-адрес или адреса целевого сервера iSCSI в качестве входных данных для запуска сценария Connect-toiSCSITarget.ps1.

На схеме показаны первые три из перечисленных выше четырех шагов, а также входные и выходные данные. Действия: Развертывание инфраструктуры, Создание цели iSCSI и Подключение к iSCSI.

Входные данные для azuredeploy.json

Параметры default description
WindowsImageSKU 2019-Datacenter Выберите базовый образ виртуальной машины Windows
VMSize Standard_D2_v2 Введите размер виртуальной машины
VMName FileServer имя виртуальной машины;
adminUsername storageadmin Имя администратора новой виртуальной машины
adminPassword Пароль к учетной записи администратора новых виртуальных машин. Значением по умолчанию является идентификатор подписки
VNetName Память Имя виртуальной сети. Оно будет использоваться для обозначения ресурсов
VNetAddressSpace 10.10.0.0/23 Диапазон адресов для виртуальной сети
VNetInternalSubnetName Внутренние Имя внутренней подсети виртуальной сети
VNetInternalSubnetRange 10.10.1.0/24 Диапазон адресов для внутренней подсети виртуальной сети
InternalVNetIP 10.10.1.4 Статический адрес для внутреннего IP-адреса файлового сервера.
_artifactsLocation
_artifactsLocationSasToken

Шаги по развертыванию

  1. Развертывание инфраструктуры клиента iSCSI с помощью azuredeploy.json
  2. Запустите Create-iSCSITarget.ps1 на целевом объекте iSCSI локального сервера. После выполнения шаблона на целевом объекте iSCSI локального сервера необходимо запустить Create-iSCSITarget.ps1 с выходными данными из первого шага.
  3. Запустите Connect-toiSCSITarget.ps1 на клиенте iSCSI. Запустите Connect-toiSCSITarget.ps1 на клиенте iSCSI с подробными сведениями о целевом объекте iSCSI

Добавление хранилища iSCSI в существующие виртуальные машины

Чтобы подключиться из клиента iSCSI к целевому объекту iSCSI, вы также можете выполнить скрипты на существующей виртуальной машине. Этот поток предназначен для самостоятельного создания целевого объекта iSCSI. На этой схеме показан поток выполнения сценариев PowerShell. Эти сценарии можно найти в каталоге сценариев:

На схеме показаны три скрипта, которые рассматриваются ниже. По порядку выполнения они: Prepare-iSCSIClient.ps1 (выполняется на клиенте), Create iSCSITarget.ps1 (выполняется на целевых объектах) и Connect-toiSCSITarget.ps1 (exectutes на клиенте).

Prepare-iSCSIClient.ps1

Сценарий Prepare-iSCSIClient.ps1 устанавливает необходимые компоненты на клиенте iSCSI, включая приведенные ниже.

  • Установка служб Multipath-IO
  • Настройка автоматического запуска службы инициатора iSCSI
  • Включение поддержки Multipath MPIO для iSCSI
  • Включение автоматического утверждения всех томов iSCSI
  • Задание для параметра время ожидания диска значение 60 секунд.

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

Create-iSCSITarget.ps1

Скрипт Create-iSCSITarget.ps1 должен выполняться на сервере хранилища. Можно создать несколько дисков и целевых объектов, ограниченных инициаторами. Этот скрипт можно запустить несколько раз, чтобы создать множество виртуальных дисков, которые можно присоединить к разным целям. Несколько дисков можно подключить к одному целевому объекту.

Ввод default description
RemoteServer FileServer Имя сервера, подключающегося к целевому объекту iSCSI
RemoteServerIPs 1.1.1.1 IP-адрес, с которого будет поступать трафик iSCSI
DiskFolder C:\iSCSIVirtualDisks Папка и диск, где будут храниться виртуальные диски
DiskName DiskName Имя VHDX-файла диска
DiskSize 5 ГБ Размер диска VHDX
TargetName RemoteTarget01 Имя целевого объекта, используемое для определения конфигурации целевого объекта клиента iSCSI.
ChapUsername username Имя пользователя для проверки подлинности CHAP
ChapPassword userP@ssw0rd! Код доступа пользователя для проверки подлинности CHAP Он должен содержать от 12 до 16 символов.

Connect-toiSCSITarget.ps1

Connect-toiSCSITarget.ps1 является окончательным сценарием, который выполняется на клиенте iSCSI и подключает диск, представленный целевым объектом iSCSI, к клиенту iSCSI.

Ввод default description
TargetiSCSIAddresses "2.2.2.2","2.2.2.3" IP-адреса целевого объекта iSCSI
LocalIPAddresses "10.10.1.4" Это внутренний IP-адрес, с которого будет поступать трафик iSCSI
LoadBalancePolicy C:\iSCSIVirtualDisks IP-адрес, с которого будет поступать трафик iSCSI
ChapUsername username Имя пользователя для проверки подлинности CHAP
ChapPassword userP@ssw0rd! Код доступа пользователя для проверки подлинности CHAP Он должен содержать от 12 до 16 символов.

Дальнейшие действия

Сети Azure Stack Hub: различия и рекомендации