Начало работы с Azure Stack HCI

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

Этот учебник охватывает тему того, как начать работу с Azure Stack HCI. Вы создадите виртуальную тестовую среду и установите четырехузловой кластер для включения в Azure.

Читайте далее и начинайте разворачивать виртуальные машины с Azure Stack HCI!

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

Этот учебник включает практические демонстрации. Чтобы следовать за ними, убедитесь, что у вас есть следующее:

  • A client or server operating system with Hyper-V enabled. (Windows 10 or 11) – This tutorial uses Windows 10.
  • 32 ГБ ОЗУ и процессор с не менее четырьмя ядрами (если вы создаете только двухузловую лабораторию вместо четырехузловой, должно быть достаточно 16 ГБ ОЗУ).

Что такое Azure Stack HCI?

Прежде чем погружаться в детали, вы, возможно, задаетесь вопросом, что такое Azure Stack HCI вообще? Azure Stack HCI предоставляет отказоустойчивый кластер гиперконвергентной инфраструктуры (HCI). Этот кластер хостит виртуализированные рабочие нагрузки Windows и Linux, а также их хранилище в гибридной среде на основе оборудования. Среда также подключена к услугам в облаке.

Самый простой способ объяснить эту инфраструктуру – с помощью приведенных ниже иллюстраций. Другими словами, HCI – это преобразованный и сжатый аппаратный стек с упрощенным и централизованным интерфейсом управления.

Demonstrating the transformation path from NCI to HCI

Подготовка ЛАБ и создание родительских дисков Windows Server

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

Чтобы проверить данное утверждение, необходимо создать демонстрационное окружение, построив “доказательство концепции” (POC). Но прежде всего, необходимо выполнить некоторые базовые требования, как указано ниже:

  • Правильные структуры папок и необходимое программное обеспечение.
  • Родительские диски для требуемых виртуальных машин (ВМ – контроллер домена, несколько узлов Azure Stack HCI и сервер шлюза Windows Admin Center (WAC)).

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

1. Извлеките файлы из загруженного архива (MSLab) в папку на вашем компьютере.

2. После извлечения найдите и откройте файл LabConfig.ps1 в вашем предпочтенном редакторе кода.

Opening the LabConfig file

3. Затем измените отмеченную область, показанную на скриншоте ниже файла LabConfig.ps1, следующим кодом.

Код ниже указывает имя Domain-Admin (‘LabAdmin’) и соответствующий пароль (‘P@$$w0rd!’).

$LabConfig=@{ DomainAdminName='LabAdmin'; AdminPassword='P@$$w0rd!'; Prefix = 'MSLab-'; DCEdition='4'; Internet=$true ; AdditionalNetworksConfig=@(); VMs=@()}
Specifying Domain-Admin’s name and password

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

4. Теперь откройте PowerShell от имени администратора и выполните скриптовый файл 1_Prereq.ps1 для создания необходимой иерархии папок и необходимого программного обеспечения.

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

Creating the required folder hierarchy and putting the required software in place

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

Введите N и нажмите Enter, когда вас попросят, чтобы избежать отправки телеметрических данных в Microsoft. Вы также можете сделать другой выбор, как объяснено в выводе, если вам не против, чтобы Microsoft обрабатывал данные вашей лаборатории.

Preparing all needed disk images

6. Затем выберите правильный файл образа ISO Windows. В данном случае это файл образа Windows Server 2022 на английском языке, и нажмите “Открыть”.

Selecting a Windows Server ISO Image

7. Нажмите “Отмена”, когда вас попросят о обновлениях Windows Server (*.msu), так как вы уже загрузили и использовали последний образ ISO.

Сценарий теперь создает родительский диск Windows Server 2022 (примерно 15-30 минут), который вам понадобится позже для развертывания виртуальных машин.

Skipping Windows Server Update

8. Наконец, введите Y и нажмите Enter, чтобы очистить ненужные файлы и папки.

После очистки нажмите Enter еще раз, чтобы завершить выполнение сценария.

Cleaning up unnecessary files and folders

Теперь вы должны увидеть две новые папки (LAB и ParentDisks), три сценария PowerShell и файлы журналов в папке MSLab.

Verifying MSLab resource files and folders

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

Вы подготовили одну часть своего лабораторного каркаса, создав родительские диски Windows Server 2022. Но вам все еще не хватает родительских дисков для развертывания узлов Azure Stack HCI.

