智能硬件行业资讯,IoT、机器人、AR/VR、智能家居前沿

Azure Local VM Guest Management 与运营管理

Azure Local VM Guest Management 与运营管理 - 图片1

Azure Local VM Guest Management 与运营管理 - 图片2

Azure Local VM Guest Management 与运营管理 - 图片3

未经同意,请勿转载! 本篇 TL;DR:在满足 Guest Management 前置条件的情况下,通过 Azure Portal 或 Azure CLI 创建的 Azure Local VM 默认启用 Guest Management;如启用过程失败,按 Connecting / null 两种异常状态恢复。Guest Management 是 Azure Local VM 提供的一项 Guest 管理能力,用于将 VM Guest 纳入 Azure Arc 管理体系。启用后会触发 Azure Connected Machine Agent 部署,并支持 Guest VM Extensions 生命周期管理以及 Azure 管理服务集成。Guest Management 不是 Connected Machine Agent 本身,也不是单独的 ARM Resource 类型。本篇覆盖 Guest Management 与 Connected Machine Agent 精确区分、四层依赖运营速查(Azure Local 基础设施 / Azure Local VM Runtime / Azure Local Control Plane / Guest 管理)、全生命周期管理能力、已知限制与 FAQ、三方角色责任边界。 文档基线:本文维护基于 Azure Local 2506(2025 年 6 月发布) / 2510(2025 年 10 月发布) 文档体系;本文维护日期 2026 年 7 月。 本篇全局视图 本篇承接篇 2 创建好的 VM,处理 Guest Management 启用与 Connected Machine Agent 的精确区分、四层依赖运营速查、异常恢复与日常运营责任边界。 §4 创建之后的 Guest Management 与运营管理 目标读者:负责 VM 全生命周期运营的运维工程师、可靠性团队。 核心问题:Guest Management 失败了怎么恢复?不同异常状态如何应对?哪些能力依赖 Arc、哪些不依赖?运营中遇到 FAQ 怎么办? §4.1 Guest Management 启用与验证流程 第四章以异常恢复为重点——按 manage-arc-virtual-machines 文档口径整理。 §4.1.1 默认状态与前置条件 默认行为:在满足 Guest Management 前置条件的情况下,通过 Azure Portal 或 Azure CLI 创建的 Azure Local VM 默认启用 Guest Management。 前置条件清单:默认启用 Guest Management 依赖以下条件均满足: # 前置条件 说明 1 支持的 Guest OS 当前 Azure Local VM 支持的 Guest OS 列表(详见 manage-arc-virtual-machines)。例如 Windows Server 2012 / 2012 R2 不满足 2 网络可达性 VM Guest OS → Azure Arc 服务终结点的网络连通性 3 Guest Agent 安装 Azure Local VM Guest Agent(内部组件名:mocguestagent)能够正常挂载并安装 4 Azure Local 实例配置 Azure Local 实例本身已注册到 Azure Arc、Arc Resource Bridge 正常运行、Custom Location 关联 关键收紧:默认启用 Guest Management 依赖所有前置条件均满足。在 Guest OS 不支持(如 WS2012 / WS2012 R2)、网络不可达、Guest Agent 安装失败等场景下,即使通过 Portal / CLI 创建也可能不启用或创建后启用失败。本文不假定具体行为——具体启用行为以当期 Azure Local 文档与具体环境状况为准。 §4.1.2 验证 Azure Local VM Guest Agent 状态 az stack-hci-vm show \ --name "" \ --resource-group "" 输出片段中 instanceView.vmAgent.statuses[].displayStatus: 状态 含义 下一步 Connected Azure Local VM Guest Agent(内部组件名:mocguestagent,非 Azure VM Agent)已与 Azure 管理面完成连接 进入 §4.1.4 启用 Guest Management Connecting Azure Local VM Guest Agent 尚未完成与 Azure 管理面的连接——可能原因:Agent 未启动完成 / 初始化中 / 网络通信未建立 / 配置未完成 按 §4.1.3 排查 null(statuses 为空数组) Azure Local VM Guest Agent 状态不可用——可能原因:Agent 未安装 / 未初始化 / ISO 未挂载 / 创建流程异常 按 §4.1.3 排查 关键纠正:本节标题中"Guest Agent"全称 Azure Local VM Guest Agent;instanceView.vmAgent.statuses[] 中的 vmAgent 指 Azure Local VM Guest Agent(mocguestagent),不是 Azure VM Agent(waagent)——后者是 Azure IaaS VM 的 Guest Agent。该字段命名沿用了 Azure VM instanceView 模型,并不代表 Azure IaaS VM Agent(Azure VM Agent / waagent)。 §4.1.3 异常状态恢复 状态为 Connecting: 软化:Connecting 表示 Guest Agent 尚未完成连接 Azure 管理面的初始化流程——可能原因包括 Agent 未启动完成、初始化中、网络通信未建立、配置未完成等。不应简单等同于"ISO 已挂载但未安装"。 排查清单(v1.4.1 新增): Guest Agent 是否已安装 Agent 服务状态(mocguestagent 服务是否运行) 网络连接(Guest OS → Azure Arc 终结点) Guest 初始化流程(Hyper-V sockets / VMBus 等) 恢复脚本(按微软文档): Windows VM: $d = Get-Volume -FileSystemLabel mocguestagentprov $p = Join-Path ($d.DriveLetter + ':\') 'install.ps1' powershell $p Linux VM: sudo -- sh -c 'mkdir /mociso && mount -L mocguestagentprov /mociso && bash /mociso/install.sh && umount /mociso && rm -df /mociso && eject LABEL=mocguestagentprov' 状态为 null: 软化:null(statuses 为空数组)表示 Guest Agent 状态不可用——可能原因包括 Guest Agent 未安装 / 未初始化 / ISO 未挂载 / VM 创建流程异常等。不应直接判定为"ISO 缺失"。 恢复流程: az stack-hci-vm update \ --name "" \ --resource-group "" \ --enable-vm-config-agent true 挂载 ISO 后等待状态变为 Connecting,再按上述流程执行安装;若仍然 null,应进一步检查 Azure Local VM Guest Agent(mocguestagent)配置。 §4.1.4 启用 Guest Management Guest Management 是 Azure Local VM 提供的一项 Guest 管理能力配置,用于启用 Azure Arc Guest 管理链路。确认 Guest Agent 状态为 Connected 后执行: az stack-hci-vm update \ --name "mylocal-vm" \ --enable-agent true \ --resource-group "mylocal-rg" 等待若干分钟后验证。 关键补充:启用 Guest Management 时,由 Azure Local VM Management Stack 调用平台 Guest 管理流程,通过 Azure Local VM Guest Agent(mocguestagent)完成平台侧初始化,并在 Guest OS 内部署 Azure Connected Machine Agent。 §4.1.5 门户验证 Azure Local → Virtual machines → 选择 VM → Overview → Properties → Configuration → Guest management 应显示 Enabled (Connected)。 §4.1.6 不支持 Guest Management 的情形 按官方文档: Windows Server 2012 / 2012 R2(缺 Hyper-V sockets 支持); 不支持 Hyper-V sockets 的任何 Guest OS。 §4.2 全生命周期管理能力 按 manage-arc-virtual-machines 文档,口径覆盖 VM 全生命周期操作: 操作 入口 主要依赖 Start / Stop / Restart / Delete Azure Portal 或 az stack-hci-vm Azure Local VM Management Stack(Arc Resource Bridge + Custom Location + VM RP + MOC) Pause / Resume Azure Portal 或 az stack-hci-vm pause / start Azure Local VM Management Stack 查看属性 Azure Portal → ARM Resource Provider→ Microsoft.AzureStackHCI/virtualMachineInstances Azure Control Plane(ARM) 实时迁移 仅本地工具:Failover Cluster Manager 或 Windows Admin Center Failover Cluster(Azure Local 基础设施层) 软件更新 Azure Update Manager Connected Machine Agent(Guest 管理层)+ 计费规则见 §4.4.5 Guest Configuration Azure Policy Connected Machine Agent(Guest 管理层) v1.4.1 加"主要依赖"列:每条操作标注其主要依赖组件,便于快速判断该操作的依赖链;具体依赖层语义见 §4.3 的四层模型。 §4.3 四层依赖速查:Azure Local 基础设施 / Azure Local VM Runtime / Azure Local Control Plane / Guest 管理 关键重构(ACP 推荐):四层模型按 Azure Local 真实架构重排,Arc Resource Bridge 划到控制面,MOC 划到本地管理面,更符合实际控制链(用户 → Azure Portal → ARM → Custom Location → Arc Resource Bridge → Azure Local VM RP → MOC → Hyper-V → VM): 层级 组件 说明 Layer 0: Azure Local 基础设施 Hyper-V / Failover Cluster / Storage Spaces Direct / Network 本地虚拟化与存储底层基础设施 Layer 1: Azure Local VM Platform Runtime Hyper-V VM / MOC / Azure Local VM Guest Agent(内部组件名:mocguestagent) 本地虚拟化运行时与平台 Guest Agent Layer 2: Azure Local Control Plane Azure Local VM Resource Provider / Arc Resource Bridge / Custom Location Azure 端控制面组件(将 Azure 资源请求路由到本地) Layer 3: Guest 管理 Connected Machine Agent / Extensions / Policy / Defender / Update Manager Guest OS 内的 Azure 管理能力 控制流速查:Azure Portal → ARM → Custom Location → Arc Resource Bridge → Azure Local VM RP → MOC → Hyper-V → VM(每条 Azure 资源请求沿此链下推)。Azure Local VM Guest Agent(mocguestagent)负责平台 ↔ Guest 通信——不参与 Resource 生命周期(v1.3.4 已修正)。 §4.3.1 管理能力依赖速查(三类能力视角) 虽然内部架构采用四层模型,运营判断可简化为三类能力视角——保留运营友好性,避免读者每次判断都要展开四层: 平台层:Azure Local 平台的本地能力(Hyper-V / Failover Cluster / WAC / PowerShell)——不经过 Azure 控制面Azure 资源层:通过 Azure Local Control Plane 组件(Arc Resource Bridge + Custom Location + VM RP + MOC)实现的 Azure 端可见性 / 治理Guest 扩展层:通过 Azure Connected Machine Agent 实现的 Guest OS 内 Azure 扩展执行 管理动作 平台层
(仅 Azure Local) Azure 资源层
(依赖 Arc Resource Bridge + VM RP + MOC) Guest 扩展层
(依赖 Connected Machine Agent) Hyper-V 引擎运行 ✅ — — Failover Cluster HA 故障转移 ✅ — — 实时迁移(FCM / WAC) ✅ — — 本地 Hyper-V Manager 运维 ✅ — — PowerShell 本地运维(创建 / 启停 / 查状态) — ✅(资源层映射) — VM 创建 / 启动 / 停止 / 暂停 / 删除(Azure 门户 / CLI) — ✅ — Logical Network / NIC 接入客户网络 ✅ — — Cluster Shared Volume 存储 ✅ — — 实时迁移存储路径(VM storage live migration) ✅ ❌(按 FAQ:Azure 资源侧不支持) — Azure 门户可见 VM(作为 ARM Resource) — ✅ — Azure RBAC 控制 VM 操作 — ✅(控制的是 ARM Resource,不是 Guest OS) — Azure Policy Guest Configuration — — ✅ Azure Update Manager(更新 Azure Local VM) — — ✅(按 FAQ 收费规则见 §4.4.5) Defender for Cloud 扫描 — — ✅ Change Tracking / Inventory — — ✅ 软删除保护(Portal 可恢复) — ✅ — Azure 配额 / 计费计入订阅 — ✅ — §4.4.2 操作系统与镜像限制 Windows Server 2012 / 2012 R2:仅 CLI 创建路径可用,不支持 Guest Management;VM Image 必须 en-us 语言;Trusted Launch 仅支持部分 Marketplace 镜像:自定义镜像在 Trusted Launch 下不启用 Guest Attestation;Disconnected Operations 仅支持本地共享镜像:Marketplace / Azure Storage Account 镜像在 Disconnected 模式下不可用。 §4.4.3 网络与 SDN 限制 SDN 不支持 Azure Portal 创建的 VM:SDN 在 Azure Local 上的能力详见 SDN 技术参考;Trusted Launch 实时迁移流量默认不加密:强烈建议部署 IPsec 等网络层加密。 §4.4.4 Azure Arc 资源桥(Arc Resource Bridge)相关 不应删除:除非重新镜像或下线整个 Azure Local 实例;删除顺序:先删工作负载资源 → 再 Arc resource bridge → 最后 Custom Location;删除 Arc resource bridge 会丢失 Azure 控制平面——但不会中断本地工作负载运行(VM 仍可继续运行)——但 Azure 管理入口、资源映射和部分生命周期操作将不可用:客户仍可通过 WAC / Hyper-V / PowerShell 在本地访问,但 Azure Portal / CLI 上的资源视图将失效;删除 Image 不会删除已部署的 VM;更新 Image 不会影响已创建的 VM——VM 创建时拷贝 Image。 §4.4.5 计费相关 Azure Local VM 管理(Portal / CLI)不收费;部分 VM 扩展可能收费——按当期微软计费说明;Azure Update Manager 对 Azure Local VM 不额外收取服务费用——具体计费范围以当前 Azure 计费说明为准(v1.4.1 软化 v1.3 的"免费"措辞);独立启用 Arc 的服务器(非 Azure Local VM 体系创建)按 Azure Arc-enabled servers 标准收费。 §4.4.6 "官方没说的"事项 按本文写作纪律——官方没写的,不要写——以下事项本文不妄言: 不同 azloc 版本之间的具体功能差异(以当期微软官方文档为准);Arc resource bridge 的 HA 节点数(具体以当期 OEM Support Matrix 与官方文档为准);任何具体的 VM 数量上限(按当期文档表述随版本演进变化);任何具体的网络性能 / IOPS 数字(按当期 OEM Support Matrix 与官方文档为准)。 §4.5 责任边界——三方角色与精确范围 这是企业实施过程中容易模糊的最后一节。按照"三层原则(官方硬要求 / 工具默认 / 企业最佳实践)+ 微软推荐 ≠ 微软强制"的口径整理。 §4.5.1 Azure RBAC 控制对象的精确范围 控制对象 治理机制 Azure ARM Resource(VM 在 Azure 侧的表达) ✅ Azure RBAC 控制 Guest OS 内的本地账号 / 应用权限 ❌ Azure RBAC 不能控制 Guest OS 内的 AD Domain 账号 ❌ Azure RBAC 不能控制——需 AD 自身 RBAC Guest OS 内的 Service Principal / Managed Identity(Guest 侧) ❌ 与 Azure RBAC 不同维度 典型误解: ❌ "我给 VM 分配了 Owner 角色,我可以登录 Guest OS"——错。Owner 角色控制的是 Azure 侧资源操作(删除 VM、修改 VM 配置等),不提供 Guest OS 登录能力。 ✅ 想登录 Guest OS:需 Guest OS 内的本地账号 / AD Domain 账号——与 Azure RBAC 完全无关。 Azure RBAC 控制的是 ARM Resource,不是 Guest OS——这是 §1.5 / §4.3 速查里 "Azure RBAC 控制 VM" 一栏的精确说法。 §4.5.2 Guest Management 与 Connected Machine Agent 的精确区分(v1.4.1 整合) 这是企业最常混淆的两个概念。本节从概念边界角度区分——不是单纯的术语问题。 概念 准确的等价/包含关系 Guest Management Azure Local VM Resource 的 Guest 管理能力配置——启用后包含 CMA + Extensions + Azure 管理服务集成的能力集合 Azure Connected Machine Agent Guest OS 内的 Agent 进程——Guest Management 启用时的组件之一 Guest VM Extensions Azure 通过 Connected Machine Agent 在 Guest OS 内部署的扩展(如 Azure Policy、Update Manager、Defender for Cloud)——也是 Guest Management 的一部分 Azure Arc Integration Guest Management 启用后 Azure 端 / Guest 端双向联动的体现——例如 Azure 端看到 VM 状态、Guest 端接收 Azure 配置 Azure Local VM Guest Agent(内部组件名:mocguestagent) Azure Local 平台 Guest Agent,与 Azure Local 平台(Hyper-V / VM RP)通信——与 Connected Machine Agent 是不同职责层的两个 Agent 关键澄清:很多人把 Guest Management 与 Azure Connected Machine Agent 等同。本文明确:Guest Management 是一个能力集合(包含 CMA 部署、Extensions 管理、Azure 管理服务集成);CMA 是其中一个 Agent 进程;mocguestagent 是另一个职责(与 Azure Local 平台通信)的 Agent——三者职责不同,不应混用。 关系图: 这意味着: ✅ "禁用 Guest Management" = Connected Machine Agent 不安装 + 不下发任何 Guest VM Extensions⚠️ 但 "Agent 进程已安装" ≠ "Guest Management Enabled"——例如 WS2012 / WS2012 R2 上 Connected Machine Agent 可手动安装(理论上),但 Guest Management 这个 Azure 侧配置项的状态仍受 Azure Local 平台侧管控⚠️ "Guest Management 已启用" ≠ "Azure 端看到 Guest OS 完整状态"——还依赖 Agent 实际心跳 / 已上报遥测⚠️ "Azure Local VM Guest Agent 已 Connected" ≠ "Guest Management 已启用"——前者是平台 Guest Agent(与平台通信),后者是 Azure Arc Guest Agent(与 Azure 控制面通信);两者部署路径不同 一句话(v1.4.1 修订):"Guest Management 是 Azure Local VM 的一项 Guest 管理能力配置——它是一个能力集合(包含 Agent 部署、Extensions 管理、Azure 管理服务集成);Connected Machine Agent 是其中一个 Agent 进程;Azure Local VM Guest Agent(mocguestagent)是另一个职责的 Agent。把三者混为一谈会丢失 Guest VM Extensions、Arc Integration 与平台通信这三块内容。" §4.5.3 Guest Management 与 Arc-enabled Server 的关键区别(v1.4.1 新增独立小节) 这是企业客户最容易混淆的问题,单独列出以正视听。 对比维度 Azure Local VM Guest Management Azure Arc-enabled Server 管理对象 Azure Local VM(Azure Local 集群创建的 VM) 物理服务器 / 已有 VM(客户已有基础设施) 创建方式 通过 Azure Local VM Management 创建 通过 Azure Arc Agent 安装连接 管理入口 Microsoft.AzureStackHCI/virtualMachineInstances Microsoft.HybridCompute/machines 生命周期 由 Azure Local 集群控制 客户自行管理硬件/VM 生命周期 Guest Agent 部署 由 Guest Management 自动部署 客户手动安装 Arc Connected Machine Agent Azure 资源类型 Azure Local VM Resource Arc-enabled Server Resource 关键澄清(常被客户误解):Azure Local VM Guest Management 不会创建 Microsoft.HybridCompute/machines 资源,也不会把 Azure Local VM 转换为 Arc-enabled Server Resource。即使启用了 Guest Management,Azure Local VM 在 ARM 中仍然是 Microsoft.AzureStackHCI/virtualMachineInstances 类型的资源,而不是 Microsoft.HybridCompute/machines。两个 Resource 类型具有不同的语义和治理模型。 一句话总结:Azure Local VM Guest Management 是 Azure Local VM 生命周期中的 Guest 管理能力;Arc-enabled Server 是把客户已有服务器纳入 Azure 管理,二者不是同一种资源模型。 §4.5.4 三方角色分工 角色 职责范围(官方硬要求 / Portal 默认行为 / 企业最佳实践) 微软 / Azure Arc Azure 资源表示、扩展生命周期编排、Azure RBAC、Update Manager、Defender 等托管服务 OEM / 硬件 Azure Local 集成系统的硬件保修、Support Matrix、iDRAC / OpenManage 等硬件管理平面 客户 / 企业 Azure Local 实例物理部署、Host OS、网络与存储拓扑、VM 应用与数据、本地安全策略、备份与恢复 §4.5.5 实施建议(推荐,非强制) 场景 建议 资源组规划 推荐把 Azure Local VM 及其关联资源(NIC / Disk / Image / Storage Path)与 Azure Local 实例放在同一资源组——便于权限管理与成本核算 镜像命名 推荐 VM Image 命名带版本号(如 ws22server-2026q2)——便于后续更新识别 网络规划 推荐 Logical Network 创建前一次性确认 gateway / VLAN / VM switch / IP pool —— 创建后无法修改 实时迁移加密 推荐在实时迁移网络部署 IPsec 加密(不仅是 Trusted Launch VM,建议覆盖所有 VM) Guest Management 启用顺序 推荐先确认 Azure Local VM Guest Agent(mocguestagent)状态为 Connected,再 enable-agent true Disconnected Operations 仅在 Azure 不可达场景使用,需要预先评估 Marketplace 镜像不可用的限制 VM 镜像同名 推荐避免重复命名——同名 Image 创建会失败 §4.6 术语速查(v1.4.1 统一命名) 术语 含义 Azure Local 微软基于 Azure Stack HCI 构建的本地分布式基础设施解决方案,由 Azure Arc 启用 Azure Local VM 运行在 Azure Local 上的虚拟机,作为 Azure 资源呈现,由 Azure Arc 启用 Azure Arc resource bridge Azure Local 上的预打包虚拟设备,承载 Arc-enabled K8s 集群,作为本地管理集群 Custom Location 表示 Azure Local 实例的 Azure 资源,作为 ARM 的路由目标 Logical Network 代表客户物理网络的 Azure 资源抽象(取代旧版本 Virtual Network) Network Interface 关联到 Logical Network 的 VM 网卡,可选静态 / 动态 IP Storage Path Cluster Shared Volume 路径的 Azure 资源抽象 VM Image VM 创建时使用的镜像快照 Azure Local VM Guest Agent(内部组件名:mocguestagent) Azure Local 平台 Guest Agent,与 Azure Local 平台(Hyper-V / VM RP / MOC)通信——与 Connected Machine Agent 不同职责 Azure Connected Machine Agent Azure Arc Guest Agent,启用 Guest Management 时安装 Guest Management Azure Local VM 的一项 Guest 管理能力配置,启用后包含 CMA + Extensions + Azure 管理服务集成 Trusted Launch 安全启动 + vTPM 的 VM 安全类型 Disconnected Operations Azure 不可达场景下的 Azure Local 运行模式(仅适用部分功能) §4.7 本章小结 Guest Management 在前置条件满足的情况下默认启用;异常状态可按 Connecting / null 两种情形排查恢复;实时迁移只能通过本地工具(FCM / WAC);Azure Local VM 的 VM storage live migration 不支持;不依赖 Arc 的能力与依赖 Arc 的能力泾渭分明——运营时可按 §4.3 速查对照;"微软推荐 ≠ 微软强制",实施建议用"推荐 / 建议"措辞,而非"必须 / 不能"。 附录 A:参考链接 Create Azure Local Virtual Machines Enabled by Azure ArcWhat is Azure Local VM managementAzure Local VM management prerequisitesManage Azure Local VMs enabled by Azure ArcAzure Local VMs Enabled by Azure Arc FAQOverview for Trusted launch for Azure Local VMs enabled by Azure ArcDisconnected operations with Azure Local VMs enabled by Azure ArcSystem requirements for Azure LocalRequired firewall URLs for Azure Local deploymentsAzure Arc resource bridge overviewRBAC roles for Azure Local VM management示例 ARM 模板:aka.ms/hci-vmarmtemp示例 Bicep 模板:aka.ms/hci-vmbiceptemplate示例 Terraform 配置:terraform-azurerm-avm-res-azurestackhci-virtualmachineinstance