Устранение неполадок с регистрацией Azure Stack HCI

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

Важно!

Инструкции по устранению неполадок, приведенные в этой статье, относятся к более старой версии Azure Stack HCI версии 22H2. Сведения об устранении неполадок с новыми развертываниями под управлением последней общедоступной версии Azure Stack HCI версии 23H2 см. в статье Получение поддержки для проблем с развертыванием Azure Stack HCI.

Для устранения неполадок с регистрацией Azure Stack HCI необходимо искать журналы регистрации PowerShell и журналы отладки hcisvc с каждого сервера в кластере.

Сбор журналов регистрации PowerShell

Register-AzStackHCI При выполнении командлетов и Unregister-AzStackHCI файлы журналов с именем RegisterHCI_{yyyymmdd-hhss}.log и UnregisterHCI_{yyyymmdd-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}

Если после сообщения об ошибке не удалось создать самозаверяющий сертификат на узлах , система не смогла создать сертификат на этих серверах.

Действие по исправлению:

  1. Убедитесь, что все серверы, перечисленные в приведенном выше сообщении, запущены и запущены. Вы можете проверка состояние hcisvc, запустив sc.exe query hcisvc и при необходимости запустите его с start-service hcisvcпомощью .

  2. Убедитесь, что каждый сервер, указанный в сообщении об ошибке, подключен к компьютеру Register-AzStackHCI , на котором выполняется командлет. Убедитесь, что это, выполнив следующий командлет с компьютера, на котором Register-AzStackHCI выполняется, используйте New-PSSession для подключения к каждому серверу в кластере и убедитесь, что он работает:

    New-PSSession -ComputerName {failing nodes}
    

