排查 Azure Arc VM 管理问题

适用于:Azure Stack HCI 版本 23H2

本文提供有关如何收集日志和排查 Azure Stack HCI 群集中 Azure Arc 虚拟机 (VM) 问题的指导。 其中还列出了 Azure Arc VM 管理当前存在的限制和已知问题。

收集日志

你可以收集日志以识别和排查 Azure Stack HCI 系统中 Arc VM 的问题。 在联系 Microsoft 支持部门以获取其他帮助之前,请使用这些日志收集关键信息。

确保你已有用于收集日志的最新的 PowerShell 模块。 若要更新 PowerShell 模块,请运行以下命令:

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

若要收集 Azure Stack HCI 群集中 Arc VM 的日志,请运行以下命令:

$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

其中:

  • $csv_path 是为创建 Arc 资源网桥而提供的群集共享卷的完整路径。

  • $VMIP_1 是 Arc 资源网桥 VM 的 IP 地址。

  • (可选)设置 -logDir 参数以指定生成的日志的存储目录的路径。 如果未指定路径或该参数,则日志默认会存储在当前工作目录中。

排查 Azure Arc VM 问题

本部分描述与 Azure Arc VM 管理相关的错误及建议的解决方法。

尝试启用来宾管理时失败

尝试运行命令以启用来宾管理时,会看到以下错误:

错误: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

出现上述故障的原因是未为此 VM 创建托管标识。 启用来宾管理需要系统分配的托管标识。

解决方法:

按照以下步骤验证是否未为此 VM 创建托管标识,然后启用系统分配的托管标识。

  1. 在Azure 门户,转到 VM。 浏览到“ 概述 ”页。 在“ 属性 ”选项卡上的 “配置”下, 来宾管理 应显示为 “已禁用”。 从右上角选择 “JSON 视图 ”。

    如何获取 JSON 视图的屏幕截图。

  2. 在 参数下 Identitytype 应显示为 None

    指示托管标识不存在的 JSON 视图的屏幕截图。

  3. 若要创建托管标识,请通过 RDP 连接到 Azure Stack HCI 服务器。 运行以下命令:

    az extension add --name connectedmachine
    
  4. 验证是否已在群集上安装连接的计算机 CLI 扩展。 下面是成功安装扩展的示例输出。 指示 connectedmachine 已安装版本 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. 运行以下命令,将系统托管标识分配给 VM。

    az connectedmachine update --ids "<ARM ID for the VM>" --set identity.type="SystemAssigned"
    
  6. 转到Azure 门户并浏览到“概述”页。 JSON 视图应指示系统托管标识现在已分配给 VM。

    启用托管标识时 JSON 视图的屏幕截图。

无法识别 Azure CLI 安装

如果你的环境在安装 Azure CLI 后无法识别它,请运行以下代码块,将 Azure CLI 安装路径添加到环境路径。

        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"
        }

后续步骤