Skip to content

Commit baf7330

Browse files
author
Manika Dhiman
committed
updates
1 parent c80bd63 commit baf7330

File tree

2 files changed

+90
-102
lines changed

2 files changed

+90
-102
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. Choose OS version to upgrade
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-22h2-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. Install, enable Network ATC

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

Lines changed: 79 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,64 @@
11
---
2-
title: Upgrade Azure Stack HCI OS from version 20349.x (22H2) to 26100.x using PowerShell
3-
description: Learn how to use PowerShell to upgrade Azure Stack HCI OS from version 20349.x (22H2) to 26100.x.
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.
44
author: alkohli
55
ms.topic: how-to
6-
ms.date: 05/28/2025
6+
ms.date: 06/02/2025
77
ms.author: alkohli
88
ms.reviewer: alkohli
99
ms.service: azure-local
1010
---
1111

12-
# Upgrade Azure Stack HCI OS from version 20349.x (22H2) to 26100.x using PowerShell
12+
# Upgrade Azure Stack HCI OS to version 26100.xxxx using PowerShell
1313

1414
[!INCLUDE [applies-to](../includes/hci-applies-to-23h2-22h2.md)]
1515

1616
[!INCLUDE [end-of-service-22H2](../includes/end-of-service-22h2.md)]
1717

18-
This article describes how to upgrade the operating system (OS) for Azure Local from version 20349.x (22H2) to 26100.x using PowerShell. This is the first step in the upgrade process, which upgrades only the OS.
18+
This article describes how to upgrade the Azure Stack HCI operating system (OS) via PowerShell, which is the recommended method. Here are the supported upgrade paths:
1919

20-
To upgrade the OS from version 25398.x (23H2) to 26100.x, see [Upgrade Azure Stack HCI OS, version 22H2 to version 23H2 via PowerShell](./upgrade-22h2-to-23h2-powershell.md).
20+
- OS version 20349.xxxx to 26100.xxxx.
2121

22-
Throughout this article, we refer to OS version 26100.x as the *new* version and version 20349.x (22H2) as the *old* version. The version numbers shown as 20349.x and 26100.x are placeholders. Replace x with the actual build number applicable to your environment.
22+
- OS version 25398.xxxx to 26100.xxxx.
23+
24+
Throughout this article, we refer to OS version 26100.xxxx as the *new* version and versions 20349.xxxx and 25398.xxxx as the *old* versions.
25+
26+
> [!IMPORTANT]
27+
> This article covers OS upgrades only. Don't proceed if solution upgrade is complete or Azure Local 2311.2 or later is deployed.
28+
> 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.
2329
2430
## High-level workflow for the OS upgrade
2531

26-
The Azure Stack HCI operating system update is available via the media that you can download from the Azure portal.
32+
The Azure Stack HCI OS update is available only via the Azure portal.
2733

2834
To upgrade the OS on your system, follow these high-level steps:
2935

