将拉伸群集从 Azure Stack HCI OS 版本 22H2 升级到 23H2

适用于:Azure Stack HCI 版本 22H2

重要

Azure Stack HCI OS 版本 22H2 已不受支持。

  • 每月安全和质量更新已停止。

  • 系统继续运行,包括注册和修复。

  • 计费仍在继续。

  • Microsoft支持仅适用于升级帮助。

本文中的这些步骤是将 Azure Stack HCI 拉伸群集的 OS 从版本 20349.xxxx (22H2) 升级到版本 25398.xxxx (23H2)的唯一受支持的方法。

  • 此版本在 2026 年 4 月之前受支持。

  • 不能将 OS 升级到版本 26100.xxxx (24H2),也不能在此之后升级解决方案。

  • 2026 年 4 月之后,将不再支持跨地区群集。

本文介绍如何将 Azure Stack HCI 拉伸群集的作系统(OS)从版本 20349.xxxx(22H2)升级到版本 25398.xxxx(23H2)。 在本文中,OS 版本 25398.xxxx (23H2)是 新版本 ,版本 20349.xxxx (22H2) 是 版本。

如果您已完成将 OS 升级到版本 23H2,并遇到卷相关问题,请参阅排查卷部分的解决步骤。

先决条件

在开始之前,请确保:

  • 你有一个运行 OS 版本 20349.xxxx 的 Azure 本地实例。

  • 系统在 Azure 中注册。

  • Azure 本地版本 22H2 实例中的所有计算机都正常运行,显示为 “联机”。

  • 您关闭了虚拟机(VM)。 建议在执行 OS 升级之前关闭 VM,以防止意外中断和数据库损坏。

  • 已下载 Azure 本地版本 2509 ISO 文件

  • 仅当以下两个条件都适用时,您才运行 RepairRegistration cmdlet:

    • 标识属性缺失或不包含 type = "SystemAssigned"

      • 在 Azure 门户中的资源 JSON 中检查此项,或运行 Get-AzResource -Name <cluster_name> PowerShell cmdlet。
    • 云管理群集组不存在。 可以通过运行 Get-ClusterGroup PowerShell cmdlet 来检查它。

    • 如果满足这两个条件,则运行 RepairRegistration cmdlet。

    Register-AzStackHCI -TenantId "<tenant_ID>" -SubscriptionId "<subscription_ID>" -ComputerName "<computer_name>" -RepairRegistration
    
  • (推荐)在升级 OS 之前,在 Azure 本地计算机上启用 安全启动 。 若要启用安全启动,请执行以下步骤:

    1. 清空群集节点。
    2. 重启 OS。
    3. 输入 BIOS/UEFI 菜单。
    4. 查看 UEFI 配置选项的 “启动 ”或“ 安全 ”部分,找到 “安全启动 ”选项。
    5. 将选项设置为 “已启用 ”或 “打开”。
    6. 保存更改并重新启动计算机。

如果需要,请咨询硬件供应商以获取帮助。

OS 升级的高级工作流

若要升级系统上的 OS,请执行以下步骤:

  1. 完成先决条件

  2. 更新注册表密钥。

  3. 使用 PowerShell 安装新 OS。

  4. 检查更新的状态。

  5. 检查拉伸群集是否已准备就绪。

  6. 执行升级后的步骤。

更新注册表项

若要确保在 OS 升级期间和之后正常运行弹性文件系统(ReFS)和实时迁移,请按照系统中的每台计算机上的以下步骤更新注册表项。 重新启动每台计算机,使更改生效。

  1. RefsEnableMetadataValidation 设置为 0

    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "RefsEnableMetadataValidation" -Value 0 -Type DWord -ErrorAction Stop
    
  2. 创建参数键(如果不存在)。 如果它已经存在,则命令可能会失败,并出现预期的错误。

    New-Item -Path HKLM:\SYSTEM\CurrentControlSet\Services\Vid\Parameters
    
  3. SkipSmallLocalAllocations 设置为 0

    New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Vid\Parameters -Name SkipSmallLocalAllocations -Value 0 -PropertyType DWord
    
  4. 重启计算机,使更改生效。

    如果密钥被重写,并且 ReFS 卷在重启后无法联机,请将密钥设置为RefsEnableMetadataValidation,然后重新设置为1

使用 PowerShell 安装新 OS

注释

以下步骤要求在系统上安装并启用群集感知更新(CAU)角色。 有关如何在 Azure 本地实例上安装和启用此功能的信息,请参阅 Cluster-Aware 更新概述

