适用于:Azure Local 2311.2 及更高版本
本文介绍如何在将作系统(OS)内部版本从 20349.xxxx(22H2)升级到 25398.xxxx(23H2)后,使用 Azure 资源管理器(ARM)模板在 Azure 本地实例上安装解决方案升级。
重要
- 虽然 OS 升级已正式发布,但解决方案升级分阶段推出。 此外,解决方案升级不适用于 Azure 中国的客户。
- 使用 ARM 模板安装解决方案升级是专为大规模实施的升级设计的。 此方法适用于具有管理 Azure 本地实例经验的 IT 管理员。 建议先通过 Azure 门户升级系统,然后使用 ARM 模板进行后续升级。 若要通过 Azure 门户安装解决方案升级,请参阅 在 Azure 本地安装解决方案升级。
关于版本 22H2 的支持结束(EOS)
Azure Stack HCI OS 版本 22H2 已不受支持。
- 每月安全和质量更新已停止。
- 系统继续运行,包括注册和修复。
- 计费仍在继续。
- Microsoft支持仅适用于升级帮助。
若要继续接收更新,建议 通过 PowerShell 将作系统升级到较新版本。
如果运行的是 Azure Stack HCI 版本 22H2 拉伸群集或通过 System Center Virtual Machine Manager 管理群集,请查看 支持的工作负载和配置 表,了解更新时间线。
先决条件
在安装解决方案升级之前,请确保:
根据 评估解决方案升级准备情况中的说明,使用环境检查器验证系统。
将故障转移群集名称设置为 3 到 15 个字符。
创建作为本地管理员组成员的 Active Directory 生命周期管理器 (LCM) 用户帐户。 有关说明,请参阅 准备 Active Directory 进行 Azure 本地部署。
具有与主机 IP 地址子网匹配的 IPv4 网络范围,以及可用于新 Azure Arc 服务的六个连续 IP 地址。 请与您的网络管理员合作,确保 IP 地址未被占用,并且符合出站连接的要求。
拥有针对 Azure Stack HCI 管理员和读者 的 Azure 订阅权限。
- 对于 Azure 本地 2411.3 和更低版本,请确保选择 upgrade-cluster-2411.3 模板进行升级。
- 对于 Azure 本地 2503 及更高版本,请确保选择 升级群集 模板进行升级。
在您开始之前
在开始解决方案升级过程之前,需要考虑以下事项:
- Microsoft支持从 Azure 本地资源页或使用 ARM 模板应用的升级。 不支持使用第三方工具安装升级。
- 建议在维护时段内执行解决方案升级。 升级后,主机可能会重新启动,工作负载将实时迁移,从而导致短暂断开连接。
- 通过安装解决方案升级,现有非托管 VM 不会自动成为 Azure Arc VM。 有关 Azure 本地 VM 的详细信息,请参阅 Azure 本地 VM 的类型。
步骤 1:准备 Azure 资源
按照以下步骤准备升级所需的 Azure 资源:
创建服务主体和客户端机密
若要对系统进行身份验证,需要为 Arc 资源桥(ARB)创建服务主体和相应的 客户端机密 。
为 ARB 创建服务主体
按照创建Microsoft Entra 应用程序和服务主体中的步骤操作,该主体可以通过Azure 门户访问资源,以创建服务主体并分配角色。 或者,使用 PowerShell 过程通过 Azure PowerShell 创建 Azure 服务主体。
此处还汇总了这些步骤:
以至少云应用程序管理员身份登录到 Microsoft Entra 管理中心 。 浏览到身份>应用程序>应用注册然后选择“新注册”。
为应用程序提供名称,选择受支持的帐户类型,然后选择“注册”。
创建服务主体后,转到 “企业应用程序 ”页。 搜索并选择你创建的 SPN。
在属性下,复制 此服务主体的应用程序(客户端)ID 和 对象 ID 。
对参数使用应用程序(客户端)ID
arbDeploymentAppID,对资源管理器模板中的参数使用对象 IDarbDeploymentSPNObjectID。
为 ARB 服务主体创建客户端秘密
获取 Azure 本地资源提供程序的对象 ID
Azure 本地资源提供程序(RP)的此对象 ID 对于每个 Azure 租户是唯一的。
在 Azure 门户中,搜索并选择“Microsoft Entra ID”。
转到 “概述 ”选项卡,搜索 Microsoft.AzureStackHCI 资源提供程序。
选择列出的服务主体名称并复制 对象 ID。
或者,可以使用 PowerShell 获取 Azure 本地 RP 服务主体的对象 ID。 在 PowerShell 中运行以下命令:
Get-AzADServicePrincipal -DisplayName "Microsoft.AzureStackHCI Resource Provider"
步骤 2:使用 Azure 资源管理器模板安装解决方案升级
ARM 模板创建并分配升级所需的所有资源权限。 完成所有先决条件和准备步骤后,即可使用已知良好且测试好的 ARM 模板和相应的参数 JSON 文件进行升级。 使用 JSON 文件中包含的参数填写所有值,包括之前生成的值。 有关参数 JSON 文件的示例,请参阅 azuredeploy.parameters.json。 有关此文件中定义的参数的详细说明,请参阅 ARM 模板参数参考。
重要
确保填写 JSON 文件中的所有参数,包括显示为 [“”]的占位符,这表示参数需要数组结构。 将这些值替换为基于部署环境的实际值,否则验证将失败。
要安装解决方案升级,请执行以下步骤:
从 快速入门模板(免责声明) 下拉列表中,选择 azurestackhci/upgrade-cluster-2411.3 模板。
完成后,选择 “选择模板 ”按钮。
在 “基本信息 ”选项卡上,可以看到“ 自定义部署 ”页。 可以通过下拉列表选择各种参数,或选择 “编辑参数”。
注释
有关显示各种输入格式的示例参数文件,例如
ArcNodeResourceId,请参阅 azuredeploy.parameters.json。
从 快速入门模板(免责声明) 下拉列表中,选择 azurestackhci/upgrade-cluster 模板。
完成后,选择 “选择模板 ”按钮。
在 “基本信息 ”选项卡上,可以看到“ 自定义部署 ”页。 可以通过下拉列表选择各种参数,或选择 “编辑参数”。
注释
有关显示各种输入格式的示例参数文件,例如
ArcNodeResourceId,请参阅 azuredeploy.parameters.json。
编辑参数。 填写参数后, 保存 参数文件。
为环境选择适当的资源组。
确认 部署模式 = 验证。
选择“查看 + 创建”。
在“查看 + 创建”选项卡中,选择“创建”。 这会创建剩余的先决条件资源并验证升级。 验证需要大约 10 分钟才能完成。
验证完成后,选择“ 重新部署”。
在 “自定义部署 ”屏幕上,选择“ 编辑参数”。 加载以前保存的参数,然后选择“ 保存”。
将 JSON 中的最终值从 “验证 ”更改为 “部署”,其中 部署模式 = 部署。
验证 ARM 模板的所有字段是否都由参数 JSON 填充。
为环境选择适当的资源组。
确认 部署模式 = 部署。
选择“查看 + 创建”。
选择 创建。 升级开始,使用 在“验证” 步骤中创建的现有先决条件资源。
升级过程中,部署屏幕在群集资源上循环显示。
升级启动后,将首先运行有限的环境检查器,然后是完整的环境检查器,最后启动云升级。 几分钟后,可以在门户中监视升级。
在新的浏览器窗口中,导航到环境的资源组。 选择群集资源。
选择“部署”。
刷新并观察第一台计算机的部署进度(也称为种子计算机,也是部署群集的第一台计算机)。 部署需要 2.5 到 3 小时。 几个步骤需要 40-50 分钟或更多时间。
ARM 模板参数参考
下表描述了在 ARM 模板的参数文件中定义的参数:
| 参数 | Description |
|---|---|
| deploymentMode | 确定升级过程是否应仅验证或继续执行完整升级: - 验证:验证系统的升级准备情况。 - 部署:成功验证后执行实际升级。 |
| KeyVaultName | 用于存储机密的 Azure Key Vault 的名称。 有关命名约定,请参阅 Azure 资源的命名规则和限制一文中的 Microsoft.KeyVault 。 |
| 创建新密钥库 | 指定模板是应创建新的 Key Vault 还是使用现有密钥保管库。 如果要重用现有的 Key Vault,请将此值设置为 false。 |
| softDeleteRetentionDays | 删除的项(如机密、密钥或证书)在永久删除之前保留在 Azure Key Vault 中的天数。 指定介于 7 到 90 天之间的值。 以后无法更改保留期。 |
| diagnosticStorageAccountName | 用于存储密钥保管库审核日志的 Azure 存储帐户的名称。 此帐户是具有锁的本地冗余存储(LRS)帐户。 有关详细信息,请参阅 Azure 存储帐户。 有关命名约定,请参阅Azure 存储帐户名称。 |
| logsRetentionInDays | 日志保留的天数。 如果不想应用任何保留策略并永久保留数据,请指定 0。 |
| storageAccountType | 要用于部署的 Azure 存储帐户的类型。 例如,Standard_LRS。 |
| 集群名称 | 要部署的 Azure 本地实例的名称。 这是表示云上的群集的名称。 它必须与任何节点名称不同。 |
| failoverClusterName | |
| 位置 | 部署位置,通常派生自资源组。 有关受支持的 Azure 区域的列表,请参阅 Azure 要求。 |
| tenantId | Azure 订阅租户 ID。 有关详细信息,请参阅 “查找Microsoft Entra 租户。 |
| AzureStackLCMAdminUsername | LCM 管理员的用户名。 有关详细信息,请参阅 查看 Azure 本地部署先决条件。 |
| AzureStackLCMAdminPasssword | LCM 管理员的密码。 有关详细信息,请参阅 查看 Azure 本地部署先决条件。 |
| arcNodeResourceIds | 已启用 Azure Arc 的服务器的资源 ID 数组,这些服务器属于此 Azure 本地群集。 |
| domainFqdn 域名 | 准备部署的 Active Directory 域服务的完全限定域名 (FQDN)。 |
| subnetMask | Azure 本地部署使用的管理网络的子网掩码。 |
| defaultGateway 网关 | 用于部署 Azure 本地群集的默认网关。 |
| startingIPAddress | 管理网络子网上至少包含六个静态 IP 地址的连续块中的第一个 IP 地址,省略计算机已使用的地址。 这些 IP 由 Azure 本地和内部基础结构(Arc 资源网桥)使用,Arc VM 管理和 AKS 混合都需要使用这些 IP。 |
| endingIPAddress | 管理网络子网上至少六个静态 IP 地址的连续块中的最后一个 IP 地址,省略计算机已使用的地址。 这些 IP 由 Azure 本地和内部基础结构(Arc 资源网桥)使用,Arc VM 管理和 AKS 混合都需要使用这些 IP。 |
| dns服务器 | DNS 服务器 IP 列表。 |
| physicalNodesSettings | 物理节点的数组及其 IP 地址。 |
| 自定义位置 | 部署的自定义位置。 |
后续步骤
如果在升级过程中遇到问题,请参阅 Azure 本地解决方案升级疑难解答。