Руководство. Создание лаборатории на основе виртуальной машины для Azure Stack HCI

Область применения: Azure Stack HCI версии 21H2

В этом руководстве вы используете скрипты MSLab PowerShell для автоматизации процесса создания частного леса для запуска Azure Stack HCI на виртуальных машинах с помощью вложенной виртуализации.

Важно!

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

Вы узнаете, как:

  • Создание частного леса с контроллером домена и сервером Windows Admin Center
  • Развертывание нескольких виртуальных машин под управлением Azure Stack HCI для кластеризация

После завершения вы сможете создать кластер Azure Stack HCI с помощью развернутых виртуальных машин и использовать частную лабораторию для создания прототипов, тестирования, устранения неполадок или оценки.

Предварительные требования

Для работы с этим учебником необходимы указанные ниже компоненты.

  • Администратор привилегий на сервере узла Hyper-V под управлением Windows Server 2022, Windows Server 2019 или Windows Server 2016
  • Не менее 8 ГБ ОЗУ
  • ЦП с поддержкой вложенной виртуализации
  • Твердотельные накопители (SSD)
  • 40 ГБ свободного места на сервере узла Hyper-V
  • Учетная запись Azure для регистрации Windows Admin Center и кластера

Подготовка лаборатории

Тщательно подготовьте лабораторную среду, следуя этим инструкциям.

Подключение к узлу виртуализации

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

Скачивание Azure Stack HCI

Вы можете скачать ОС Azure Stack HCI из портал Azure. Инструкции по скачиванию см. в статье Скачивание операционной системы Azure Stack HCI.

Скачать Windows Server

Вам также потребуется копия Windows Server 2022, Windows Server 2019 или Windows Server 2016 для контроллера домена и Windows Admin Center виртуальных машин. Вы можете использовать оценочный носитель или, если у вас есть доступ к подписке VL или Visual Studio, вы можете использовать их. Для работы с этим руководством мы скачаем ознакомительную копию.

Создание папки для файлов лаборатории

Создайте папку Lab в корне диска C (или в любом месте) и используйте проводник, чтобы скопировать скачанные файлы ОС в папку C:\Lab\Isos.

Скачивание скриптов MSLab

Скачайте скрипты MSLab с помощью веб-браузера на сервере. ZIP-файл wslab_vxx.xx.x.zip должен автоматически загрузиться на жесткий диск. Скопируйте ZIP-файл на жесткий диск (C:\Lab) и извлеките скрипты.

Изменение скрипта LabConfig

Виртуальные машины MSLab определяются в скрипте PowerShell LabConfig.ps1 как простая хэш-таблица. Вам потребуется настроить скрипт для создания частного леса с виртуальными машинами Azure Stack HCI.

Чтобы изменить скрипт, используйте проводник перейдите в папку C:\Lab\wslab_xxx\ и щелкните правой кнопкой мыши LabConfig.ps1. Выберите Изменить, чтобы открыть файл с помощью Windows PowerShell ISE.

Совет

Сохраните исходную версию LabConfig.ps1 какOriginal_LabConfig.ps1, чтобы при необходимости было легко начать заново.

Обратите внимание, что большая часть скрипта закомментирована; Вам потребуется выполнить всего несколько строк. Выполните следующие действия, чтобы настроить скрипт таким образом, чтобы он выводил нужные выходные данные. Кроме того, можно просто скопировать блок кода в конце этого раздела и заменить соответствующие строки в LabConfig.

