Подключение к хранилищу 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.
Требования
- Локальный компьютер (физический или виртуальный) под управлением 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 и перезагрузит виртуальную машину.
Процесс развертывания
Шаблон группы ресурсов создает выходные данные, которые следует использовать в качестве входных данных для следующего шага. Главным образом определяется имя сервера и общедоступный IP-адрес Azure Stack Hub, в котором инициируется трафик iSCSI. В этом примере:
- развертывание шаблона инфраструктуры.
- Развертывание виртуальной машины Azure Stack Hub на виртуальной машине, расположенной в другом месте вашего центра обработки данных.
- Запустите
Create-iSCSITarget.ps1
, используя IP-адрес и имя сервера, выводимые из шаблона в качестве параметров "Вход/выход" для скрипта на целевом объекте iSCSI, которым может быть виртуальная машина или физический сервер. - Используйте внешний IP-адрес или адреса целевого сервера iSCSI в качестве входных данных для запуска сценария
Connect-toiSCSITarget.ps1
.
Входные данные для 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 |
Шаги по развертыванию
- Развертывание инфраструктуры клиента iSCSI с помощью
azuredeploy.json
- Запустите
Create-iSCSITarget.ps1
на целевом объекте iSCSI локального сервера. После выполнения шаблона на целевом объекте iSCSI локального сервера необходимо запустить Create-iSCSITarget.ps1 с выходными данными из первого шага. - Запустите
Connect-toiSCSITarget.ps1
на клиенте iSCSI. Запустите Connect-toiSCSITarget.ps1 на клиенте iSCSI с подробными сведениями о целевом объекте iSCSI
Добавление хранилища iSCSI в существующие виртуальные машины
Чтобы подключиться из клиента iSCSI к целевому объекту iSCSI, вы также можете выполнить скрипты на существующей виртуальной машине. Этот поток предназначен для самостоятельного создания целевого объекта iSCSI. На этой схеме показан поток выполнения сценариев PowerShell. Эти сценарии можно найти в каталоге сценариев:
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 символов. |