Чтобы создать родительские диски Azure Stack HCI, выполните следующие действия:

1. Перейдите в папку ParentDisks и выполните сценарий CreateParentDisk.ps1.

2. Затем выберите правильный образ ISO Azure Stack HCI и нажмите Открыть.

Selecting an Azure Stack HCI OS ISO Image

3. Нажмите Отмена, когда будет предложено файлы пакета обновления (*.msu), поскольку вы уже загрузили и использовали последний образ ISO.

Selecting an Azure Stack HCI OS Update file

4. Теперь нажмите Enter, когда будет запрошено имя и размер VHD.

Если ничего не указано, по умолчанию используются AzSHCI21H2_G2.vhdx для имени VDH и 60 ГБ для размера.

Using default VHD name and size

5. Нажмите Enter, чтобы завершить выполнение сценария.

Finishing the script execution

6. Наконец, перейдите в папку MSLab/ParentDisks, чтобы убедиться, что файл диска Azure Stack HCI21H2_G2 существует, как показано ниже.

Checking if all necessary files are available

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

Теперь всё готово для отправки необходимых виртуальных машин в лабораторию. Ну, почти. Вам все еще нужно установить некоторые параметры и настройки конфигурации в файле LabConfig.ps1.

1. Откройте файл LabConfig.ps1 и отредактируйте его содержимое следующим кодом для настройки развертывания виртуальных машин.

Поскольку лаборатория не должна быть чёрным ящиком, вы найдете краткое описание структуры документа и сохраненной конфигурации. Все блоки параметров назначаются соответствующим виртуальным машинам (DC, HCI node, WAC Gateway) для лучшего обзора.

Кроме того, каждый параметр описан для уточнения его функции.

# DC + Лабораторная среда

$LabConfig=@{ DomainAdminName='LabAdmin'; AdminPassword='P@$$w0rd!'; Prefix = 'MSLab-' ; DCEdition='4'; Internet=$true ; AdditionalNetworksConfig=@(); VMs=@()}

# DomainAdminName - имя администратора домена
# AdminPassword - пароль для администратора домена
# Prefix - префикс, который должны содержать имена виртуальных машин
# DCEdition='4' - используемая версия Windows (4 = Data Center)
# Internet=$true - включает службу удаленного доступа (RAS) на DC
# AdditionalNetworksConfig=@() - массив для дополнительных настроек сети
# VMs=@() - массив виртуальных машин

# HCI Nodes (предварительно присоединенные к домену)
1..4 | ForEach-Object {$VMNames="AzSHCI" ; $LABConfig.VMs += @{ VMName = "$VMNames$_" ; Configuration = 'S2D' ; ParentVHD = 'AzSHCI21H2_G2.vhdx' ; HDDNumber = 12; HDDSize= 4TB ; MemoryStartupBytes= 4GB; MGMTNICs=4 ; NestedVirt=$true}}

# VMName - имя виртуальной машины
# Configuration = 'S2D' - виртуальная машина для поддержки Storage Space Direct (S2D)
# ParentVHD - родительский диск
# HDDNumber - общее количество дисков для подключения
# HDDSize - размер диска
# MemoryStartupBytes - начальный объем памяти
# MGMTNICs - общее количество сетевых карт
# NestedVirt - включена вложенная виртуализация

# Шлюз Центра администрирования Windows
$LabConfig.VMs += @{ VMName = 'WACGW' ; ParentVHD = 'Win2022Core_G2.vhdx' ; MGMTNICs=1 }

# VMName - имя виртуальной машины
# ParentVHD - родительский диск
# MGMTNICs - общее количество сетевых карт

2. Затем выполните скрипт Deploy.ps1, чтобы начать процедуру развертывания ВМ.

Во время развертывания вы можете увидеть ошибки, подобные тем, что показаны на скриншоте ниже. Эти ошибки возникают из-за проверки доступности Active Directory внутри контроллера домена, но их можно игнорировать.

Deploying VMs

3. После развертывания ВМ введите A и нажмите Enter, чтобы запустить все ВМ лаборатории.

После запуска нажмите Enter, чтобы завершить выполнение скрипта.

Starting VMs

4. Наконец, переключитесь на Менеджер Hyper-V, чтобы убедиться, что необходимая инфраструктура создана.

Ниже вы можете видеть все лабораторные машины, работающие.

Inspecting the delivered infrastructure

Настройка шлюза WAC