Чтобы настроить скрипт, выполните следующие действия.

  1. Добавьте следующий код в первую раскомментированную строку LabConfig.ps1 , чтобы сообщить скрипту, где найти ISO, включить интерфейс гостевой службы и включить перенаправление DNS на узле: ServerISOFolder="C:\lab\isos" ; EnableGuestServiceInterface=$true ; UseHostDnsAsForwarder=$true

  2. При необходимости измените имя и пароль администратора.

  3. Если вы планируете создать несколько лабораторий на одном сервере, измените префикс = "MSLab-" , чтобы использовать новое имя префикса, например Lab1-. Мы будем придерживаться префикса MSLab по умолчанию для этого руководства.

  4. Закомментируйте строку forEach-Object по умолчанию для Windows Server и удалите хэштег перед строкой ForEach-Object для Azure Stack HCI, чтобы скрипт создал виртуальные машины Azure Stack HCI вместо виртуальных машин Windows Server для узлов кластера.

  5. По умолчанию скрипт создает кластер с четырьмя узлами. Если вы хотите изменить количество виртуальных машин в кластере, замените 1..4 на 1.2 или 1..8, например. Помните, что чем больше виртуальных машин в кластере, тем больше требований к памяти на сервере узла.

  6. Add NestedVirt=$true ; AdditionalNetworks=$True в команду ForEach-Object и задайте для параметра MemoryStartupBytesзначение 4 ГБ.

  7. Добавьте строку AdditionalNetworksConfig: $LabConfig.AdditionalNetworksConfig += @{ NetName = 'Converged'; NetAddress='10.0.1.'; NetVLAN='0'; Subnet='255.255.255.0'}

  8. Добавьте следующую строку, чтобы настроить сервер управления Windows Admin Center под управлением операционной системы Windows Server Core для добавления второго сетевого адаптера для подключения к Windows Admin Center извне частной сети: $LabConfig.VMs += @{ VMName = 'AdminCenter' ; ParentVHD = 'Win2019Core_G2.vhdx'; MGMTNICs=2}

  9. Не забудьте сохранить изменения вLabConfig.ps1.

Изменения вLabConfig.ps1 , внесенные в описанных выше шагах, отражены в этом блоке кода:

$LabConfig=@{ DomainAdminName='LabAdmin'; AdminPassword='LS1setup!'; Prefix = 'MSLab-' ; DCEdition='4'; Internet=$true ; AdditionalNetworksConfig=@(); VMs=@() ; ServerISOFolder="C:\lab\isos" ; EnableGuestServiceInterface=$true ; UseHostDnsAsForwarder=$true }
# Windows Server 2019
#1..4 | ForEach-Object {$VMNames="S2D"; $LABConfig.VMs += @{ VMName = "$VMNames$_" ; Configuration = 'S2D' ; ParentVHD = 'Win2019Core_G2.vhdx'; SSDNumber = 0; SSDSize=800GB ; HDDNumber = 12; HDDSize= 4TB ; MemoryStartupBytes= 512MB }}
# Or Azure Stack HCI 
1..4 | ForEach-Object {$VMNames="AzSHCI"; $LABConfig.VMs += @{ VMName = "$VMNames$_" ; Configuration = 'S2D' ; ParentVHD = 'AzSHCI21H2_G2.vhdx'; SSDNumber = 0; SSDSize=800GB ; HDDNumber = 12; HDDSize= 4TB ; MemoryStartupBytes= 4GB ; NestedVirt=$true ; AdditionalNetworks=$true }}
# Or Windows Server 2022
#1..4 | ForEach-Object {$VMNames="S2D"; $LABConfig.VMs += @{ VMName = "$VMNames$_" ; Configuration = 'S2D' ; ParentVHD = 'Win2022Core_G2.vhdx'; SSDNumber = 0; SSDSize=800GB ; HDDNumber = 12; HDDSize= 4TB ; MemoryStartupBytes= 512MB }}

$LabConfig.AdditionalNetworksConfig += @{ NetName = 'Converged'; NetAddress='10.0.1.'; NetVLAN='0'; Subnet='255.255.255.0'}

$LabConfig.VMs += @{ VMName = 'AdminCenter' ; ParentVHD = 'Win2019Core_G2.vhdx'; MGMTNICs=2}

Запуск скриптов MSLab и создание родительских дисков

Скрипты MSLab автоматизируют большую часть процесса настройки лаборатории и преобразуют ISO-образы операционных систем в VHD-файлы.

Запуск скрипта Prereq

Перейдите в папку C:\Lab\wslab_xxx\ и запустите скрипт 1_Prereq.ps1 , щелкнув файл правой кнопкой мыши и выбрав Выполнить с помощью PowerShell. Скрипт скачит необходимые файлы. Некоторые примеры файлов будут помещены в папку ToolsDisk , а некоторые скрипты будут добавлены в папку ParentDisks . По завершении скрипта будет предлагаться нажать клавишу ВВОД , чтобы продолжить.

Примечание

Может потребоваться изменить политику выполнения скриптов в системе, чтобы разрешить неподписанные сценарии, выполнив этот командлет PowerShell от имени администратора: Set-ExecutionPolicy -ExecutionPolicy Unrestricted

Создание родительских дисков Windows Server

Скрипт 2_CreateParentDisks.ps1 подготавливает виртуальные жесткие диски (VHD) для Windows Server и Server Core из ISO-файла операционной системы, а также подготавливает контроллер домена к развертыванию со всеми необходимыми ролями. Запустите 2_CreateParentDisks.ps1 , щелкнув файл правой кнопкой мыши и выбрав Запустить с помощью PowerShell.