若要使用 PowerShell 安装新 OS,请执行以下步骤:

  1. 在系统中的每个计算机上,运行以下 cmdlet:

    Set-WSManQuickConfig
    Enable-PSRemoting
    
  2. 若要测试系统是否已正确设置为使用 Cluster-Aware 更新(CAU)应用软件更新,请运行 Test-CauSetup cmdlet。 这会通知你任何警告或错误。

    Test-CauSetup -ClusterName <System name>
    
  3. 在系统中的一台计算机上,通过运行 Test-Cluster cmdlet 来验证硬件和设置。 如果任一条件检查失败,请解决它们,然后再继续执行下一步。

    Test-Cluster
    
  4. 在每台计算机上,提取 ISO 映像的内容并将其复制到本地系统驱动器。

    • 确保每个计算机上的本地路径相同。
    • 然后,将 PathToSetupMedia 参数更新为 ISO 映像的本地路径。
    
    # Define ISO and destination paths
    $isoFilePath = "C:\SetupFiles\WindowsServer\ISOs\example.iso"
    $destinationPath = "C:\SetupFiles\WindowsServer\Files"
    
    # Mount the ISO file
    $iso = Mount-DiskImage -ImagePath $isoFilePath
    
    # Get the drive letter
    $driveLetter = ($iso | Get-Volume).DriveLetter
    
    # Create the destination directory
    New-Item -ItemType Directory -Path $destinationPath
    
    # Copy contents to the local directory
    Copy-Item -Path "$($driveLetter):\" -Destination $destinationPath -Recurse
    
    # Dismount the ISO file
    Dismount-DiskImage -ImagePath $isoFilePath
    
  5. 升级系统。

    Invoke-CauRun –ClusterName <SystemName> -CauPluginName Microsoft.RollingUpgradePlugin -EnableFirewallRules -CauPluginArguments @{ 'WuConnected'='false';'PathToSetupMedia'='\some\path\';'UpdateClusterFunctionalLevel'='true'; } -ForceSelfUpdate -Force
    
  6. 检查是否存在其他更新并安装。 等待更新完成并检查更新的状态。

检查更新的状态

若要获取有关正在进行的更新的摘要信息,请运行 Get-CauRun cmdlet:

Get-CauRun -ClusterName <SystemName>

下面是示例输出:

RunId : <Run ID>
RunStartTime : 10/13/2024 1:35:39 PM
CurrentOrchestrator : NODE1
NodeStatusNotifications : {
   Node : NODE1
   Status : Waiting
   Timestamp : 10/13/2024 1:35:49 PM
}
NodeResults : {
   Node : NODE2
   Status : Succeeded
   ErrorRecordData :
   NumberOfSucceededUpdates : 0
   NumberOfFailedUpdates : 0
   InstallResults :
   Microsoft.ClusterAwareUpdating.UpdateInstallResult[]
}

检查拉伸群集是否已准备就绪

将拉伸群集从版本 22H2 更新到 23H2 后,请按照以下步骤检查拉伸群集是否已准备就绪:

  1. 确保所有卷都已上线。 若要检查卷状态,请运行 Get-ClusterSharedVolumeState 命令。

  2. 确保正确设置合作关系。 所有组中的复制状态(来自输出 Get-SRGroup)应显示 ContinuouslyReplicatingContinuouslyReplicating_InRpo

  3. 通过 PowerShell 完成在 Azure 本地上执行作系统后升级步骤中所述的升级后步骤

存储卷故障排除

如果您在此版本发布之前将伸缩集群从版本 22H2 更新到 23H2,可能会遇到存储卷问题。 若要修正这些问题,请执行以下步骤:

  1. 停止存储副本伙伴关系。

    1. 使用 PowerShell 模块 获取 SRPartnershipSRGroup 信息。 在删除扩展的集群上的 Storage Replica 伙伴关系之前,请保存此信息,以便在操作系统升级后重新创建该关系。

    2. 使用 Get-SRPartnership | Remove-SRPartnership 删除所有合作关系。

      Get-SRPartnership | Remove-SRPartnerships
      
      Confirm
      Are you sure you want to perform this action?
      This action will remove partnership between source group Test1-Group and destination group Test1-Replica-Group. Are you sure you want to continue?
      [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): A
      
    3. 使用 Get-SRPartnership 确保删除合作关系。

  2. 使用 2509 ISO 文件下载更新到新版本。

    1. 在 OS 中装载 ISO 并运行安装程序。 选择 “升级 ”选项并保留文件、设置和应用程序。
  3. 重新创建存储副本合作关系。

    1. New-SRPartnership 创建 SR 合作关系。 使用步骤 1 中保存的 SRPartnershipSRGroup 信息修改此命令。

      New-SRPartnership -SourceComputerName "VIN-SiteA-1" -SourceRGName "Test1-Group" -SourceVolumeName "C:\ClusterStorage\Test1" -SourceLogVolumeName "\\?\Volume{f0XXXXXX-XXXX-XXXX-XXXX-XXXXXXXX0d64}" -DestinationComputerName "VIN-SiteB-1" -DestinationRGName "Test1-Replica-Group"
      
    2. 使用 PowerShell 模块验证新的合作关系。 将输出与步骤 1 中保存的信息进行比较。

      注释

      可以一次设置和验证每个合作关系,确保初始同步完成,然后再创建下一个。 使用步骤 1 中从 PowerShell 模块保存的 SR 合作关系详细信息还原原始配置。

  4. 检查拉伸群集是否已准备就绪

常见问题

关于跨区域群集升级的常见问题如下:

Azure 本地版本 23H2 及更高版本中是否支持拉伸群集?

否。 Azure 本地版本 23H2 及更高版本中不支持拉伸群集。 唯一受支持的情况是在版本 22H2 伸缩群集上安装版本 23H2 OS 升级。 安装 OS 升级后,无法升级解决方案。 在 2026 年 4 月之前,你将继续获得每月的安全和质量更新。 2026 年 4 月之后,将不再支持跨地区群集。

无法将延展群集升级到版本 24H2。

在 Azure Local 23H2 及更高版本中是否支持存储副本?

否。 在 Azure 本地版本 23H2 及更高版本中不支持 Storage Replica。 唯一受支持的情况是在版本 22H2 伸缩群集上安装版本 23H2 OS 升级。

是否可以将版本 22H2 拉伸群集直接升级到版本 24H2 以跳过版本 23H2 OS 升级?

否。 只能按照本文中所述将版本 22H2 拉伸群集升级到版本 23H2 OS。

后续步骤

此功能仅在 Azure 本地 2509 或更高版本中可用。