Вы успешно развернули свои ВМ и теперь готовы предоставить необходимые компоненты программного обеспечения, Windows Admin Center (WAC).

1. В Менеджере Hyper-V перейдите к свойствам ВМ MSLAB-DC и включите гостевые службы в разделе Интеграционные службы.

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

Enabling Guest services

2. Затем переключитесь на ВМ MSLAB-DC (контроллер домена) и выполните следующий скрипт через PowerShell, чтобы загрузить и передать необходимый пакет установки на целевую машину.

$GatewayServerName="WACGW"
# Загрузить Windows Admin Center, если отсутствует
if (-not (Test-Path -Path "$env:USERPROFILE\Downloads\WindowsAdminCenter.msi")){
    Start-BitsTransfer -Source https://aka.ms/WACDownload -Destination "$env:USERPROFILE\Downloads\WindowsAdminCenter.msi"
}

# Создать сеанс PS и скопировать файлы установки на удаленный сервер
Invoke-Command -ComputerName $GatewayServerName -ScriptBlock {Set-Item -Path WSMan:\localhost\MaxEnvelopeSizekb -Value 4096}
$Session=New-PSSession -ComputerName $GatewayServerName
Copy-Item -Path "$env:USERPROFILE\Downloads\WindowsAdminCenter.msi" -Destination "$env:USERPROFILE\Downloads\WindowsAdminCenter.msi" -ToSession $Session

# Установить Windows Admin Center
Invoke-Command -Session $session -ScriptBlock {
    Start-Process msiexec.exe -Wait -ArgumentList "/i $env:USERPROFILE\Downloads\WindowsAdminCenter.msi /qn /L*v log.txt REGISTRY_REDIRECT_PORT_80=1 SME_PORT=443 SSL_CERTIFICATE_OPTION=generate"
} -ErrorAction Ignore

$Session | Remove-PSSession

# Добавить сертификаты в доверенные корневые сертификаты
start-sleep 10
$cert = Invoke-Command -ComputerName $GatewayServerName -ScriptBlock {Get-ChildItem Cert:\LocalMachine\My\ |where subject -eq "CN=Windows Admin Center"}
$cert | Export-Certificate -FilePath $env:TEMP\WACCert.cer
Import-Certificate -FilePath $env:TEMP\WACCert.cer -CertStoreLocation Cert:\LocalMachine\Root\
Deploying WAC

3. С использованием контроллера домена откройте веб-браузер и перейдите по адресу https://wacgw, чтобы подтвердить развертывание. На этом этапе используйте ранее определенные/общие учетные данные для входа.

После входа ваш браузер перенаправится на страницу обзора WAC, где вы увидите список всех включенных систем (шаг четыре).

Signing in to WAC

4. Теперь проверьте, что сам шлюз был создан под именем wacgw.corp.contoso.com [Шлюз], как показано ниже.

Verifying the WAC functionality

5. Далее выполните приведенный ниже код непосредственно с контроллера домена (виртуальная машина MSLAB-DC), чтобы установить ограниченное делегирование Kerberos между WAC и узлами Azure Stack HCI.

Этот код позволяет вам обойти запрос учетных данных при подключении к удаленному серверу.

$GatewayServerName="WACGW"
#Настройка делегирования с ограничением на основе ресурсов
$gatewayObject = Get-ADComputer -Identity $GatewayServerName
$computers = (Get-ADComputer -Filter {OperatingSystem -eq "Azure Stack HCI"}).Name

foreach ($computer in $computers){
    $computerObject = Get-ADComputer -Identity $computer
    Set-ADComputer -Identity $computerObject -PrincipalsAllowedToDelegateToAccount $gatewayObject
}
Setting up Kerberos constrained delegation

Настройка кластера Azure Stack HCI

После настройки WAC вы готовы к самому интересному; все готово для создания кластера.

Для настройки кластера Azure Stack HCI:

1. На WAC на вашем контроллере домена щелкните “Добавить”, найдите “Серверные кластеры” во всплывающем окне и щелкните “Создать новый”, чтобы начать создание нового кластера.

Initiating creating a new cluster

2. Затем выберите Azure Stack HCI для типа кластера, “Все серверы на одном сайте” для расположения серверов и нажмите “Создать”, чтобы создать новый кластер.

Creating the new cluster

3. Нажмите “Далее”, чтобы пропустить этот шаг (1.1), поскольку вы уже проверили предварительные требования и находитесь в настроенной среде, предназначенной для сценария оценки Azure Stack HCI.