Вам будет предложено выбрать уровни телеметрии; Выберите B для базового или F для полного. Скрипт также запросит ISO-файл для Windows Server 2019. Укажите ему расположение, в который вы скопировали файл (C:\Labs\Isos). Если в папке есть несколько ISO-файлов, вам будет предложено выбрать iso, который вы хотите использовать. Выберите ISO-файл Windows Server. Если вам будет предложено отформатировать диск, выберите N.

Предупреждение

Не выбирайте ISO-файл Azure Stack HCI . В следующем разделе вы создадите родительский диск (VHD) Azure Stack HCI.

Создание родительских дисков может занять до 1–2 часов, хотя это может занять гораздо меньше времени. По завершении скрипт предложит удалить ненужные файлы. Если выбрать Y, первые два сценария будут удалены, так как они больше не нужны. Нажмите клавишу ВВОД, чтобы продолжить.

Создание родительского диска Azure Stack HCI

Скачайте функциюConvert-WindowsImage.ps1 в папку C:\Lab\wslab_xxx\ParentDisks какConvert-WindowsImage.ps1. Затем запустите CreateParentDisk.ps1 от имени администратора. Выберите ISO-файл Azure Stack HCI из C:\Labs\Isos и примите имя и размер по умолчанию.

Создание родительского диска займет некоторое время. После завершения операции вам будет предложено запустить виртуальные машины. Пока не запускайте их. Введите N.

Развертывание виртуальных машин

Запустите Deploy.ps1 , щелкнув правой кнопкой мыши и выбрав Выполнить с помощью PowerShell. Выполнение сценария займет 10–15 минут.

Установка обновлений операционной системы и программного обеспечения

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

Обновление контроллера домена и Windows Admin Center виртуальных машин

Войдите на узел виртуализации и запустите диспетчер Hyper-V. Контроллер домена в частном лесу уже должен быть запущен (MSLab-DC). Перейдите к Виртуальные машины, выберите контроллер домена и подключитесь к нему. Войдите с указанными вами именем пользователя и паролем или, если вы не изменили их, используйте значения по умолчанию: LabAdmin/LS1setup!

Установите все необходимые обновления для системы безопасности и при необходимости перезапустите виртуальную машину контроллера домена. Это может занять некоторое время, и может потребоваться перезапустить виртуальную машину несколько раз.

В диспетчере Hyper-V запустите виртуальную машину Windows Admin Center (MSLab-AdminCenter), на которой выполняются основные серверные компоненты. Подключитесь к ней, войдите в систему и введите sconfig. Выберите скачивание и установку обновлений для системы безопасности и при необходимости перезагрузите его. Это может занять некоторое время, и может потребоваться перезапустить виртуальную машину и ввести sconfig несколько раз.

Установка Microsoft Edge на контроллере домена

Для использования Windows Admin Center в частном лесу потребуется веб-браузер на виртуальной машине контроллера домена. Скорее всего, интернет-Обозреватель будут заблокированы по соображениям безопасности, поэтому вместо этого используйте Microsoft Edge. Если Edge еще не установлен на виртуальной машине контроллера домена, необходимо установить его.

Чтобы установить Microsoft Edge, подключитесь к виртуальной машине контроллера домена из диспетчера Hyper-V и запустите сеанс PowerShell от имени администратора. Затем выполните следующий код, чтобы установить и запустить Microsoft Edge.

#Install Edge
Start-BitsTransfer -Source "https://aka.ms/edge-msi" -Destination "$env:USERPROFILE\Downloads\MicrosoftEdgeEnterpriseX64.msi"
#Start install
Start-Process -Wait -Filepath msiexec.exe -Argumentlist "/i $env:UserProfile\Downloads\MicrosoftEdgeEnterpriseX64.msi /q"
#Start Edge
start microsoft-edge:

Установка Windows Admin Center в режиме шлюза

С помощью Microsoft Edge на виртуальной машине контроллера домена скачайте этот скрипт на виртуальную машину контроллера домена и сохраните его с расширением файла .ps1.

Щелкните файл правой кнопкой мыши, выберите Изменить с помощью PowerShell и измените значение $GatewayServerName в первой строке в соответствии с именем виртуальной машины AdminCenter без префикса (например, AdminCenter). Сохраните скрипт и запустите его, щелкнув правой кнопкой мыши файл и выбрав Выполнить с помощью PowerShell.

