Skip to content

Commit 966ba82

Browse files
committed
Updated with zone pivots
1 parent 304d14c commit 966ba82

File tree

1 file changed

+164
-6
lines changed

1 file changed

+164
-6
lines changed

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

Lines changed: 164 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ ms.service: azure-local
1111

1212
# Upgrade Azure Stack HCI OS, version 22H2 to version 23H2 via PowerShell
1313

14-
[!INCLUDE [applies-to](../includes/hci-applies-to-23h2-22h2.md)]
15-
1614
[!INCLUDE [end-of-service-22H2](../includes/end-of-service-22h2.md)]
1715

16+
::: zone pivot="os-23h2"
17+
1818
This article describes how to upgrade the operating system (OS) for Azure Local from version 22H2 to version 23H2 via PowerShell, which is the recommended method to upgrade the OS. This is the first step in the upgrade process, which upgrades only the OS.
1919

2020
There are other methods to upgrade the OS that include using Windows Admin Center and the Server Configuration tool (SConfig). For more information about these methods, see [Upgrade the Azure Stack HCI OS, version 22H2 OS via Windows Admin Center](./upgrade-22h2-to-23h2-windows-admin-center.md) and [Upgrade Azure Local to new OS using other methods](./upgrade-22h2-to-23h2-other-methods.md).
@@ -24,8 +24,27 @@ Throughout this article, we refer to OS version 23H2 as the *new* version and ve
2424
> [!IMPORTANT]
2525
> To keep your Azure Local service in a supported state, you have up to six months to install this new OS version. The update is applicable to all Azure Local instances running version 22H2. We strongly recommend that you install this version as soon as it becomes available.
2626
27+
::: zone-end
28+
29+
::: zone pivot="os-24h2"
30+
31+
32+
This article describes how to upgrade the Azure Stack HCI operating system (OS) via PowerShell. Supported upgrade paths include:
33+
34+
- From OS version 20349.xxxx to 26100.xxxx.
35+
36+
- From OS version 25398.xxxx to 26100.xxxx.
37+
38+
> [!IMPORTANT]
39+
> - This article covers OS upgrades only. Do not proceed if solution upgrade is complete or Azure Local 2311.2 or later is deployed. 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.
40+
> - The solution upgrade isn't yet supported on OS version 26100.xxxx.
41+
42+
::: zone-end
43+
2744
## High-level workflow for the OS upgrade
2845

46+
::: zone pivot="os-23h2"
47+
2948
The Azure Stack HCI operating system update is available via the Windows Update and via the media that you can download from the Azure portal.
3049