Checking the prerequisites

4. Теперь введите ваши учетные данные по запросу. На этом этапе используйте начально определенные/сообщенные учетные данные.

Providing credentials

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

Введите узлы, перечисленные ниже, по одному, и нажмите “Добавить” для каждого.

# Список узлов 
azshci1.Corp.contoso.com
azshci2.Corp.contoso.com
azshci3.Corp.contoso.com
azshci4.Corp.contoso.com

После добавления узлов нажмите “Далее”, чтобы продолжить.

A green check mark appears if the node was found successfully, as shown below.

Adding nodes

6. Затем нажмите “Далее”, чтобы пропустить этот шаг (1.3), поскольку все узлы уже являются членами предварительно настроенного домена.

Skipping joining a domain

7. Теперь нажмите “Установить функции”, чтобы установить необходимые компоненты на всех узлах.

Installing features to all nodes

Ниже приведен список следующих функций, которые будут установлены.

Verifying the features to be installed

Получили предупреждение о незавершенной установке Hyper-V? Продолжайте чтение, чтобы узнать, как его исправить.

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

Getting bugs on features installation

8. Выполните следующие команды (на контроллере домена), чтобы исправить ошибку “Не установлено”. Эта команда устанавливает отсутствующую функцию (Hyper-V) на всех доступных узлах.

$Servers="AzSHCI1","AzSHCI2","AzSHCI3","AzSHCI4"
Invoke-Command -ComputerName $Servers -ScriptBlock {Enable-WindowsOptionalFeature -FeatureName Microsoft-Hyper-V -Online -NoRestart}
Enabling Hyper-V on all nodes

Если все пройдет успешно, вы увидите следующие сообщения.

A restart is not required at this point but will be performed later.

Enabling Hyper-V

9. Вернитесь в WAC и нажмите “Обновить”, чтобы убедиться, что все функции установлены. Если это так, нажмите “Далее”, чтобы продолжить.

Verifying installed features

10. Нажмите кнопку Установить обновления, чтобы проверить наличие ожидающих обновлений и установить их.

Installing updates

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

Verifying deployment information for each node

11. Теперь нажмите “Далее”, чтобы продолжить после того, как все узлы были обновлены и находятся в режиме “Готов”, как показано ниже.

Verifying all updates are installed

12. Нажмите “Далее”, чтобы продолжить, поскольку у вас нет интегрированной системы (только виртуальная тестовая лаборатория). Интегрированная система – это предварительно настроенная система, созданная конкретным поставщиком (HPE, Dell…) и явно разработанная для запуска операционной системы Azure Stack HCI.

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

Skipping installing hardware updates

13. После завершения всех установок нажмите “Перезагрузить серверы”, чтобы перезагрузить все узлы.

Restarting all nodes

14. Нажмите “Далее”, чтобы продолжить, когда все узлы будут в режиме “Готов”, как показано ниже.

Verifying all nodes are running (in Ready mode)

15. Выберите способ развертывания и управления сетевым хостом. Доступны два варианта для продолжения. Но для упрощения в этом руководстве выберите опцию “Настроить сетевой хост вручную” и нажмите “Далее: Сеть”.

Choosing how to deploy and manage host networking

Настройка сетевого хоста

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

1. В разделе “Сеть” дождитесь завершения автоматической проверки сети и нажмите “Далее”, чтобы продолжить.

Verifying network adapters

2. Выберите адаптеры сети для использования в управлении трафиком, либо один сетевой адаптер, либо объедините несколько вместе.

Но поскольку вы подключаете два сетевых адаптера, выберите опцию “Два физических сетевых адаптера, объединенных для управления”, а также соответствующие адаптеры на каждом узле.

Selecting network adapters to use for each node

3. После выбора всех сетевых адаптеров нажмите “Применить” и выполните тестирование выбранных сетевых адаптеров.

Testing network adapters

Когда появится запрос, нажмите “Да”, чтобы продолжить создание объединенного адаптера.

Confirming creating a teamed adapter

4. Теперь дождитесь успешного применения изменений, как показано ниже, и нажмите “Далее”, чтобы продолжить.

Verifying changes made to selected network adapters

5. Для виртуального коммутатора выберите первый доступный вариант (Создать один виртуальный коммутатор для вычислений и хранения вместе) и нажмите “Далее”.

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

Creating a virtual switch