Войдите в Windows Admin Center

Теперь у вас должна быть возможность доступа к Windows Admin Center из Edge на контроллере домена:http://admincenter

Ваш браузер может предупредить вас о том, что это небезопасное или небезопасное подключение, но это нормально, чтобы продолжить.

Добавление внешнего сетевого адаптера (необязательно)

Если лаборатория находится в частной сети, может потребоваться добавить внешний сетевой адаптер на виртуальную машину AdminCenter, чтобы подключиться к ней и управлять лабораторией за пределами частного леса. Для этого используйте Windows Admin Center для подключения к узлу виртуализации (а не к контроллеру домена) и перейдите в раздел Виртуальные машины > MSLab-AdminCenter > Параметры > Сети. Убедитесь, что у вас есть виртуальный коммутатор, подключенный к соответствующей сети. Найдите параметр Switch Type = External (например, MSLab-LabSwitch-External). Затем добавьте или привяжите сетевой адаптер виртуальной машины к этому внешнему виртуальному коммутатору. Не забудьте установить флажок "Разрешить ОС управления совместно использовать эти сетевые адаптеры".

Запишите IP-адреса сетевых адаптеров на виртуальной машине AdminCenter. Добавьте :443 к IP-адресу сетевого адаптера, доступного извне, и вы сможете войти в Windows Admin Center, а также создать кластер и управлять им из внешнего веб-браузера, например:https://10.217.XX.XXX:443

Установка обновлений операционной системы на виртуальных машинах Azure Stack HCI

Запустите виртуальные машины Azure Stack HCI с помощью диспетчера Hyper-V на узле виртуализации. Подключитесь к каждой виртуальной машине, скачайте и установите обновления для системы безопасности с помощью Sconfig на каждой из них. Может потребоваться несколько раз перезапустить виртуальные машины. (Этот шаг можно пропустить, если вы хотите установить обновления ОС позже в мастере создания кластера.

Включение роли Hyper-V на виртуальных машинах Azure Stack HCI

Если виртуальные машины кластера работают под управлением Azure Stack HCI 20H2, необходимо запустить скрипт, чтобы включить роль Hyper-V на виртуальных машинах. Сохраните этот скрипт в C:\Lab на узле виртуализации как PreviewWorkaround.ps1.

Щелкните правой кнопкой мыши файл PreviewWorkaround.ps1 и выберите Изменить с помощью PowerShell. Измените переменные $domainName, $domainAdmin и $nodeName , если они не совпадают, например:

$domainName = "corp.contoso.com"
$domainAdmin = "$domainName\labadmin"
$nodeName = "MSLab-AzSHCI1","MSLab-AzSHCI2","MSLab-AzSHCI3","MSLab-AzSHCI4"

Сохраните изменения, затем откройте сеанс PowerShell от имени администратора и запустите сценарий:

PS C:\Lab> ./PreviewWorkaround.ps1

Выполнение скрипта займет некоторое время, особенно если вы создали много виртуальных машин. Должно появиться сообщение "MSLab-AzSHCI1 MSLab-AzSHCI2 теперь в сети. Перейдите к установке Hyper-V PowerShell". Если скрипт зависает после отображения сообщения, нажмите клавишу ВВОД, чтобы разбудить его. После этого вы увидите следующее сообщение: "MSLab-AzSHCI1 MSLab-AzSHCI2 теперь в сети. Перейдите к следующему шагу..."

Добавление дополнительных сетевых адаптеров (необязательно)

В зависимости от того, как вы планируете использовать кластер, вы можете добавить еще несколько сетевых адаптеров на каждую виртуальную машину Azure Stack HCI для более универсального тестирования. Для этого подключитесь к серверу узла с помощью Windows Admin Center и перейдите в раздел Виртуальные машины > MSLab-(node) Settings > Networks(node). > Убедитесь, что выбрано Дополнительно > Включить спуфингов MAC-адресов. Если этот параметр не включен, при попытке создать кластер могут возникнуть неудачные тесты подключения.

Регистрация Windows Admin Center в Azure

Подключитесь к Windows Admin Center в частном лесу, используя внешний URL-адрес или пограничный сервер на контроллере домена, и зарегистрируйте Windows Admin Center в Azure.

Очистка ресурсов

Если вы выбрали Y для очистки ненужных файлов и папок, очистка уже выполнена. Если вы предпочитаете делать это вручную, перейдите в папку C:\Labs и удалите ненужные файлы.

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

Теперь вы готовы перейти к мастеру создания кластера.