Если после части сообщения об ошибке не удалось задать и проверить сертификат регистрации на узлах есть имена узлов, служба смогла создать сертификат на серверах, но серверы не смогли успешно вызвать API облачной службы HCI. Чтобы устранить ошибку, сделайте следующее:

  1. Убедитесь, что у каждого сервера есть необходимое подключение к Интернету для взаимодействия с облачными службами Azure Stack HCI и другими необходимыми службами Azure, такими как Microsoft Entra ID, и что они не блокируются брандмауэрами. См . статью Требования к брандмауэру для Azure Stack HCI.

  2. Попробуйте выполнить Invoke-AzStackHciConnectivityValidation командлет из модуля AzStackHCI.EnvironmentChecker и убедитесь, что он выполнен успешно. Этот командлет вызывает конечную точку работоспособности облачных служб HCI для проверки подключения.

  3. Просмотрите журналы отладки hcisvc на каждом узле, указанном в сообщении об ошибке.

    • Это нормально, если сообщение Операция ExecuteWithRetry AADTokenFetch завершилась сбоем с ошибкой повторных попыток , появлялось несколько раз, прежде чем операция ExecuteWithRetry AADTokenFetch завершилась сбоем после всех повторных попыток или операции ExecuteWithRetry AADTokenFetch успешно выполнена повторная попытка.
    • Если операция ExecuteWithRetry AADTokenFetch завершилась сбоем после всех повторных попыток в журналах, система не смогла получить маркер Microsoft Entra из службы даже после всех повторных попыток. Существует связанное исключение Microsoft Entra, которое регистрируется с этим сообщением.
    • Если отображается AADSTS700027: утверждение клиента содержит недопустимую подпись. [Причина — срок действия используемого ключа истек. Отпечаток ключа, используемого клиентом: "{SomeThumbprint}", найден ключ "Start=29.06.2021 21:13:15, End=29.06.2023 21:13:15", это проблема с тем, как задано время на сервере. Проверьте время в формате UTC на всех серверах, запустив [System.DateTime]::UtcNow в PowerShell, и сравните его с фактическим временем в формате UTC. Если задано неправильное время, задайте правильное время на серверах и повторите попытку регистрации.

Удаление ресурса HCI с портала и повторная регистрация того же кластера приводит к проблемам

Объяснение состояния сбоя:

Если вы явно удалили ресурс кластера Azure Sack HCI из портал Azure без предварительной отмены регистрации кластера из Windows Admin Center или PowerShell, удаление ресурса azure Resource Manager HCI непосредственно с портала приведет к неправильному состоянию ресурса кластера. Отмена регистрации всегда должна запускаться в кластере HCI с помощью командлета Unregister-AzStackHCI для чистой отмены регистрации. В этом разделе описаны действия по очистке для сценариев, в которых ресурс кластера HCI был удален с портала.

Действие по исправлению:

  1. Войдите на локальный сервер кластера HCI, используя учетные данные пользователя кластера.
  2. Unregister-AzStackHCI Выполните командлет в кластере, чтобы очистить состояние регистрации кластера и состояние Arc кластера.
    • Если отмена регистрации выполнена успешно, перейдите к Microsoft Entra ID > Регистрация приложений (Все приложения) и найдите имя, соответствующее clusterName и clusterName.arc. Удалите два идентификатора приложений, если они существуют.
    • Если отмена регистрации завершается ошибкой ERROR: Не удалось отключить интеграцию Azure Arc с <именем> узла, попробуйте запустить Disable-AzureStackHCIArcIntegration командлет на узле. Если узел находится в состоянии, в Disable-AzureStackHCIArcIntegration котором невозможно запустить, удалите узел из кластера и повторите попытку выполнения командлета Unregister-AzStackHCI . Войдите на каждый отдельный узел:
      1. Перейдите в каталог, в котором установлен агент Arc: cd 'C:\Program Files\AzureConnectedMachineAgent\'.
      2. Получите состояние arcmagent.exe и определите группу ресурсов Azure, в которую она проецируется: .\azcmagent.exe show. В выходных данных этой команды отображаются сведения о группе ресурсов.
      3. Принудительное отключение агента Arc от узла: .\azcmagent.exe disconnect --force-local-only.
      4. Войдите в портал Azure и удалите ресурс Arc-for-Server из группы ресурсов, определенной на шаге ii.

Пользователь удалил идентификаторы приложений по ошибке

Объяснение состояния сбоя:

Если кластер отключен более чем на 8 часов, возможно, что связанные Microsoft Entra регистрации приложений, представляющие кластер HCI и регистрации Arc, могли быть случайно удалены. Для правильного функционирования кластеров HCI и сценариев Arc во время регистрации в клиенте создаются две регистрации приложений.

  • При удалении <clustername> идентификатора приложения для ресурса кластера Подключение Azure в портал Azure отображается состояние Отключено — кластер не находится в подключенном состоянии более 8 часов. Просмотрите журналы отладки HCIsvc на узле: сообщение об ошибке Приложение с идентификатором "<ID>" не найдено в каталоге "Каталог по умолчанию". Это может произойти, если приложение не было установлено администратором клиента или не было предоставлено согласием какого-либо пользователя в клиенте. Возможно, вы отправили запрос на проверку подлинности в неправильный клиент.
  • Если <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/Администратор.

Какие сообщения об идентификаторе события 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/Администратор.

Идентификатор события ошибки

Сообщения об ошибках идентификатора события указывают на сбой в процессе регистрации. Сообщение об ошибке содержит инструкции по устранению ошибки.

  • (Ошибка) Идентификатор события 591: "Azure Stack HCI не удалось подключиться к Azure. Если эта ошибка по-прежнему отображается, попробуйте выполнить Register-AzStackHCI еще раз с параметром -RepairRegistration ".

  • (Ошибка) Идентификатор события 594: "В Azure Stack HCI произошла ошибка при доступе к своим данным. Чтобы восстановить, проверка, какие узлы затронуты, если весь кластер outOfPolicy (запуск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>"
    

Действие по исправлению:

  1. Удалите ресурсы кластера и Arc с портала.
  2. Перейдите к Microsoft Entra ID > Регистрация приложений (Все приложения) и найдите имя, соответствующее<clusterName>, а <clusterName>.arcзатем удалите два идентификатора приложений.

Выдача Sync-AzureStackHCI сразу после перезапуска узлов кластера приводит к удалению ресурсов Arc.

Объяснение состояния сбоя:

Выполнение синхронизации переписи до синхронизации узла может привести к отправке синхронизации в Azure, которая не включает узел. Это приводит к удалению ресурса Arc для этого узла. Командлет Sync-AzureStackHCI необходимо использовать только для отладки подключения к облаку кластера HCI. Кластер HCI имеет небольшое время прогрева после перезагрузки для согласования состояния кластера; поэтому не выполняйте его Sync-AzureStackHCI вскоре после перезагрузки узла.

Действие по исправлению:

  1. На портал Azure войдите в узел, который отображается как Не установлен.

  2. Отключите агент Arc с помощью следующих двух команд:

    cd "C:\Program Files\AzureConnectedMachineAgent"
    

    а затем —

    .\azcmagent.exe disconnect --force-local-only
    
  3. Восстановите регистрацию:

    Register-AzStackHCI  -SubscriptionId "<subscription_ID>" -ComputerName Server1  -RepairRegistration
    
  4. После операции восстановления узел возвращается в подключенное состояние.

Регистрация успешно завершена, но подключение 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 командлет отображает следующее предупреждающее сообщение:

Снимок экрана: выходное сообщение из командлета Register-AzStackHCI.

Действие по исправлению:

Подождите 12 часов после регистрации, чтобы проблема была решена автоматически.

Сценарий 3

Объяснение состояния сбоя:

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

Снимок экрана: журналы агента Arc.

Действие по исправлению:

Чтобы устранить эту проблему, следуйте рекомендациям по обновлению параметров прокси-сервера. Затем повторно зарегистрируйте кластер Azure Stack HCI.

Не удается сменить сертификаты в Fairfax и Mooncake

Объяснение состояния сбоя:

  1. В портал Azure для ресурса кластера Подключение Azure отображается значение Отключено.
  2. Просмотрите журналы отладки HCIsvc на узле. Сообщение об ошибке — исключение: AADSTS700027: утверждение клиента не удалось проверить подпись.
  3. Ошибка также может отображаться как RotateRegistrationCertificate failed: Invalid Audience ( Недопустимая аудитория).

Действие по исправлению:

Выполните регистрацию восстановления в кластере, чтобы добавить новые сертификаты в приложение Microsoft Entra:

Register-AzStackHCI  -SubscriptionId "<subscription_ID>" -ComputerName Server1 -RepairRegistration

Восстановление регистрации создает новые сертификаты замены в приложении Microsoft Entra, сохраняя при этом другие сведения, такие как имя ресурса, группа ресурсов и другие варианты регистрации.

OnPremisesPasswordValidationTimeSkew

Объяснение состояния сбоя:

Microsoft Entra создание маркера завершается с ошибкой времени, если время локального узла слишком далеко не синхронизировано с истинным текущим временем (UTC). Microsoft Entra ID возвращает следующую ошибку:

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 из-за просроченных сертификатов.

Действие по исправлению:

  1. Войдите на отключенный узел.

  2. Выполните команду Disable-AzureStackHCIArcIntegration.

  3. Проверьте состояние интеграции ARC, выполнив команду Get-AzureStackHCIArcIntegration и убедитесь, что для отключенного узла отображается сообщение "Отключено".

    Снимок экрана: выходные данные командлета Get-AzureStackHCIArcIntegration.

  4. Войдите в портал Azure и удалите ресурс azure Resource Manager, представляющий сервер Arc для этого узла.

  5. Войдите на отключенный узел еще раз и выполните команду Enable-AzureStackHCIArcIntegration.

  6. Выполните на 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 или более ранней, можно выполнить следующие действия, чтобы использовать новую функцию:

  1. Отмените регистрацию кластера, выполнив команду Unregister-AzStackHCI с одного из узлов. См. раздел Отмена регистрации Azure Stack HCI с помощью PowerShell.
  2. Установите последнюю версию модуля PowerShell: Install-Module Az.StackHCI -Force.
  3. Выполните, Register-AzStackHCI передав соответствующие параметры для -ResourceGroupName и -ArcForServerResourceGroupName.

Примечание

Если вы используете отдельную группу ресурсов для ресурсов Arc-for-Server, рекомендуется использовать группу ресурсов с ресурсами Arc-for-Server, связанными только с Azure Stack HCI. Поставщик ресурсов Azure Stack HCI имеет разрешения на управление любыми другими ресурсами Arc-for-Server в ArcServerResourceGroup.

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