6. Нажмите “Далее”, так как ваше виртуальное окружение не поддерживает Remote Direct Memory Access (RDMA).

Skipping setting up RDMA

7. Определите параметры сети для трафика хранения и вычислений для каждого узла.

# Определение сети

# azshci1.Corp.contoso.com
SMB01 | 172.16.1.1 | 24 | 1
SMB02 | 172.16.1.2 | 24 | 1

# azshci2.Corp.contoso.com
SMB01 | 172.16.1.3 | 24 | 1
SMB02 | 172.16.1.4 | 24 | 1

# azshci3.Corp.contoso.com
SMB01 | 172.16.1.5 | 24 | 1
SMB02 | 172.16.1.6 | 24 | 1

# azshci4.Corp.contoso.com
SMB01 | 172.16.1.7 | 24 | 1
SMB02 | 172.16.1.8 | 24 | 1

После определения нажмите “Применить” и выполните тестирование для проверки каждого параметра сети.

Defining network parameters

8. Подождите, пока пройдут все проверки, как показано ниже, и нажмите “Далее: Кластеризация”, чтобы завершить настройку сети и перейти к кластеру.

Verifying networks

Проверка и создание кластера

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

1. На странице Проверки кластера нажмите “Проверить”, чтобы убедиться, что выполнены все предварительные требования.

Validating cluster

Процесс проверки показан ниже и займет некоторое время.

Verifying validation in progress

2. После проверки нажмите “Далее”, чтобы продолжить.

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

Ignoring warnings and continuing with creating the cluster

3. Присвойте кластеру следующее имя (AzSHCI-Cluster) и IP-адрес (10.0.0.111), и нажмите “Создать кластер”, чтобы создать новый кластер.

Creating the cluster

Как видно ниже, идет процесс создания кластера.

Verifying the cluster creation is in progress

4. Как только кластер создан, нажмите “Далее: Хранение”, чтобы продолжить настройку параметров хранения для кластера.

Proceeding to storage settings

Настройка хранения для кластера

После создания кластера необходимо создать подходящую систему хранения для обеспечения любой рабочей нагрузки. Для этого требуется подготовка с жесткими дисками, и необходимо активировать хранилище пространства Storage Space Direct (S2D).

1. На вкладке Хранение нажмите “Стереть диск”, чтобы удалить все существующие данные и начать с чистой и пустой системы.

Erasing drives

По запросу нажмите “Стереть диски”, чтобы подтвердить действие стирания дисков.

Confirming drives erasure

2. После стирания нажмите “Далее”, чтобы продолжить.

Continuing after drives erasure

3. Проверьте все доступные, доступные диски и их совместимость, проверенную в списке, как показано ниже, и нажмите “Далее”.

Хранилище было проверено на его пригодность для работы с Storage Space Direct (S2D).

Viewing available drives

4. Теперь подождите, пока завершится процесс проверки хранилища для работы с Storage Space Direct (S2D), и нажмите “Далее”.

Validating storage

5. Нажмите кнопку “Включить”, чтобы включить S2D для кластера.

Обратите внимание, что предоставление S2D может занять некоторое время.

Enabling Storage Spaces Direct

6. После включения S2D нажмите “Далее SDN”.

Continuing to Software Defined Network (SDN)

7. Теперь нажмите “Пропустить”, чтобы пропустить настройку инфраструктуры Software Defined Network (SDN).

SDN – довольно сложная тема и не может быть рассмотрена в этом руководстве. Так что ради простоты вы пропустите эту конфигурацию.

Skipping setting up SDN

8. Нажмите “Перейти к списку подключений”, чтобы получить доступ ко всем доступным подключениям для вашего кластера. Вывод ниже указывает, что кластер готов к использованию.

Accessing all available connections for the cluster

9. Наконец, щелкните по объекту кластера вашего сервера (azshci-cluster.corp.contoso.com), чтобы увидеть информацию о кластере.

Accessing the newly-created server cluster

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

Viewing the cluster’s health information

Заключение

A properly working test lab is essential before deciding to purchase or integrate a product into operations, especially if the necessary expenses will be relatively high. And in this tutorial, you have learned how to set up an Azure Stack HCI testing environment.

С этого момента, почему бы не исследовать доступные функциональности стека? С Azure Stack HCI вам больше не придется беспокоиться о наличии необходимого оборудования.

Source:
https://adamtheautomator.com/azure-stack-hci/