3150
To upgrade the OS on your system, follow these high-level steps:
@@ -38,8 +57,27 @@ To upgrade the OS on your system, follow these high-level steps:
3857
1. [Check the status of the updates.](#step-3-check-the-status-of-an-update)
3958
1. [After the OS is upgraded, perform post-OS upgrade steps.](#next-steps)
4059

60+
::: zone-end
61+
62+
::: zone pivot="os-24h2"
63+
64+
The Azure Stack HCI OS update is available only via the Azure portal.
65+
66+
To upgrade the OS on your system, follow these high-level steps:
67+
68+
1. [Complete the prerequisites.](#complete-prerequisites)
69+
1. [Update registry keys.](#update-registry-keys)
70+
1. [Install new OS using PowerShell.](#install-new-os-using-powershell)
71+
1. [Check the status of the updates.](#check-the-status-of-an-update)
72+
1. [After the OS is upgraded, perform post-OS upgrade steps.](#next-steps)
73+
74+
::: zone-end
75+
76+
4177
## Complete prerequisites
4278

79+
::: zone pivot="os-23h2"
80+
4381
Before you begin, make sure that:
4482

4583
- You have access to an Azure Local running version 22H2.
@@ -76,7 +114,47 @@ Before you begin, make sure that:
76114
> 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.
77115
> Use of 3rd party tools to install upgrades is not supported.
78116
79-
## Step 0: Update registry keys
117+
::: zone-end
118+
119+
::: zone pivot="os-24h2"
120+
121+
- Make sure your Azure Local system is running either OS version 20349.3692 or OS version greater than 25398.1611.
122+
- Make sure the system is registered in Azure and all the machines in the system are healthy and online.
123+
- 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.
124+
- 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).
125+
- 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.
126+
- 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:
127+
128+
| NIC manufacturer | Inbox driver version | Recommended latest compatible driver |
129+
|--|--|--|
130+
| Intel | 1.15.121.0 | 1.17.73.0 |
131+
| NVIDIA | 24.4.26429.0 | 25.4.50020 |
132+
133+
- 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:
134+
135+
```powershell
136+
Register-AzStackHCI -TenantId "<tenant_ID>" -SubscriptionId "<subscription_ID>" -ComputerName "<computer_name>" -RepairRegistration
137+
```
138+
You can verify the *identity* property in the Azure portal in resource's JSON or by running the following cmdlet:
139+
140+
```powershell
141+
Get-AzResource -Name <cluster_name> -ResourceGroupName <name of the resource group> -ResourceType "Microsoft.AzureStackHCI/clusters" -ExpandProperties
142+
```
143+
- (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:
144+
1. Drain the cluster node.
145+
1. Restart the OS.
146+
1. Enter the BIOS/UEFI menu.
147+
1. Review the **Boot** or **Security** section of the UEFI configuration options Locate the Secure Boot option.
148+
1. Set the option to **Enabled** or **On**.
149+
1. Save the changes and restart your computer.
150+
151+
Consult with your hardware vendor for assistance if required.
152+
153+
::: zone-end
154+
155+
## Update registry keys
156+
157+
::: zone pivot="os-23h2"
80158

81159
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.
82160

@@ -102,7 +180,26 @@ To ensure Resilient File System (ReFS) and live migrations function properly dur
102180

103181
1. Update and verify that the registry keys have been applied on each machine in the system before moving to the next step.
104182

105-
## Step 1: Connect to Azure Local
183+
::: zone-end
184+
185+
::: zone pivot="os-24h2"
186+
187+
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.
188+
189+
1. Set `RefsEnableMetadataValidation` to `0`:
190+
191+
```powershell
192+
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "RefsEnableMetadataValidation" -Value 0 -Type DWord -ErrorAction Stop
193+
```
194+
195+
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.
196+
197+
1. Update and verify that the registry keys have been applied on each machine in the system before moving to the next step.
198+
199+
::: zone-end
200+
201+
## Connect to Azure Local
202+
106203

107204
Follow these steps on your client to connect to one of the machines of your Azure Local instance.
108205

@@ -126,7 +223,10 @@ Follow these steps on your client to connect to one of the machines of your Azur
126223
[100.100.100.10]: PS C:\Users\Administrator\Documents>
127224
```
128225

129-
## Step 2: Install new OS using PowerShell
226+
227+
## Install new OS using PowerShell
228+
229+
::: zone pivot="os-23h2"
130230

131231
To install the new OS using PowerShell, follow these steps:
132232

@@ -179,7 +279,65 @@ To install the new OS using PowerShell, follow these steps:
179279

180280
Wait for the update to complete and check the status of the update.
181281

182-
## Step 3: Check the status of an update
282+
::: zone-end
283+
284+
::: zone pivot="os-24h2"
285+
286+
To install the new OS using PowerShell, follow these steps:
287+
288+
> [!NOTE]
289+
> 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).
290+
291+
1. Run the following cmdlets on every machine in the system.
292+
293+
```PowerShell
294+
Set-WSManQuickConfig
295+
Enable-PSRemoting
296+
```
297+
298+
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:
299+
300+
```PowerShell
301+
Test-CauSetup -ClusterName <System name>
302+
```
303+
304+
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-->
305+
306+
```PowerShell
307+
Test-Cluster
308+
```
309+
310+
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.
311+
312+
```powershell
313+
# Define ISO and destination paths
314+
$isoFilePath = "C:\SetupFiles\WindowsServer\ISOs\example.iso"
315+
$destinationPath = "C:\SetupFiles\WindowsServer\Files"
316+
# Mount the ISO file
317+
$iso = Mount-DiskImage -ImagePath $isoFilePath
318+
# Get the drive letter
319+
$driveLetter = ($iso | Get-Volume).DriveLetter
320+
# Create the destination directory
321+
New-Item -ItemType Directory -Path $destinationPath
322+
# Copy contents to the local directory
323+
Copy-Item -Path "${driveLetter}:\*" -Destination $destinationPath –Recurse
324+
# Dismount the ISO file
325+
Dismount-DiskImage -ImagePath $isoFilePath
326+
```
327+
328+
1. Upgrade the system.
329+
330+
```powershell
331+
Invoke-CauRun –ClusterName <SystemName> -CauPluginName Microsoft.RollingUpgradePlugin -EnableFirewallRules -CauPluginArguments @{ 'WuConnected'='false';'PathToSetupMedia'='\some\path\'; 'UpdateClusterFunctionalLevel'='true'; } -ForceSelfUpdate -Force
332+
```
333+
334+
1. Wait for the update to complete and check the status of the update.
335+
336+
::: zone-end
337+
338+
339+
## Check the status of an update
340+
183341

184342
[!INCLUDE [verify-update](../includes/azure-local-verify-update.md)]
185343

0 commit comments

Comments
 (0)