Skip to content

Commit 7d11e53

Browse files
authored
Merge pull request #18142 from MicrosoftDocs/main
6/6/2025 PM Publish
2 parents 034fa3b + 9276196 commit 7d11e53

6 files changed

+231
-39
lines changed

azure-local/TOC.yml

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -186,14 +186,18 @@ items:
186186
items:
187187
- name: About Azure Local upgrades
188188
href: upgrade/about-upgrades-23h2.md
189-
- name: 1. Upgrade to version 23H2 OS
189+
- name: 1. Select upgrade path
190190
items:
191-
- name: Via PowerShell (recommended)
192-
href: upgrade/upgrade-22h2-to-23h2-powershell.md
193-
- name: Via Windows Admin Center
194-
href: upgrade/upgrade-22h2-to-23h2-windows-admin-center.md
195-
- name: Via other methods
196-
href: upgrade/upgrade-22h2-to-23h2-other-methods.md
191+
- name: Upgrade to 26100.xxxx
192+
href: upgrade/upgrade-to-24h2-powershell.md
193+
- name: Upgrade to 25398.xxxx
194+
items:
195+
- name: Via PowerShell (recommended)
196+
href: upgrade/upgrade-22h2-to-23h2-powershell.md
197+
- name: Via Windows Admin Center
198+
href: upgrade/upgrade-22h2-to-23h2-windows-admin-center.md
199+
- name: Via other methods
200+
href: upgrade/upgrade-22h2-to-23h2-other-methods.md
197201
- name: 2. Perform post-OS upgrade tasks
198202
href: upgrade/post-upgrade-steps.md
199203
- name: 3. Configure Network ATC

azure-local/includes/azure-local-verify-update.md

Lines changed: 52 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -6,33 +6,57 @@ ms.topic: include
66
ms.date: 05/13/2024
77
---
88

9-
## Step 3: Check the status of an update
10-
11-
To get the summary information about an update in progress, run the `Get-CauRun` cmdlet:
12-
13-
```PowerShell
14-
Get-CauRun -ClusterName <SystemName>
15-
```
16-
17-
Here's a sample output: <!--ASK-->
18-
19-
```output
20-
RunId : <Run ID>
21-
RunStartTime : 10/13/2024 1:35:39 PM
22-
CurrentOrchestrator : NODE1
23-
NodeStatusNotifications : {
24-
Node : NODE1
25-
Status : Waiting
26-
Timestamp : 10/13/2024 1:35:49 PM
27-
}
28-
NodeResults : {
29-
Node : NODE2
30-
Status : Succeeded
31-
ErrorRecordData :
32-
NumberOfSucceededUpdates : 0
33-
NumberOfFailedUpdates : 0
34-
InstallResults : Microsoft.ClusterAwareUpdating.UpdateInstallResult[]
35-
}
36-
```
9+
1. To get the summary information about an update in progress, run the `Get-CauRun` cmdlet:
10+
11+
```PowerShell
12+
Get-CauRun -ClusterName <SystemName>
13+
```
14+
15+
Here's a sample output: <!--ASK-->
16+
17+
```output
18+
RunId : <Run ID>
19+
RunStartTime : 10/13/2024 1:35:39 PM
20+
CurrentOrchestrator : NODE1
21+
NodeStatusNotifications : {
22+
Node : NODE1
23+
Status : Waiting
24+
Timestamp : 10/13/2024 1:35:49 PM
25+
}
26+
NodeResults : {
27+
Node : NODE2
28+
Status : Succeeded
29+
ErrorRecordData :
30+
NumberOfSucceededUpdates : 0
31+
NumberOfFailedUpdates : 0
32+
InstallResults : Microsoft.ClusterAwareUpdating.UpdateInstallResult[]
33+
}
34+
```
35+
36+
1. Validate the health of your system by running the `Test-Cluster` cmdlet on one of the machines in the system. If any of the condition checks fail, resolve them before proceeding to the next step.
37+
38+
```powershell
39+
Test-Cluster
40+
```
41+
42+
1. Verify that the registry keys are still applied on each machine in the system before moving to the next step.
43+
44+
To check if the registry key exists:
45+
46+
```powershell
47+
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "RefsEnableMetadataValidation"
48+
```
49+
50+
To reapply the registry keys if needed and reboot each machine for the changes to take effect:
51+
52+
```powershell
53+
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "RefsEnableMetadataValidation" -Value 0 -Type DWord -ErrorAction Stop
54+
```
55+
56+
If the OS upgrade fails, run the following command to recover the CAU run:
57+
58+
```powershell
59+
Invoke-CauRun –ForceRecovery -Force
60+
```
3761
3862
You're now ready to perform the post-OS upgrade steps for your system.

