Поделиться через


Устранение неполадок при регистрации 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}

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

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

  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, и что он не блокируется брандмауэром. См . требования к брандмауэру для 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=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 был удален с портала.

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

  1. Войдите на локальный сервер кластера HCI с помощью учетных данных пользователя кластера.
  2. Выполните командлет в кластере Unregister-AzStackHCI , чтобы очистить состояние регистрации кластера и состояние Arc кластера.
    • Если отмена регистрации завершается успешно, перейдите к идентификатору Microsoft Entra ID > Регистрация приложений (все приложения) и найдите соответствующее clusterName имя и clusterName.arc. Удалите два идентификатора приложения, если они существуют.
    • Если отмена регистрации завершается ошибкой с ошибкой : не удалось отключить интеграцию 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 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 (runGet-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"
    

    then …

    .\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 подключение к кластеру отображается "Отключено".
  2. Просмотрите журналы отладки HCIsvc на узле. Сообщение об ошибке является исключением: AADSTS700027: сбой проверки подписи утверждения клиента.
  3. Ошибка также может отображаться как сбой 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 из-за истечения срока действия сертификатов.

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

  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.

Следующие шаги