Устранение неполадок при регистрации Azure Stack HCI
Область применения: Azure Stack HCI версии 22H2
Внимание
Инструкции по устранению неполадок, приведенные в этой статье, относятся к старой версии Azure Stack HCI версии 22H2. Сведения об устранении неполадок с новыми развертываниями с последней общедоступной версией Azure Stack HCI версии 23H2 см. в статье "Поддержка проблем с развертыванием Azure Stack HCI".
Устранение неполадок с регистрацией Azure Stack HCI требует просмотра журналов регистрации PowerShell и журналов отладки hcisvc с каждого сервера в кластере.
Сбор журналов регистрации PowerShell
Register-AzStackHCI
Unregister-AzStackHCI
При выполнении командлетов файлы журналов с именем RegisterHCI_{ymmd-hhss}.log и UnregisterHCI_{ymmddd-hhss}.log создаются для каждой попытки. Каталог журнала для этих файлов журнала можно задать с помощью -LogsDirectory
параметра в командлете Register-AzStackHCI
и вызвать Get-AzStackHCILogsDirectory
для получения расположения. По умолчанию эти файлы создаются в C:\ProgramData\AzureStackHCI\Registration. Для модуля PowerShell версии 2.1.2 или более ранней эти файлы создаются в рабочем каталоге сеанса PowerShell, в котором выполняются командлеты.
По умолчанию журналы отладки не включаются. Если возникла проблема, требующая дополнительных журналов отладки, задайте для параметра отладки значение "Продолжить ", выполнив следующий командлет перед выполнением Register-AzStackHCI
или Unregister-AzStackHCI
:
$DebugPreference = 'Continue'
Сбор локальных журналов hcisvc
Чтобы включить журналы отладки для hcisvc, выполните следующую команду в PowerShell на каждом сервере в кластере:
wevtutil.exe sl /q /e:true Microsoft-AzureStack-HCI/Debug
Чтобы получить журналы, сделайте следующее:
Get-WinEvent -Logname Microsoft-AzureStack-HCI/Debug -Oldest -ErrorAction Ignore
Не удалось зарегистрировать. Не удалось создать самозаверяющий сертификат на узлах {Node1,Node2}. Не удалось задать и проверить сертификат регистрации на узлах {Node1,Node2}
Объяснение состояния сбоя:
Во время регистрации каждый сервер в кластере должен работать и работать с исходящим подключением к Интернету к Azure. Командлет Register-AzStackHCI взаимодействует с каждым сервером в кластере для подготовки сертификатов. Каждый сервер использует свой сертификат для вызова API к службам HCI в облаке для проверки регистрации.
Если регистрация завершается ошибкой, может возникнуть следующее сообщение: не удалось зарегистрировать. Не удалось создать самозаверяющий сертификат на узлах {Node1,Node2}. Не удалось задать и проверить сертификат регистрации на узлах {Node1,Node2}
Если после не удалось создать самозаверяющий сертификат на узлах в части сообщения об ошибке, система не смогла создать сертификат на этих серверах.
Действие исправления:
Убедитесь, что каждый сервер, указанный в приведенном выше сообщении, запущен и запущен. Вы можете проверить состояние hcisvc, выполнив
sc.exe query hcisvc
и запустите его при необходимостиstart-service hcisvc
.Убедитесь, что каждый сервер, указанный в сообщении об ошибке, имеет подключение к компьютеру, на котором
Register-AzStackHCI
выполняется командлет. Проверьте это, выполнив следующий командлет с компьютера, на которомRegister-AzStackHCI
выполняется запуск, с помощьюNew-PSSession
подключения к каждому серверу в кластере и убедитесь, что он работает:New-PSSession -ComputerName {failing nodes}
Если в сообщении об ошибке есть имена узлов после не удалось установить и проверить сертификат регистрации на узлах , служба смогла создать сертификат на серверах, но серверы не смогли успешно вызвать API облачной службы HCI. Устранение неполадок:
Убедитесь, что каждый сервер имеет необходимое подключение к Интернету для связи с облачными службами Azure Stack HCI и другими необходимыми службами Azure, такими как Идентификатор Microsoft Entra, и что он не блокируется брандмауэром. См . требования к брандмауэру для Azure Stack HCI.
Попробуйте запустить
Invoke-AzStackHciConnectivityValidation
командлет из модуля AzStackHCI.EnvironmentChecker и убедитесь, что он выполнен успешно. Этот командлет вызывает конечную точку работоспособности облачных служб HCI для тестирования подключения.Просмотрите журналы отладки hcisvc на каждом узле, указанном в сообщении об ошибке.
- Для выполнения операции ExecuteWithRetry AADTokenFetch произошла ошибка повтора с ошибкой повтора несколько раз, прежде чем выполнить ошибку ExecuteWithRetry AADTokenFetch завершилась сбоем после всех повторных попыток или операции ExecuteWithRetry AADTokenFetch успешно выполнена повторно.
- Если операция ExecuteWithRetry AADTokenFetch завершилась сбоем после всех повторных попыток в журналах, система не смогла получить маркер Microsoft Entra из службы даже после всех повторных попыток. Существует связанное исключение Microsoft Entra, которое регистрируется с этим сообщением.
- Если отображается AADSTS700027: утверждение клиента содержит недопустимую подпись. [Причина — срок действия ключа истек. Отпечаток ключа, используемого клиентом: "{SomeThumbprint}", найден ключ "Start=06/29/2021 21:13:15, End=06/29/2023 21:13:15", это проблема с настройкой времени на сервере. Проверьте время UTC на всех серверах, выполнив в
[System.DateTime]::UtcNow
PowerShell, и сравните его с фактическим временем в формате UTC. Если время не правильно, установите правильное время на серверах и повторите регистрацию.
Удаление ресурса HCI на портале и повторная регистрация одного кластера приводит к проблемам
Объяснение состояния сбоя:
Если вы явно удалили ресурс кластера Azure Sack HCI из портал Azure без первой отмены регистрации кластера из Центра администрирования Windows или PowerShell, удаление ресурса Azure Resource Manager HCI непосредственно на портале приведет к возникновению состояния ресурсов плохого кластера. Отмена регистрации должна всегда запускаться из кластера HCI с помощью командлета Unregister-AzStackHCI
для чистой отмены регистрации. В этом разделе описаны шаги очистки для сценариев, в которых ресурс кластера HCI был удален с портала.
Действие исправления:
- Войдите на локальный сервер кластера HCI с помощью учетных данных пользователя кластера.
- Выполните командлет в кластере
Unregister-AzStackHCI
, чтобы очистить состояние регистрации кластера и состояние Arc кластера.- Если отмена регистрации завершается успешно, перейдите к идентификатору Microsoft Entra ID > Регистрация приложений (все приложения) и найдите соответствующее
clusterName
имя иclusterName.arc
. Удалите два идентификатора приложения, если они существуют. - Если отмена регистрации завершается ошибкой с ошибкой : не удалось отключить интеграцию Azure Arc с <именем> узла, попробуйте запустить
Disable-AzureStackHCIArcIntegration
командлет на узле. Если узел находится в состоянии, гдеDisable-AzureStackHCIArcIntegration
не удается запустить, удалите узел из кластера и повторите попытку выполнения командлетаUnregister-AzStackHCI
. Войдите на каждый отдельный узел:- Измените каталог, на который установлен агент Arc:
cd 'C:\Program Files\AzureConnectedMachineAgent\'
- Получите состояние arcmagent.exe и определите группу ресурсов Azure, в которую она проецируется:
.\azcmagent.exe show
Выходные данные для этой команды отображают сведения о группе ресурсов. - Принудительное отключение агента Arc от узла:
.\azcmagent.exe disconnect --force-local-only
- Войдите в портал Azure и удалите ресурс Arc-for-Server из группы ресурсов, определенной на шаге II.
- Измените каталог, на который установлен агент Arc:
- Если отмена регистрации завершается успешно, перейдите к идентификатору Microsoft Entra ID > Регистрация приложений (все приложения) и найдите соответствующее
Пользователь удалил идентификаторы приложений по ошибке
Объяснение состояния сбоя:
Если кластер отключен более 8 часов, возможно, что связанные регистрации приложений Microsoft Entra, представляющие кластер HCI и регистрации Arc, могли быть случайно удалены. Для правильного функционирования кластера HCI и сценариев Arc во время регистрации в клиенте создаются две регистрации приложений.
<clustername>
Если идентификатор приложения удален, ресурс кластера Azure Connection в портал Azure отображает отключенный кластер — кластер не находится в состоянии подключения более 8 часов. Просмотрите журналы отладки HCIsvc на узле: сообщение об ошибке — "Приложение с идентификатором<"> не найдено в каталоге "Каталог по умолчанию". Это может произойти, если приложение не было установлено администратором клиента или предоставлено согласие любому пользователю в клиенте. Возможно, вы отправили запрос проверки подлинности неправильному клиенту.- Если
<clustername>.arc
во время включения Arc удаляется, во время обычной операции не возникают видимые ошибки. Это удостоверение требуется только во время процессов регистрации и отмены регистрации. В этом сценарии отмена регистрации завершается сбоем с ошибкой Не удалось отключить интеграцию Azure Arc с именем> узла узла<. Попробуйте запустить командлет Disable-AzureStackHCIArcIntegration на узле. Если узел находится в состоянии, в котором не удалось запустить командлет Disable-AzureStackHCIArcIntegration, удалите узел из кластера и повторите попытку выполнить командлет Unregister-AzStackHCI.
Удаление любого из этих приложений приводит к сбою обмена данными из кластера HCI с облаком.
Действие исправления:
Если удаляется только
<clustername> AppId
удаление, выполните регистрацию восстановления в кластере, чтобы настроить приложения Microsoft Entra:Register-AzStackHCI -SubscriptionId "<subscription_ID>" -ComputerName Server1 -RepairRegistration
Восстановление регистрации повторно создает необходимые приложения Microsoft Entra при сохранении других сведений, таких как имя ресурса, группа ресурсов и другие варианты регистрации.
<clustername>.arc
Если идентификатор приложения удален, в журналах не отображается видимая ошибка. Отмена регистрации завершается ошибкой при<clustername>.arc
удалении. Если отмена регистрации завершается ошибкой, выполните то же действие исправления, описанное в этом разделе.
Ошибка вне политики
Объяснение состояния сбоя:
Если ранее зарегистрированный кластер отображает состояние OutOfPolicy, изменения в конфигурации системы могут привести к выходу из политики состояния регистрации Azure Stack HCI.
Например, системные изменения могут включать в себя, но не ограничиваются следующими:
- Отключение параметров безопасной загрузки вызывает конфликт на зарегистрированном узле.
- Очистка доверенного платформенного модуля (TPM).
- Существенное изменение системного времени.
Примечание.
Azure Stack HCI 21H2 с KB5010421 и более поздними версиями попытается автоматически восстановиться из состояния OutOfPolicy . Дополнительные сведения о состоянии OutOfPolicy и других сведениях см. в журнале событий Microsoft-AzureStack-HCI/Admin.
Какие сообщения идентификатора событий OutOfPolicy можно было ожидать, чтобы увидеть во время регистрации?
Существует три типа сообщений идентификатора события: информационные, предупреждения и ошибки.
Следующие сообщения были обновлены с помощью Azure Stack HCI 21H2 с KB5010421 и не будут замечены, если эта база знаний не установлена.
Информационный идентификатор события
Информационные идентификаторы событий, возникающие во время регистрации. Просмотрите и выполните следующие действия по любым предложениям в сообщении:
(Информационное) Идентификатор события 592: "Azure Stack HCI инициировал восстановление своих данных. В настоящее время никаких дальнейших действий от пользователя не требуется".
(Информационное) Идентификатор события 594: "Azure Stack HCI столкнулся с ошибкой доступа к данным. Чтобы восстановить, проверьте, какие узлы затронуты. Если весь кластер — OutOfPolicy (запуск Get-AzureStackHCI) выполните команду Unregister-AzStackHCI в кластере, перезапустите и запустите Register-AzStackHCI. Если затронут только этот узел, удалите этот узел из кластера, перезапустите и дождитесь завершения восстановления, а затем снова присоединитесь к кластеру".
Идентификатор события предупреждения
При появлении предупреждений состояние регистрации не завершено. Может возникнуть или не может возникнуть проблема. Сначала просмотрите сообщение идентификатора события, прежде чем принимать все этапы устранения неполадок.
(Предупреждение) Идентификатор события 585: "Azure Stack HCI не удалось продлить лицензию из Azure. Чтобы получить дополнительные сведения об конкретной ошибке, включите канал событий Microsoft-AzureStack-HCI/Debug".
Примечание.
Возможные задержки при повторном установке полного подключения к Azure ожидаются после успешного автоматического восстановления и могут привести к отображению идентификатора события 585 . Это не влияет на рабочие нагрузки или лицензирование узла. То есть существует по-прежнему установленная лицензия, если узел не был вне 30-дневного окна до автоматического восстановления.
Примечание.
В некоторых случаях Azure Stack HCI не может завершиться автоматическим восстановлением. Это может произойти, когда состояние регистрации всех узлов в кластере выходит за пределы политики. Требуются некоторые действия вручную. См. сообщения об идентификаторе событий Microsoft-AzureStack-HCI/Admin .
Идентификатор события ошибки
Сообщения об ошибках идентификатора события определяют сбой в процессе регистрации. Сообщение об ошибке содержит инструкции по устранению ошибки.
(Ошибка) Идентификатор события 591: "Azure Stack HCI не удалось подключиться к Azure. Если вы продолжаете видеть эту ошибку, попробуйте снова запустить
Register-AzStackHCI
с параметром-RepairRegistration
".(Ошибка) Идентификатор события 594: "Azure Stack HCI столкнулся с ошибкой доступа к данным. Чтобы восстановить, проверьте, какие узлы затронуты. Если весь кластер является OutOfPolicy (run
Get-AzureStackHCI
), выполняетсяUnregister-AzStackHCI
в кластере, перезапускается и запускаетсяRegister-AzStackHCI
. Если затронут только этот узел, удалите его из кластера, перезапустите кластер, дождитесь завершения исправления, а затем снова подключитесь к кластеру."
Кластер и ресурс Arc в портал Azure существует, но состояние Get-AzureStackHCI означает "Еще не зарегистрировано"
Объяснение состояния сбоя:
Эта проблема вызвана отменой регистрации кластера HCI с неправильной облачной средой или неправильной информацией о подписке. Если пользователь запускает Unregister-AzStackHCI
командлет с неверными -EnvironmentName
параметрами или -SubcriptionId
параметрами для кластера, состояние регистрации кластера удаляется из локального кластера, но ресурсы кластера и Arc в портал Azure по-прежнему будут существовать в исходной среде или подписке.
Например:
Неправильно
-EnvironmentName <value>
. Вы зарегистрировали кластер в-EnvironmentName AzureUSGovernment
следующем примере. Значение по умолчанию-EnvironmentName
— Azurecloud. Например, вы выполнили следующие действия:Register-AzStackHCI -SubscriptionId "<subscription_ID>" -EnvironmentName AzureUSGovernment
Но затем вы выполнили
Unregister-AzStackHCI
командлет (-EnvironmentName Azurecloud
по умолчанию) следующим образом:Unregister-AzStackHCI -SubscriptionId "<subscription_ID>"
Неправильно
-SubscriptionId <value>
: вы зарегистрировали кластер-SubscriptionId "<subscription_id_1>"
следующим образом:Register-AzStackHCI -SubscriptionId "<subscription_id_1>"
Но затем вы выполнили
Unregister-AzStackHCI
командлет для другого идентификатора подписки:Unregister-AzStackHCI -SubscriptionId "<subscription_id_2>"
Действие исправления:
- Удалите ресурсы кластера и Arc на портале.
- Перейдите к идентификатору Microsoft Entra ID > Регистрация приложений (все приложения) и найдите соответствующее
<clusterName>
имя, а<clusterName>.arc
затем удалите два идентификатора приложения.
Выдача Sync-AzureStackHCI сразу после перезапуска узлов кластера приводит к удалению ресурсов Arc
Объяснение состояния сбоя:
Выполнение синхронизации переписи перед синхронизацией узлов может привести к отправке синхронизации в Azure, которая не включает узел. Это приводит к удалению ресурса Arc для этого узла. Командлет Sync-AzureStackHCI
должен использоваться только для отладки облачного подключения кластера HCI. Кластер HCI имеет небольшое время прогревание после перезагрузки для согласования состояния кластера; поэтому не выполняйте его Sync-AzureStackHCI
в ближайшее время после перезагрузки узла.
Действие исправления:
В портал Azure войдите на узел, который отображается как "Не установлен".
Отключите агент Arc с помощью следующих двух команд:
cd "C:\Program Files\AzureConnectedMachineAgent"
then …
.\azcmagent.exe disconnect --force-local-only
Восстановление регистрации:
Register-AzStackHCI -SubscriptionId "<subscription_ID>" -ComputerName Server1 -RepairRegistration
После операции восстановления узел возвращается в подключенное состояние.
Регистрация завершается успешно, но подключение Azure Arc на портале говорит, что не установлено
Сценарий 1
Объяснение состояния сбоя:
Это может произойти, если необходимая роль Azure Connected Machine Resource Manager удалена из поставщика ресурсов HCI в группе ресурсов Arc-for-Server.
Разрешение можно найти в колонке контроль доступа группы ресурсов в портал Azure. На следующем рисунке показано разрешение:
Действие исправления:
Запустите командлет регистрации восстановления:
Register-AzStackHCI -TenantId "<tenant_ID>" -SubscriptionId "<subscription_ID>" -ComputerName Server1 -RepairRegistration
Сценарий 2
Объяснение состояния сбоя:
Это сообщение также может возникать из-за временной проблемы, которая иногда возникает при регистрации Azure Stack HCI. В этом случае Register-AzStackHCI
командлет отображает следующее предупреждение:
Действие исправления:
Подождите 12 часов после регистрации, чтобы проблема была устранена автоматически.
Сценарий 3
Объяснение состояния сбоя:
Это также может произойти, если прокси-сервер не настроен правильно для подключения к облачным службам Azure ARC с узлов HCI. В журналах агента Arc может появиться следующая ошибка:
Действие исправления:
Чтобы устранить эту проблему, следуйте рекомендациям по обновлению параметров прокси-сервера. Затем повторно зарегистрируйте кластер Azure Stack HCI.
Не удается повернуть сертификаты в Fairfax и Mooncake
Объяснение состояния сбоя:
- В портал Azure подключение к кластеру отображается "Отключено".
- Просмотрите журналы отладки HCIsvc на узле. Сообщение об ошибке является исключением: AADSTS700027: сбой проверки подписи утверждения клиента.
- Ошибка также может отображаться как сбой RotateRegistrationCertificate: недопустимая аудитория.
Действие исправления:
Выполните регистрацию восстановления в кластере, чтобы добавить новые сертификаты в приложение Microsoft Entra:
Register-AzStackHCI -SubscriptionId "<subscription_ID>" -ComputerName Server1 -RepairRegistration
Восстановление регистрации создает новые сертификаты замены в приложении Microsoft Entra, сохраняя другие сведения, такие как имя ресурса, группа ресурсов и другие варианты регистрации.
OnPremisesPasswordValidationTimeSkew
Объяснение состояния сбоя:
Создание маркера Microsoft Entra завершается ошибкой времени, если время локального узла слишком далеко не синхронизировано с истинным текущим временем (UTC). Идентификатор Microsoft Entra возвращает следующую ошибку:
AADSTS80013: OnPremisesPasswordValidationTimeSkew — попытка проверки подлинности не может быть завершена из-за того, что между компьютером, на котором выполняется агент проверки подлинности, и AD. Устраните проблемы с синхронизацией времени.
Действие исправления:
Убедитесь, что время синхронизировано с известным и точным источником времени.
Не удалось получить маркер для клиента с ошибкой
Объяснение состояния сбоя:
Если учетная запись пользователя, используемая для регистрации, входит в состав нескольких клиентов Microsoft Entra, необходимо указать -TenantId
во время регистрации кластера и отмены регистрации, в противном случае ошибка завершается сбоем с ошибкой при получении маркера для клиента с ошибкой. Для доступа к клиенту необходимо использовать многофакторную проверку подлинности. Повторите запуск Connect-AzAccount
с дополнительным параметром -TenantId
.
Действие исправления:
Для регистрации кластера укажите
-TenantId
параметр:Register-AzStackHCI -SubscriptionId "<subscription_ID>" -ComputerName Server1 -TenantId <Tenant_ID>
Для отмены регистрации укажите
-TenantId
параметр:Unregister-AzStackHCI -ComputerName ClusterNode1 -SubscriptionId "<subscription ID GUID>" -ResourceName HCI001 -TenantId <Tenant_ID>
Один или несколько узлов кластера не могут подключиться к Azure
Объяснение состояния сбоя:
Эта проблема возникает, когда один или несколько узлов кластера имели проблемы с подключением после регистрации и не смогли подключиться к Azure в течение длительного времени. Даже после устранения проблем с подключением узлы не могут повторно подключиться к Azure из-за истечения срока действия сертификатов.
Действие исправления:
Войдите в отключенный узел.
Запустите
Disable-AzureStackHCIArcIntegration
.Проверьте состояние интеграции ARC, выполнив его
Get-AzureStackHCIArcIntegration
, и убедитесь, что теперь для отключенного узла указано значение "Отключено".Войдите в портал Azure и удалите ресурс Azure Resource Manager, представляющий сервер Arc для этого узла.
Снова войдите в отключенный узел и выполните команду
Enable-AzureStackHCIArcIntegration
.Запустите
Sync-AzureStackHCI
на узле.
Сбой задания при попытке создания виртуальной машины
Объяснение состояния сбоя:
Если кластер не зарегистрирован в Azure при развертывании или если кластер зарегистрирован, но не подключен к Azure более 30 дней, система не позволит создавать или добавлять новые виртуальные машины. При этом при попытке создания виртуальных машин появится следующее сообщение об ошибке:
There was a failure configuring the virtual machine role for 'vmname'. Job failed. Error opening "vmname" clustered roles. The service being accessed is licensed for a particular number of connections. No more connections can be made to the service at this time because there are already as many connections as the service can accept.
Действие исправления:
Зарегистрируйте кластер HCI в Azure. Сведения о регистрации кластера см. в инструкциях по Register-AzStackHCI.
Использование общей группы ресурсов для ресурсов кластера и Arc-for-Server
Последний модуль PowerShell поддерживает общую группу ресурсов как для кластерных, так и для ресурсов Arc for-Server или с помощью любой предварительно существующей группы ресурсов для ресурсов Arc-for-Server.
Для кластеров, зарегистрированных в модуле PowerShell версии 1.4.1 или более ранней версии, можно выполнить следующие действия, чтобы использовать новую функцию:
- Отмена регистрации кластера путем запуска
Unregister-AzStackHCI
из одного из узлов. См . раздел отмены регистрации Azure Stack HCI с помощью PowerShell. - Установите последний модуль PowerShell:
Install-Module Az.StackHCI -Force
- Выполнитеся
Register-AzStackHCI
путем передачи соответствующих параметров для-ResourceGroupName
и-ArcForServerResourceGroupName
.
Примечание.
Если вы используете отдельную группу ресурсов для ресурсов Arc for-Server, рекомендуется использовать группу ресурсов с ресурсами Arc for-Server, связанными только с Azure Stack HCI. У поставщика ресурсов Azure Stack HCI есть разрешения на управление другими ресурсами Arc-for-Server в ArcServerResourceGroup.