azure-local/upgrade/upgrade-22h2-to-23h2-other-methods.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Upgrade Azure Stack HCI OS, version 22H2 to version 23H2 via other method
33
description: Learn how to upgrade from Azure Stack HCI OS, version 22H2 to version 23H2 using other manual methods on Azure Local.
44
author: alkohli
55
ms.topic: how-to
6-
ms.date: 05/21/2025
6+
ms.date: 06/06/2025
77
ms.author: alkohli
88
ms.reviewer: alkohli
99
ms.service: azure-local
@@ -97,6 +97,8 @@ To ensure Resilient File System (ReFS) and live migrations function properly dur
9797

9898
1. Restart the machine for the changes to take effect. On machine restart, if the `RefsEnableMetadataValidation` key gets overridden and ReFS volumes fail to come online, toggle the key by first setting `RefsEnableMetadataValidation` to `1` and then back to `0` again.
9999

100+
1. Update and verify that the registry keys have been applied on each machine in the system before moving to the next step.
101+
100102
## Step 1: Connect to your system
101103

102104
Follow these steps on your client to connect to one of the machines on your system.
@@ -177,6 +179,8 @@ If there's a critical security update <!--ASK-->that you need to apply quickly o
177179

178180
<!--ASK-->
179181

182+
## Step 3: Check the status of an update
183+
180184
[!INCLUDE [verify-update](../includes/azure-local-verify-update.md)]
181185

182186
## Next steps

azure-local/upgrade/upgrade-22h2-to-23h2-powershell.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Upgrade Azure Stack HCI OS, version 22H2 to version 23H2 via PowerShell
33
description: Learn how to use PowerShell to upgrade Azure Stack HCI OS, version 22H2 to version 23H2.
44
author: alkohli
55
ms.topic: how-to
6-
ms.date: 05/21/2025
6+
ms.date: 06/06/2025
77
ms.author: alkohli
88
ms.reviewer: alkohli
99
ms.service: azure-local
@@ -100,6 +100,8 @@ To ensure Resilient File System (ReFS) and live migrations function properly dur
100100

101101
1. Restart the machine for the changes to take effect. On machine restart, if the `RefsEnableMetadataValidation` key gets overridden and ReFS volumes fail to come online, toggle the key by first setting `RefsEnableMetadataValidation` to `1` and then back to `0` again.
102102

103+
1. Update and verify that the registry keys have been applied on each machine in the system before moving to the next step.
104+
103105
## Step 1: Connect to Azure Local
104106

105107
Follow these steps on your client to connect to one of the machines of your Azure Local instance.
@@ -177,6 +179,8 @@ To install the new OS using PowerShell, follow these steps:
177179

178180
Wait for the update to complete and check the status of the update.
179181

182+
## Step 3: Check the status of an update
183+
180184
[!INCLUDE [verify-update](../includes/azure-local-verify-update.md)]
181185

182186
## Next steps

azure-local/upgrade/upgrade-22h2-to-23h2-windows-admin-center.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Upgrade Azure Stack HCI OS, version 22H2 to version 23H2 via Windows Admi
33
description: Learn how to upgrade Azure Stack HCI OS, version 22H2 to version 23H2 using Windows Admin Center.
44
author: alkohli
55
ms.topic: how-to
6-
ms.date: 05/21/2025
6+
ms.date: 06/06/2025
77
ms.author: alkohli
88
ms.reviewer: alkohli
99
ms.service: azure-local
@@ -98,6 +98,8 @@ To ensure Resilient File System (ReFS) and live migrations function properly dur
9898

9999
1. Restart the machine for the changes to take effect. On machine restart, if the `RefsEnableMetadataValidation` key gets overridden and ReFS volumes fail to come online, toggle the key by first setting `RefsEnableMetadataValidation` to `1` and then back to `0` again.
100100

101+
1. Update and verify that the registry keys have been applied on each machine in the system before moving to the next step.
102+
101103
## Step 1: Connect to Azure Local via Windows Admin Center
102104

103105
Follow these steps to add and connect to an Azure Local machine via Windows Admin Center.
@@ -169,7 +171,6 @@ Follow these steps to install updates:
169171
You're now ready to perform the post-upgrade steps for your system.
170172

171173

172-
173174
## Next steps
174175

