Udostępnij za pośrednictwem


Rozwiązywanie problemów z zarządzaniem maszynami wirtualnymi usługi Azure Arc

Dotyczy: Azure Stack HCI, wersja 23H2

Ten artykuł zawiera wskazówki dotyczące zbierania dzienników i rozwiązywania problemów z maszynami wirtualnymi usługi Azure Arc w klastrze azure Stack HCI. Zawiera również listę ograniczeń i znanych problemów, które obecnie istnieją w przypadku zarządzania maszynami wirtualnymi usługi Azure Arc.

Zbieranie dzienników

Dzienniki można zbierać w celu identyfikowania i rozwiązywania problemów z maszynami wirtualnymi usługi Arc w systemie Azure Stack HCI. Użyj tych dzienników, aby zebrać kluczowe informacje przed skontaktowanie się z pomocą techniczną firmy Microsoft w celu uzyskania dodatkowej pomocy.

Upewnij się, że masz najnowszy moduł programu PowerShell na potrzeby zbierania dzienników. Aby zaktualizować moduł programu PowerShell, uruchom następujące polecenie:

#Update the PowerShell module
Install-Module -Name ArcHci -Force -Confirm:$false -SkipPublisherCheck -AcceptLicense

Aby zebrać dzienniki maszyn wirtualnych usługi Arc w klastrze usługi Azure Stack HCI, uruchom następujące polecenie:

$csv_path="<input-from-admin>"
$VMIP_1="<input-from-admin>"
az login --use-device-code
Get-ArcHCILogs -workDirectory $csv_path\ResourceBridge -kvaTokenPath $csv_path\ResourceBridge\kvatoken.tok -ip $VMIP_1

gdzie:

  • $csv_path to pełna ścieżka udostępnionego woluminu klastra udostępnionego do tworzenia mostka zasobów usługi Arc.

  • $VMIP_1 to adres IP maszyny wirtualnej mostka zasobów usługi Arc.

  • Opcjonalnie ustaw -logDir parametr , aby określić ścieżkę do katalogu, w którym są przechowywane wygenerowane dzienniki. Jeśli nie określisz ścieżki lub parametru, domyślnie dzienniki są przechowywane w bieżącym katalogu roboczym.

Rozwiązywanie problemów z maszynami wirtualnymi usługi Azure Arc

W tej sekcji opisano błędy związane z zarządzaniem maszynami wirtualnymi usługi Azure Arc i ich zalecanymi rozwiązaniami.

Niepowodzenie podczas próby włączenia zarządzania gościem

Podczas próby uruchomienia polecenia w celu włączenia zarządzania gościem zostanie wyświetlony następujący błąd:

Błąd: Deployment failed. Correlation ID: 5d0c4921-78e0-4493-af16-dffee5cbf9d8. VM Spec validation failed for guest agent provisioning: Invalid managed identity. A system-assigned managed identity must be enabled in parent resource: Invalid Configuration

Powyższy błąd jest spowodowany tym, że tożsamość zarządzana nie została utworzona dla tej maszyny wirtualnej. Tożsamość zarządzana przypisana przez system jest wymagana do włączenia zarządzania gościem.

Rozwiązanie:

Wykonaj następujące kroki, aby sprawdzić, czy tożsamość zarządzana nie została utworzona dla tej maszyny wirtualnej, a następnie włącz tożsamość zarządzaną przypisaną przez system.

  1. W witrynie Azure Portal przejdź do maszyny wirtualnej. Przejdź do strony Przegląd . Na karcie Właściwości w obszarze Konfiguracja zarządzanie gościem powinno być wyświetlane jako Wyłączone. Wybierz widok JSON w prawym górnym rogu.

    Zrzut ekranu przedstawiający sposób uzyskiwania dostępu do widoku JSON.

  2. W obszarze Identity parametru wartość powinna być wyświetlana type jako None.

    Zrzut ekranu przedstawiający widok JSON wskazujący, że tożsamość zarządzana jest nieobecna.

  3. Aby utworzyć tożsamość zarządzaną, połącz się z serwerem Azure Stack HCI za pośrednictwem protokołu RDP. Uruchom następujące polecenie:

    az extension add --name connectedmachine
    
  4. Sprawdź, czy rozszerzenie interfejsu wiersza polecenia połączonej maszyny jest zainstalowane w klastrze. Oto przykładowe dane wyjściowe z pomyślnie zainstalowanym rozszerzeniem. Wskazuje connectedmachine , że jest zainstalowana wersja 0.7.0.

    [v-hostl]: PS C:\Clusterstorage\lnfrastructure_l\ArcHci> az version
    {
    "azure-cli": "2.53.0",
    "azure-cli-core": "2.53.0",
    "azure-cli-telemetry": "1.1.0",
    "extensions": {
        "akshybrid": "0.1.1",
        "arcappliance"^ "1.0.2",
        "connectedk8s": "1.5.4",
        "connectedmachine": "0.7.0",
        "customlocation": "0.1.3",
        "hybridaks": "0.2.4",
        "k8s-extension": "1.4.5",
        "stack-hci-vm": "0.1.8"
        }
    }
    [v-hostl]: PS C:\ClusterStorage\Infrastructure_l\ArcHci>
        ```
    
  5. Uruchom następujące polecenie, aby przypisać tożsamość zarządzaną systemu do maszyny wirtualnej.

    az connectedmachine update --ids "<Resource Manager ID for the VM>" --set identity.type="SystemAssigned"
    
  6. Przejdź do witryny Azure Portal i przejdź do strony Przegląd . Widok JSON powinien wskazywać, że tożsamość zarządzana systemu jest teraz przypisana do maszyny wirtualnej.

    Zrzut ekranu przedstawiający widok JSON po włączeniu tożsamości zarządzanej.

Niepowodzenie wdrażania maszyny wirtualnej usługi Arc

Podczas próby wdrożenia maszyny wirtualnej usługi Arc w klastrze azure Stack HCI jest wyświetlany następujący błąd:

Błąd: {"code":"ConflictingOperation","message":"Unable to process request 'Microsoft.AzureStackHCI/virtualMachineInstances'. There is already a previous running operation for resource '/subscriptions/<subscription ID>/resourceGroups/<Resource group name>/providers/Microsoft.HybridCompute/machines/<VM name>/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default'. Please wait for the previous operation to complete."}

Powyższy błąd jest spowodowany tym, że obiekt tożsamości zarządzanej SystemAssigned nie znajduje się w typie Microsoft.HybridCompute/machines zasobu.

Rozwiązanie:

Sprawdź w szablonie wdrożenia, że:

Obiekt tożsamości zarządzanej SystemAssigned jest w obszarze Microsoft.HybridCompute/machines typu zasobu, a nie w obszarze Microsoft.AzureStackHCI/VirtualMachineInstances typu zasobu.

Szablon wdrożenia powinien być zgodny z podanym przykładowym szablonem. Aby uzyskać więcej informacji, zobacz przykładowy szablon w artykule Create Arc virtual machines on Azure Stack HCI (Tworzenie maszyn wirtualnych usługi Arc w usłudze Azure Stack HCI).

Instalacja interfejsu wiersza polecenia platformy Azure nie jest rozpoznawana

Jeśli środowisko nie rozpoznaje interfejsu wiersza polecenia platformy Azure po jego zainstalowaniu, uruchom następujący blok kodu, aby dodać ścieżkę instalacji interfejsu wiersza polecenia platformy Azure do ścieżki środowiska.

        if ( -not( $env:PATH -like '*C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin*') ) {
            $env:PATH += "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin;"
            Write-Host "Updated path $env:PATH"
        }

Następne kroki