3036
1. [Complete the prerequisites.](#complete-prerequisites)
31-
1. [Update registry keys.](#step-0-update-registry-keys)
32-
1. [Connect to Azure Local, version 22H2.](#step-1-connect-to-azure-local)
33-
1. [Check for the available updates using PowerShell.](#step-1-connect-to-azure-local)
34-
1. [Install new OS using PowerShell.](#step-2-install-new-os-using-powershell)
35-
1. [Check the status of the updates.](#step-3-check-the-status-of-an-update)
37+
1. [Update registry keys.](#update-registry-keys)
38+
1. [Install new OS using PowerShell.](#install-new-os-using-powershell)
39+
1. [Check the status of the updates.](#check-the-status-of-an-update)
3640
1. [After the OS is upgraded, perform post-OS upgrade steps.](#next-steps)
3741

3842
## Complete prerequisites
3943

40-
Before you begin, make sure that:
41-
42-
- You have access to an Azure Local running OS version 20349.3692 (22H2 5B).
43-
- The system is registered in Azure.
44-
- All the machines in your Azure Local, version 20349.x instance are healthy and show as **Online**.
45-
- You shut down virtual machines (VMs). We recommend shutting down VMs before performing the OS upgrade to prevent unexpected outages and damages to databases.
46-
- You have access to the Azure Stack HCI, version 20349.x OS software update for Azure Local. This update is available as a downloadable media. The media must be version **2505** ISO file that you can download from the [Azure portal](https://portal.azure.com/#view/Microsoft_Azure_HybridCompute/AzureArcCenterBlade/~/hciGetStarted).
47-
- Consult your Original Equipment Manufacturer (OEM) before you upgrade Azure Local to OS version 26100.x. Check with your OEM regarding the compatible drivers that must be installed before the upgrade.
48-
- You have access to a client that can connect to your Azure Local instance. This client should be running PowerShell 5.0 or later.
49-
- You run the `RepairRegistration` cmdlet only if both of the following conditions apply:
50-
51-
- The *identity* property is either missing or doesn’t contain `type = "SystemAssigned"`.
52-
- Check this in the Resource JSON in the Azure portal
53-
- Or run the `Get-AzResource -Name <cluster_name>` PowerShell cmdlet
54-
- The **Cloud Management** cluster group is not present. Check it by running the `Get-ClusterGroup` PowerShell cmdlet.
55-
56-
If both these conditions are met, run the `RepairRegistration` cmdlet:
44+
- Make sure your Azure Local is running either OS version 20349.3692 or OS version greater than 25398.1611.
45+
- Make sure the system is registered in Azure and all the machines in the system are healthy and online.
46+
- 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.
47+
- Confirm that have access to the Azure Local **2505** ISO file that you can download from the [Azure portal](https://portal.azure.com/#view/Microsoft_Azure_ArcCenterUX/ArcCenterMenuBlade/~/hciGetStarted).
48+
- Consult your hardware OEM before you upgrade Azure Local to OS version 26100.xxxx. Check with your OEM regarding the Windows Server 2025 or Azure Stack HCI OS, 26100.xxxx compatible drivers that need to be installed before the upgrade.
49+
- Confirm if the *identity* property is missing or doesn’t contain `type = "SystemAssigned"`. To check:
50+
- View the resource's JSON in the Azure portal, or
51+
- Run the following cmdlet:
52+
53+
```powershell
54+
Get-AzResource -Name <cluster_name> -ResourceGroupName <name of the resource group> -ResourceType "Microsoft.AzureStackHCI/clusters" -ExpandProperties
55+
```
56+
If the *identity* property is missing or doesn’t contain `type = "SystemAssigned"`, run the following cmdlet:
5757

5858
```powershell
5959
Register-AzStackHCI -TenantId "<tenant_ID>" -SubscriptionId "<subscription_ID>" -ComputerName "<computer_name>" -RepairRegistration
6060
```
61-
62-
- (Recommended) You enable [Secure Boot](/windows-hardware/design/device-experiences/oem-secure-boot) on Azure Local machines before you upgrade the OS.
63-
To enable Secure Boot, follow these steps:
61+
- (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:
6462
1. Drain the cluster node.
6563
1. Restart the OS.
6664
1. Enter the BIOS/UEFI menu.
@@ -70,13 +68,9 @@ Before you begin, make sure that:
7068

7169
Consult with your hardware vendor for assistance if required.
7270

73-
> [!NOTE]
74-
> The **2503** ISO file is only required if the machines do not have access to Windows Update to download the OS feature update. If using this method, after you [Connect to Azure Local, version 22H2](#step-1-connect-to-azure-local), skip to step 6 under [Step 2: Install new OS using PowerShell](#step-2-install-new-os-using-powershell) and perform the remaining steps.
75-
> Use of 3rd party tools to install upgrades is not supported.
71+
## Update registry keys
7672

77-
## Step 0: Update registry keys
78-
79-
To ensure Resilient File System (ReFS) and live migrations function 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.
73+
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.
8074

8175
1. Set `RefsEnableMetadataValidation` to `0`:
8276

@@ -90,39 +84,11 @@ To ensure Resilient File System (ReFS) and live migrations function properly dur
9084
New-Item -Path HKLM:\SYSTEM\CurrentControlSet\Services\Vid\Parameters
9185
```
9286

93-
1. Set `SkipSmallLocalAllocations` to `0`:
94-
95-
```powershell
96-
New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Vid\Parameters -Name SkipSmallLocalAllocations -Value 0 -PropertyType DWord
97-
```
98-
99-
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.
87+
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.
10088

101-
## Step 1: Connect to Azure Local
89+
1. Update and verify that the registry keys have been applied on each machine in the system before moving to the next step.
10290

103-
Follow these steps on your client to connect to one of the machines of your Azure Local instance.
104-
105-
1. Run PowerShell as Administrator on the client that you're using to connect to your system.
106-
1. Open a remote PowerShell session to a machine on your Azure Local instance. Run the following command and provide the credentials of your machine when prompted:
107-
108-
```powershell
109-
$cred = Get-Credential
110-
Enter-PSSession -ComputerName "<Computer IP>" -Credential $cred
111-
```
112-
113-
Here's a sample output:
114-
115-
```Console
116-
PS C:\Users\Administrator> $cred = Get-Credential
117-
118-
cmdlet Get-Credential at command pipeline position 1
119-
Supply values for the following parameters:
120-
Credential
121-
PS C:\Users\Administrator> Enter-PSSession -ComputerName "100.100.100.10" -Credential $cred
122-
[100.100.100.10]: PS C:\Users\Administrator\Documents>
123-
```
124-
125-
## Step 2: Install new OS using PowerShell
91+
## Install new OS using PowerShell
12692

12793
To install the new OS using PowerShell, follow these steps:
12894

@@ -148,34 +114,52 @@ To install the new OS using PowerShell, follow these steps:
148114
Test-Cluster
149115
```
150116

151-
1. Check for the available updates:
152-
153-
```PowerShell
154-
Invoke-CauScan -ClusterName <SystemName> -CauPluginName "Microsoft.RollingUpgradePlugin" -CauPluginArguments @{'WuConnected'='true';} -Verbose | fl *
155-
```
156-
157-
Inspect the output of the above cmdlet and verify that each machine is offered the same Feature Update, which should be the case. <!--ASK-->
117+
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.
158118

159-
1. You need a separate machine or VM outside the system to run the `Invoke-CauRun` cmdlet from. A separate machine ensures that orchestration isn't interrupted when the machines are rebooted.
160-
161-
> [!IMPORTANT]
162-
> The system on which you run `Invoke-CauRun` must be running Windows Server 2022. <!--ASK-->
163-
164-
```PowerShell
165-
Invoke-CauRun -ClusterName <SystemName> -CauPluginName "Microsoft.RollingUpgradePlugin" -CauPluginArguments @{'WuConnected'='true';} -Verbose -EnableFirewallRules -Force
166-
```
167-
168-
1. If the system isn't connected to Windows Update and the Azure Local install media is available on a local share, CAU can also be used to upgrade the system. Be sure to update the `'PathToSetupMedia'` parameter with the share path to the ISO image.
119+
1. Upgrade the system.
169120

170121
```powershell
171-
Invoke-CauRun –ClusterName <SystemName> -CauPluginName Microsoft.RollingUpgradePlugin -CauPluginArguments @{ 'WuConnected'='false';'PathToSetupMedia'='\some\path\'; 'UpdateClusterFunctionalLevel'='true'; } -Force
172-
```
173-
174-
1. Check for any further updates and install them.
175-
176-
Wait for the update to complete and check the status of the update.
177-
178-
[!INCLUDE [verify-update](../includes/azure-local-verify-update.md)]
122+
Invoke-CauRun –ClusterName <SystemName> -CauPluginName Microsoft.RollingUpgradePlugin -EnableFirewallRules -CauPluginArguments @{ 'WuConnected'='false';'PathToSetupMedia'='\some\path\'; 'UpdateClusterFunctionalLevel'='true'; } -ForceSelfUpdate -Force
123+
```
124+
125+
1. Wait for the update to complete and check the status of the update.
126+
127+
## Check the status of an update
128+
129+
1. To get the summary information about an update in progress, run the `Get-CauRun` cmdlet:
130+
131+
```powershell
132+
Get-CauRun -ClusterName <SystemName>
133+
```
134+
135+
Here's a sample output:
136+
137+
```output
138+
RunId : <Run ID>
139+
RunStartTime : 10/13/2024 1:35:39 PM
140+
CurrentOrchestrator : NODE1
141+
NodeStatusNotifications : {
142+
Node : NODE1
143+
Status : Waiting
144+
Timestamp : 10/13/2024 1:35:49 PM
145+
}
146+
NodeResults : {
147+
Node : NODE2
148+
Status : Succeeded
149+
ErrorRecordData :
150+
NumberOfSucceededUpdates : 0
151+
NumberOfFailedUpdates : 0
152+
InstallResults : Microsoft.ClusterAwareUpdating.UpdateInstallResult[]
153+
}
154+
```
155+
156+
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.
157+
158+
```powershell
159+
Test-Cluster
160+
```
161+
162+
You're now ready to perform the post-OS upgrade steps for your system.
179163

180164
## Next steps
181165

0 commit comments

Comments
 (0)