175176
- [Learn how to perform the post-upgrade steps for your Azure Local.](./post-upgrade-steps.md)
Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
---
2+
title: Upgrade Azure Stack HCI OS to version 26100.xxxx using PowerShell
3+
description: Learn how to use PowerShell to upgrade Azure Stack HCI OS to version 26100.xxxx.
4+
author: alkohli
5+
ms.topic: how-to
6+
ms.date: 06/05/2025
7+
ms.author: alkohli
8+
ms.reviewer: alkohli
9+
ms.service: azure-local
10+
---
11+
12+
# Upgrade Azure Stack HCI OS to version 26100.xxxx using PowerShell
13+
14+
[!INCLUDE [end-of-service-22H2](../includes/end-of-service-22h2.md)]
15+
16+
This article describes how to upgrade the Azure Stack HCI operating system (OS) via PowerShell. Supported upgrade paths include:
17+
18+
- From OS version 20349.xxxx to 26100.xxxx.
19+
20+
- From OS version 25398.xxxx to 26100.xxxx.
21+
22+
> [!IMPORTANT]
23+
> This article covers OS upgrades only. Do not proceed if solution upgrade is complete or Azure Local 2311.2 or later is deployed.
24+
> To check if your system is already running the solution, run the `Get-StampInformation` cmdlet. If it returns output, your system is already running the solution, and you should skip these steps.
25+
26+
## High-level workflow for the OS upgrade
27+
28+
The Azure Stack HCI OS update is available only via the Azure portal.
29+
30+
To upgrade the OS on your system, follow these high-level steps:
31+
32+
1. [Complete the prerequisites.](#complete-prerequisites)
33+
1. [Update registry keys.](#update-registry-keys)
34+
1. [Install new OS using PowerShell.](#install-new-os-using-powershell)
35+
1. [Check the status of the updates.](#check-the-status-of-an-update)
36+
1. [After the OS is upgraded, perform post-OS upgrade steps.](#next-steps)
37+
38+
## Complete prerequisites
39+
40+
- Make sure your Azure Local system is running either OS version 20349.3692 or OS version greater than 25398.1611.
41+
- Make sure the system is registered in Azure and all the machines in the system are healthy and online.
42+
- Make sure to shut down virtual machines (VMs). We recommend shutting down VMs before performing the OS upgrade to prevent unexpected outages and damages to databases.
43+
- Confirm that you have access to the Azure Local **2505** ISO file, which you can download from the [Azure portal](https://portal.azure.com/#view/Microsoft_Azure_ArcCenterUX/ArcCenterMenuBlade/~/hciGetStarted).
44+
- Consult your hardware OEM to verify driver compatibility. Confirm that all drivers compatible with Windows Server 2025 or Azure Stack HCI OS, 26100.xxxx are installed before the upgrade.
45+
- Make sure the Network Interface Card (NIC) driver currently installed on your system is newer than the version included by default (inbox) with Azure Stack HCI OS, version 26100.xxxx. The following table compares the current and recommended versions of NIC drivers for two manufacturers:
46+
47+
| NIC manufacturer | Inbox driver version | Recommended latest compatible driver |
48+
|--|--|--|
49+
| Intel | 1.15.121.0 | 1.17.73.0 |
50+
| NVIDIA | 24.4.26429.0 | 25.4.50020 |
51+
52+
- Ensure the instance is properly registered. If the *identity* property is missing or doesn’t contain `type = "SystemAssigned"`, run the following command to repair the registration:
53+
54+
```powershell
55+
Register-AzStackHCI -TenantId "<tenant_ID>" -SubscriptionId "<subscription_ID>" -ComputerName "<computer_name>" -RepairRegistration
56+
```
57+
You can verify the *identity* property in the Azure portal in resource's JSON or by running the following cmdlet:
58+
59+
```powershell
60+
Get-AzResource -Name <cluster_name> -ResourceGroupName <name of the resource group> -ResourceType "Microsoft.AzureStackHCI/clusters" -ExpandProperties
61+
```
62+
- (Recommended) Enable [Secure Boot](/windows-hardware/design/device-experiences/oem-secure-boot) on Azure Local machines before you upgrade the OS. To enable Secure Boot, follow these steps:
63+
1. Drain the cluster node.
64+
1. Restart the OS.
65+
1. Enter the BIOS/UEFI menu.
66+
1. Review the **Boot** or **Security** section of the UEFI configuration options Locate the Secure Boot option.
67+
1. Set the option to **Enabled** or **On**.
68+
1. Save the changes and restart your computer.
69+
70+
Consult with your hardware vendor for assistance if required.
71+
72+
## Update registry keys
73+
74+
To ensure Resilient File System (ReFS) functions properly during and after OS upgrade, follow these steps on each machine in the system to update registry keys. Reboot each machine for the changes to take effect.
75+
76+
1. Set `RefsEnableMetadataValidation` to `0`:
77+
78+
```powershell
79+
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "RefsEnableMetadataValidation" -Value 0 -Type DWord -ErrorAction Stop
80+
```
81+
82+
1. Create the parameters key if it doesn't exist. If it already exists, the command may fail with an error, which is expected.
83+
84+
```powershell
85+
New-Item -Path HKLM:\SYSTEM\CurrentControlSet\Services\Vid\Parameters
86+
```
87+
88+
1. Restart the machine to apply changes. If ReFS volumes fail to come online after reboot and the `RefsEnableMetadataValidation` key is reset, toggle the key. Set `RefsEnableMetadataValidation` to **1** and then back to **0**. To check volume status, run the `Get-ClusterSharedVolumeState` command.
89+
90+
1. Update and verify that the registry keys have been applied on each machine in the system before moving to the next step.
91+
92+
## Install new OS using PowerShell
93+
94+
To install the new OS using PowerShell, follow these steps:
95+
96+
> [!NOTE]
97+
> The following steps require the Cluster-Aware Updating (CAU) role to be installed and enabled on the system. For information on how to install and enable this feature on your Azure Local, see [Cluster-Aware Updating overview](/windows-server/failover-clustering/cluster-aware-updating#installing-cluster-aware-updating).
98+
99+
1. Run the following cmdlets on every machine in the system.
100+
101+
```PowerShell
102+
Set-WSManQuickConfig
103+
Enable-PSRemoting
104+
```
105+
106+
1. To test whether the system is properly set up to apply software updates using Cluster-Aware Updating (CAU), run the `Test-CauSetup` cmdlet, which notifies you of any warnings or errors:
107+
108+
```PowerShell
109+
Test-CauSetup -ClusterName <System name>
110+
```
111+
112+
1. Validate the hardware and settings by running the `Test-Cluster` cmdlet on one of the machines in the system. If any of the condition checks fail, resolve them before proceeding to the next step. <!--ASK-->
113+
114+
```PowerShell
115+
Test-Cluster
116+
```
117+
118+
1. Extract the contents of the ISO image and copy them to the local system drive on each machine. Ensure that the local path is the same on each machine. Then, update the `PathToSetupMedia` parameter with the local path to the ISO image.
119+
120+
```powershell
121+
# Define ISO and destination paths
122+
$isoFilePath = "C:\SetupFiles\WindowsServer\ISOs\example.iso"
123+
$destinationPath = "C:\SetupFiles\WindowsServer\Files"
124+
# Mount the ISO file
125+
$iso = Mount-DiskImage -ImagePath $isoFilePath
126+
# Get the drive letter
127+
$driveLetter = ($iso | Get-Volume).DriveLetter
128+
# Create the destination directory
129+
New-Item -ItemType Directory -Path $destinationPath
130+
# Copy contents to the local directory
131+
Copy-Item -Path "${driveLetter}:\*" -Destination $destinationPath –Recurse
132+
# Dismount the ISO file
133+
Dismount-DiskImage -ImagePath $isoFilePath
134+
```
135+
136+
1. Upgrade the system.
137+
138+
```powershell
139+
Invoke-CauRun –ClusterName <SystemName> -CauPluginName Microsoft.RollingUpgradePlugin -EnableFirewallRules -CauPluginArguments @{ 'WuConnected'='false';'PathToSetupMedia'='\some\path\'; 'UpdateClusterFunctionalLevel'='true'; } -ForceSelfUpdate -Force
140+
```
141+
142+
1. Wait for the update to complete and check the status of the update.
143+
144+
## Check the status of an update
145+
146+
[!INCLUDE [verify-update](../includes/azure-local-verify-update.md)]
147+
148+
## Known issues
149+
150+
If the system is configured with Network ATC prior to performing the OS upgrade, the Network ATC management intent may fail with error `PhysicalAdapterNotFound` after upgrading the OS. For detailed steps on how to resolve this issue, see the [Troubleshooting guide](https://github.com/Azure/AzureLocal-Supportability/blob/main/TSG/Upgrade/Known%252Dissue-%252D-Network-ATC-management-intent-fails-with-%E2%80%98PhysicalAdapterNotFound%E2%80%99-after-upgrading-OS-from-22H2-to-23H2.md).
151+
152+
153+
## Next steps
154+
155+
- [Learn how to perform the post-OS upgrade steps for your Azure Local.](./post-upgrade-steps.md)

0 commit comments

Comments
 (0)