管理 Azure Stack HCI 上的 Arc VM

适用于:Azure Stack HCI 版本 23H2

本文介绍如何在 Azure Stack HCI 版本 23H2 上运行) 管理 arc 虚拟机 (VM。 详细介绍了启用来宾管理、启动、停止、重启或删除 Arc VM 的过程。

先决条件

在开始之前,请确保满足以下先决条件:

  1. 确保有权访问已部署和注册的 Azure Stack HCI 群集。 在部署期间,还会创建 Arc 资源网桥和自定义位置。

    转到 Azure 中的资源组。 可以看到为 Azure Stack HCI 群集创建的自定义位置和 Azure Arc 资源网桥。 请记下订阅、资源组和自定义位置,稍后你会在本方案中使用这些信息。

  2. 请确保在此 Azure Stack HCI 群集上运行一个或多个 Arc VM。 有关详细信息,请参阅在 Azure Stack HCI 上Create Arc VM

启用来宾管理

创建 VM 后,需要在该 VM 上启用来宾管理。

在来宾管理上下文中,必须了解两个代理 - VM 来宾代理和 Azure Connected Machine 代理。 通过 Azure 门户 或 Azure CLI 创建的每个 Arc VM 都预配了来宾代理 (也称为 mocguestagent) 。

在 Arc VM 上启用来宾管理时,来宾代理将安装 Azure Connected Machine 代理。 使用 Azure Connected Machine 代理可以管理 Azure Stack HCI VM 上的 Azure Arc VM 扩展。

根据来宾代理是否在 Arc VM 上运行,启用来宾管理的步骤有所不同。

重要

确保 Azure Stack HCI 群集运行的是 2311 或更高版本,以运行此过程。

验证来宾代理是否正在运行

  1. 若要验证来宾代理是否在 Arc VM 上运行,请连接到 Azure Stack HCI 服务器。

  2. 运行以下命令:

    az stack-hci-vm show --name "<VM name>" --resource-group "<Resource group name>"
    

    下面是指示来宾代理正在运行的示例输出的代码片段。 在输出中的 下vmAgent查找 statuses

    "instanceView": {
      "vmAgent": {
        "statuses": [
          {
            "code": "ProvisioningState/succeeded",
            "displayStatus": "Connected",
            "level": "Info",
            "message": "Successfully established connection with mocguestagent",
            "time": "2024-01-13T00:57:39Z"
          },
          {
            "code": "ProvisioningState/succeeded",
            "displayStatus": "Connected",
            "level": "Info",
            "message": "New mocguestagent version detected 'v0.13.0-3-gd13b4794",
            "time": "2024-01-13T00:57:39Z"
          }
        ],
        "vmConfigAgentVersion": "v0.13.0-3-gd13b4794"
      }
    }
    

    来宾代理正在运行:

    • statuses 指示 codeProvisioningState/succeeded 时,将 displayStatus 指示为 Connected
    • 如果运行较旧版本, statuses 将指示 为 OK ,并将 displayStatus 指示codeActive

如果状态与上述输出不匹配,请按照在 来宾代理未运行时启用来宾管理中的步骤操作。

在运行来宾代理的 VM 上启用来宾管理

若要在运行来宾代理的 Arc VM 上启用来宾管理,请运行以下命令:

az stack-hci-vm update --name "myhci-vm" --enable-agent true --resource-group "myhci-rg"

通过将 设置为 enable-agent parametertrue来启用来宾管理。 启用来宾管理需要几分钟时间。

按照步骤验证是否已在Azure 门户中启用来宾管理

当来宾代理未运行时,在 VM 上启用来宾管理

来宾代理未运行时有两种情况 - 状态为“正在连接”和“状态为空”。 以下各节将介绍其中每个方案和相应的步骤。

显示为“正在连接”的状态

状态显示为“正在连接”。 下面是指示必要状态的示例输出代码片段。

"instanceView": {
      "vmAgent": {
        "statuses": [
          {
            "code": "ProvisioningState/InProgress",
            "displayStatus": "Connecting",
            "level": "Info",
            "message": "Waiting for connection with mocguestagent",
            "time": "2024-01-19T01:41:15Z"
          }
        ]
      }
    },

在以下情况下,来宾代理未运行:

  • 当 将 指示为 ,将 指示 codeProvisioningState/InProgressstatusesdisplayStatusConnecting来宾代理未运行。
  • 如果运行较旧版本, statuses 将指示为 OKdisplayStatus将 指示code为 ,将 指示Active为 ,将 指示为 Successfully started HyperV listenermessage

执行以下步骤:

  1. 使用特定于 OS 的步骤连接到 VM。 以管理员身份运行 PowerShell。

  2. 运行以下命令之一,根据 OS 类型在 VM 上启用来宾代理:

    Linux:

    sudo -- sh -c 'mkdir /mociso && mount -L mocguestagentprov /mociso && bash /mociso/install.sh && umount /mociso && rm -df /mociso && eject LABEL=mocguestagentprov'
    

    Windows

    $d=Get-Volume -FileSystemLabel mocguestagentprov;$p=Join-Path ($d.DriveLetter+':\') 'install.ps1';powershell $p
    

    下面是 Linux VM 的示例输出,显示来宾代理已成功安装。

    显示在 VM 上成功启用来宾代理的屏幕截图。

  3. 连接到其中一个 Azure Stack HCI 服务器。 运行以下命令以启用来宾管理。

    az stack-hci-vm update --name "myhci-vm" --enable-agent true --resource-group "myhci-rg"
    

按照步骤验证是否已在Azure 门户中启用来宾管理

状态显示为 null

状态显示为 null。 这表示缺少来宾代理所需的 iso 。 下面是指示 null 状态的示例输出代码片段。

"instanceView": {
      "vmAgent": {
        "statuses": []
      }
    },

执行以下步骤:

  1. 连接到 Azure Stack HCI 服务器。

  2. 运行以下命令:

    az stack-hci-vm update --name "<VM Name>" --resource-group "<Resource group name>" --enable-vm-config-agent true
    

    参数 enable-vm-config-agent 为来宾代理装载所需的 iso

  3. 等待几分钟,然后重新运行命令 az stack-hci-vm show 。 当状态显示为 connecting时,请按照 显示为连接的状态中的步骤操作。

验证是否在Azure 门户中启用了来宾管理

  1. 转到 Azure 门户。

  2. 导航到 “Azure Stack HCI 群集 > 虚拟机” ,然后选择启用了来宾管理的 VM。

  3. “概述 ”页的右窗格中的“ 属性 ”选项卡上,转到 “配置”。 来宾管理应显示为已启用 (连接)

    显示如何使用 Windows VM 映像创建 VM 的屏幕截图。

查看 VM 属性

按照 Azure Stack HCI 系统的Azure 门户中的步骤查看 VM 属性。

  1. 转到 Azure Stack HCI 群集资源,然后转到 “虚拟机”。

  2. 在右窗格中,从虚拟机列表中,选择要查看其属性的 VM 的名称。

    从 VM 列表中选择的 VM 的屏幕截图。

  3. “概述 ”页上,转到右窗格,然后转到“ 属性 ”选项卡。可以查看 VM 的属性。

    所选 Arc VM 的属性的屏幕截图。

启动 VM

按照 Azure Stack HCI 系统Azure 门户中的步骤启动 VM。

  1. 转到 Azure Stack HCI 群集资源,然后转到 “虚拟机”。

  2. 在右窗格中,从虚拟机列表中,选择一个未运行且要启动的 VM。

  3. 在 VM 的 “概述 ”页上,从右窗格中的顶部命令栏中,选择“ 启动”,然后选择“ ”。

  4. 验证 VM 是否已启动。

    选择“+ 启动 VM”的屏幕截图。

停止 VM

按照 Azure Stack HCI 系统Azure 门户中的步骤停止 VM。

  1. 转到 Azure Stack HCI 群集资源,然后转到 “虚拟机”。

  2. 在右窗格中,从虚拟机列表中,选择正在运行且要停止的 VM。

  3. 在 VM 的 “概述 ”页上,从右侧窗格的顶部命令栏中,选择“ 停止”,然后选择“ ”。

  4. 验证 VM 是否已停止。

    选择“+ 停止 VM”的屏幕截图。

重新启动 VM

按照 Azure Stack HCI 系统Azure 门户中的步骤重启 VM。

  1. 转到 Azure Stack HCI 群集资源,然后转到 “虚拟机”。

  2. 在右窗格中,从虚拟机列表中,选择一个已停止并想要重启的 VM。

  3. 在 VM 的 “概述 ”页上,从右窗格的顶部命令栏中,选择“ 重启”,然后选择“ ”。

  4. 验证 VM 是否已重启。

    选择“+ 重启 VM”的屏幕截图。

删除 VM

按照 Azure Stack HCI 系统Azure 门户中的这些步骤删除 VM。

  1. 转到 Azure Stack HCI 群集资源,然后转到 “虚拟机”。

  2. 在右窗格中,从虚拟机列表中,选择要从系统中删除的 VM。

  3. 在 VM 的 “概述 ”页上,从右窗格的顶部命令栏中,选择“ 删除”,然后选择“ ”。

    现在系统会提示你确认删除。 请选择“是”。 验证是否已删除 VM。

    请注意,删除 VM 时,不会删除与 VM 关联的所有资源。 例如,不会删除与 VM 关联的数据磁盘或网络接口。 需要分别查找和删除这些资源。

    删除 VM 时警告的屏幕截图。

  4. 现在可以转到部署此 VM 的资源组。 可以看到 VM 已从资源组中的资源列表中删除。 可能需要选择 “显示隐藏类型 ”选项,以查看与此 VM 关联的未删除的资源。

    与虚拟机关联的隐藏类型资源的屏幕截图。

找到关联的资源(如网络接口和数据磁盘),并将其删除。

更改核心和内存

按照 Azure Stack HCI 系统Azure 门户中的这些步骤更改核心和内存。

  1. 转到 Azure Stack HCI 群集资源,然后转到 “虚拟机”。

  2. 从右窗格中的 VM 列表中,选择并转到要修改其核心和内存的 VM。

  3. 在“设置”下,选择“大小” 。 编辑 虚拟处理器计数内存 (MB) 以更改 VM 的核心和内存大小。 只能更改内存大小。 创建 VM 后,无法更改内存类型。

    VM 的“大小”页的屏幕截图。

后续步骤