この記事では、PowerShell を使用して、Azure Stack HCI オペレーティング システム (OS) をバージョン 20349.xxxx (22H2) からバージョン 25398.xxxx (23H2) にアップグレードする方法について説明します。 これは、OS のみをアップグレードするアップグレード プロセスの最初の手順です。
この記事では、PowerShell を使用して Azure Stack HCI オペレーティング システム (OS) をバージョン 26100.xxxx (24H2) にアップグレードする方法について説明します。 次の 2 つのアップグレード パスを使用できます。
- バージョン 20349.xxxx (22H2) からバージョン 26100.xxxx (24H2) にアップグレードします。
- バージョン 25398.xxxx (23H2) からバージョン 26100.xxxx (24H2) にアップグレードします。 これには、バージョン 20349.xxxx (22H2) からアップグレードされた 25398.xxxx (23H2) クラスターが含まれており、ソリューションのアップグレードはまだ適用されていません。
2505 リリースでは、バージョン 20349.xxxx (22H2) からバージョン 26100.xxxx (24H2) への直接アップグレード パスを使用できます。 バージョン 26100.xxxx へのアップグレードをスキップすると、アップグレード ホップが 1 つ少なくなり、ソリューションのアップグレード前の再起動とメンテナンス計画を減らすことができます。
- アップグレードを実行する前に、必ずハードウェア ベンダーに問い合わせて、バージョン 26100.xxxx OS がサポートされているかどうかを確認してください。
- OS のアップグレード後、ソリューションのアップグレードを適用できます。
- ストレッチ クラスターを使用している場合、上記の推奨事項には例外があります。 ストレッチ クラスターは、バージョン 26100.xxxx (24H2) に直接移行するのを待つ必要があります。
さまざまなアップグレード パスの詳細については、 Azure Local から新しい OS バージョンへのアップグレードに関するブログ投稿を参照してください。
重要
この記事では、OS のアップグレードについて説明します。 ソリューションのアップグレードが完了した場合、または Azure Local 2311.2 以降がデプロイされている場合は、続行しないでください。 システムで既にソリューションが実行されているかどうかを確認するには、 Get-StampInformation コマンドレットを実行します。 出力が返された場合、システムは既にソリューションを実行しているため、これらの手順は省略する必要があります。
バージョン 22H2 のサポート終了 (EOS) について
Azure Stack HCI OS バージョン 22H2 は既にサポート対象外です。
- 毎月のセキュリティと品質の更新が停止しました。
- 登録や修復を含め、システムは引き続き動作します。
- 課金は続行されています。
- Microsoft サポートは、アップグレードのサポートでのみ利用できます。
更新プログラムを引き続き受け取るために、 PowerShell を使用してオペレーティング システムを新しいバージョンにアップグレードすることをお勧めします。
Azure Stack HCI バージョン 22H2 ストレッチ クラスターを実行している場合、または System Center Virtual Machine Manager を使用してクラスターを管理している場合は、 サポートされているワークロードと構成 の表で更新タイムラインを確認してください。
バージョン 23H2 のサポート終了 (EOS) について
Azure Stack HCI バージョン 23H2 OS (OS バージョン 25398.xxxx) は、2026 年 4 月にサポートが終了します。 この日付を過ぎると、毎月のセキュリティと品質の更新プログラムは受け取りません。 サポートリクエストは、サポートされているリリースにパッチを適用する場合にのみ使用できます。
OS アップグレードの全体的なワークフロー
Azure Stack HCI オペレーティング システムの更新プログラムは、Windows Update と、Azure portal からダウンロードできるメディアを介して入手できます。
システム上の OS をアップグレードするには、次の大まかな手順に従います。
- 前提条件を完了します。
- レジストリ キーを更新します。
- Azure Local バージョン 22H2 に接続します。PowerShell を使用して利用可能な更新プログラムを確認します。
- PowerShell を使用して新しい OS をインストールします。
- 更新プログラムの状態を確認します。
- OS がアップグレードされたら、OS アップグレード後の手順を実行します。
Azure Stack HCI OS の更新プログラムは、Azure portal 経由でのみ使用できます。
システム上の OS をアップグレードするには、次の大まかな手順に従います。
前提条件を満たす
開始する前に次の点を確認します。
バージョン 20349.xxxx (22H2) を実行している Azure ローカル インスタンスにアクセスでき、Azure に登録されています。
システムは Azure に登録されており、システム内のすべてのマシンが正常でオンラインです。
バージョン 22H2 インスタンスで実行されている Azure Arc クラスターで AKS が有効になっている場合は、 Uninstall-Aks-Hci コマンドを使用して AKS Arc とそのすべての設定をアンインストールします。 AKS Arc をアンインストールしたら、このモジュールはバージョン 23H2 以降では機能しないため、このコマンドを使用して AksHci Powershell モジュールをアンインストールする必要があります。
Uninstall-Module -Name AksHci -Force
AKS デプロイで PowerShell のバージョン関連の問題を回避するには、この ヘルパー スクリプトを使用して、古い AKS-HCI PowerShell モジュールを削除できます。 22H2 で AKS Arc のプレビュー バージョンを使用した場合は、Azure ローカル ノードでコマンド Uninstall-Moc を実行し、プレビュー バージョンを使用して作成された VM インスタンスを削除します。
仮想マシン (VM) をシャットダウンします。 予期しない障害やデータベースの破損の可能性を防ぐために、OS をアップグレードする前に VM をシャットダウンすることをお勧めします。
Azure Local のバージョン 25398.xxxx (23H2) OS ソフトウェア更新プログラムにアクセスできます。 この更新プログラムは、Windows Update またはダウンロード可能なメディアとして利用できます。 メディアは、Azure portal からダウンロードできるバージョン 2503 ISO ファイルである必要があります。
Azure ローカル インスタンスに接続できるクライアントにアクセスできます。 このクライアントは PowerShell 5.0 以降を実行している必要があります。
RepairRegistrationコマンドレットは、次の両方の条件が適用される場合にのみ実行します。-
ID プロパティが見つからないか、
type = "SystemAssigned"が含まれていない。- Azure portal のリソース JSON でこれを確認する
- または、
Get-AzResource -Name <cluster_name>PowerShell コマンドレットを実行します
-
クラウド管理クラスター グループが存在しません。
Get-ClusterGroupPowerShell コマンドレットを実行して確認します。
これらの両方の条件が満たされている場合は、
RepairRegistrationコマンドレットを実行します。Register-AzStackHCI -TenantId "<tenant_ID>" -SubscriptionId "<subscription_ID>" -ComputerName "<computer_name>" -RepairRegistration-
ID プロパティが見つからないか、
(推奨)OS をアップグレードする前に、Azure ローカル コンピューターで セキュア ブート を有効にします。 セキュア ブートを有効にするには、次の手順に従います。
- クラスター ノードをドレインします。
- OS を再起動します。
- BIOS/UEFI メニューを入力します。
- UEFI 構成オプションの [ブート ] または [ セキュリティ ] セクションを確認し、[セキュア ブート] オプションを見つけます。
- オプションを [有効] または [オン] に設定します。
- 変更を保存し、コンピューターを再起動します。
必要に応じて、ハードウェア ベンダーに問い合わせてください。
注記
2503 ISO ファイルは、OS 機能更新プログラムをダウンロードするためにマシンが Windows Update にアクセスできない場合にのみ必要です。 この方法を使用する場合は、 Azure Local バージョン 22H2 に接続した後、「 PowerShell を使用して新しい OS をインストール する」の手順 6 に進み、残りの手順を実行します。 サード パーティ製ツールを使用したアップグレードのインストールはサポートされていません。
Azure ローカル システムで、OS バージョン 20349.3692 または 25398.1611 より大きい OS バージョンが実行されていることを確認します。
システムが Azure に登録されており、システム内のすべてのマシンが正常でオンラインであることを確認します。
必ず仮想マシン (VM) をシャットダウンしてください。 データベースの予期しない停止や損害を防ぐために、OS アップグレードを実行する前に VM をシャットダウンすることをお勧めします。
バージョン 22H2 インスタンスで実行されている Azure Arc クラスターで AKS が有効になっている場合は、 Uninstall-Aks-Hci コマンドを使用して AKS Arc とそのすべての設定をアンインストールします。 AKS Arc をアンインストールしたら、このモジュールはバージョン 23H2 以降では機能しないため、このコマンドを使用して AksHci Powershell モジュールをアンインストールする必要があります。
Uninstall-Module -Name AksHci -ForceAKS デプロイで PowerShell のバージョン関連の問題を回避するには、この ヘルパー スクリプトを使用して、古い AKS-HCI PowerShell モジュールを削除できます。 22H2 で AKS Arc のプレビュー バージョンを使用した場合は、Azure ローカル ノードで
Uninstall-Mocコマンドを実行し、プレビュー バージョンを使用して作成された VM インスタンスを削除します。Azure portal からダウンロードできる最新の Azure Local にアクセスできることを確認します。
ハードウェア OEM に問い合わせて、ドライバーの互換性を確認してください。 アップグレードの前に、Windows Server 2025 または Azure Stack HCI OS 26100.xxxx と互換性のあるすべてのドライバーがインストールされていることを確認します。
システムに現在インストールされているネットワーク インターフェイス カード (NIC) ドライバーが、Azure Stack HCI OS バージョン 26100.xxxx に既定で含まれているバージョン (受信トレイ) よりも新しいことを確認します。 次の表は、2 つの製造元の NIC ドライバーの現在のバージョンと推奨されるバージョンを比較しています。
NIC の製造元 受信トレイ ドライバーのバージョン 推奨される最新の互換性のあるドライバー インテル 1.15.121.0 1.17.73.0 NVIDIA 24.4.26429.0 25.4.50020 インスタンスが正しく登録されていることを確認します。 ID プロパティがないか、
type = "SystemAssigned"が含まれていない場合は、次のコマンドを実行して登録を修復します。Register-AzStackHCI -TenantId "<tenant_ID>" -SubscriptionId "<subscription_ID>" -ComputerName "<computer_name>" -RepairRegistrationリソースの JSON で、または次のコマンドレットを実行して、Azure portal で ID プロパティを確認できます。
Get-AzResource -Name <cluster_name> -ResourceGroupName <name of the resource group> -ResourceType "Microsoft.AzureStackHCI/clusters" -ExpandProperties(推奨)OS をアップグレードする前に、Azure ローカル コンピューターで セキュア ブート を有効にします。 セキュア ブートを有効にするには、次の手順に従います。
- クラスター ノードをドレインします。
- OS を再起動します。
- BIOS/UEFI メニューを入力します。
- UEFI 構成オプションの [ブート ] または [ セキュリティ ] セクションを確認し、[セキュア ブート] オプションを見つけます。
- オプションを [有効] または [オン] に設定します。
- 変更を保存し、コンピューターを再起動します。
必要に応じて、ハードウェア ベンダーに問い合わせてください。
クラウド管理クラスター グループをクリーンアップします。
# Check to make sure the Cloud Management group is present and its online. Get-ClusterGroup -Name "Cloud Management" # Stop the Cloud Management group Stop-ClusterGroup -Name "Cloud Management" # Remove all resources in the Cloud Management group Get-ClusterGroup -Name "Cloud Management" | Get-ClusterResource | Remove-ClusterResource -Force # Start the Cloud Management group Start-ClusterGroup -Name "Cloud Management"
レジストリ キーを更新する
回復性のあるファイル システム (ReFS) とライブ マイグレーションが OS のアップグレード中およびアップグレード後に正しく機能するようにするには、システム内の各マシンで次の手順に従ってレジストリ キーを更新します。 変更を有効にするには、各マシンを再起動します。
RefsEnableMetadataValidationを0に設定します。Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "RefsEnableMetadataValidation" -Value 0 -Type DWord -ErrorAction Stopパラメーター キーが存在しない場合は作成します。 既に存在する場合は、コマンドがエラーで失敗する可能性があります。これは予期されます。
New-Item -Path HKLM:\SYSTEM\CurrentControlSet\Services\Vid\ParametersSkipSmallLocalAllocationsを0に設定します。New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Vid\Parameters -Name SkipSmallLocalAllocations -Value 0 -PropertyType DWord変更を有効にするには、コンピューターを再起動します。 コンピューターの再起動時に、
RefsEnableMetadataValidationキーがオーバーライドされ、ReFS ボリュームがオンラインに失敗した場合は、最初にRefsEnableMetadataValidationを1に設定してから、もう一度0に戻ってキーを切り替えます。次の手順に進む前に、システム内の各マシンにレジストリ キーが適用されていることを更新して確認します。
OS アップグレード中および OS アップグレード後に Resilient File System (ReFS) が正しく機能することを確認するには、システム内の各マシンで次の手順に従ってレジストリ キーを更新します。 変更を有効にするには、各マシンを再起動します。
RefsEnableMetadataValidationを0に設定します。Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "RefsEnableMetadataValidation" -Value 0 -Type DWord -ErrorAction Stopコンピューターを再起動して変更を適用します。 再起動後に ReFS ボリュームがオンラインに失敗し、
RefsEnableMetadataValidationキーがリセットされた場合は、キーを切り替えます。RefsEnableMetadataValidationを 1 に設定し、0 に戻します。 ボリュームの状態を確認するには、Get-ClusterSharedVolumeStateコマンドを実行します。次の手順に進む前に、システム内の各マシンにレジストリ キーが適用されていることを更新して確認します。
Azure Local に接続する
クライアントで次の手順に従って、Azure ローカル インスタンスのいずれかのマシンに接続します。
システムへの接続に使用しているクライアントで、管理者として PowerShell を実行します。
Azure ローカル インスタンス上のマシンへのリモート PowerShell セッションを開きます。 次のコマンドを実行し、メッセージが表示されたらコンピューターの資格情報を指定します。
$cred = Get-Credential Enter-PSSession -ComputerName "<Computer IP>" -Credential $cred出力例を次に示します。
PS C:\Users\Administrator> $cred = Get-Credential cmdlet Get-Credential at command pipeline position 1 Supply values for the following parameters: Credential PS C:\Users\Administrator> Enter-PSSession -ComputerName "100.100.100.10" -Credential $cred [100.100.100.10]: PS C:\Users\Administrator\Documents>
PowerShell を使用して新しい OS をインストールする
PowerShell を使用して新しい OS をインストールするには、次の手順に従います。
注記
次の手順では、クラスター対応更新 (CAU) の役割をシステムにインストールして有効にする必要があります。 Azure Local にこの機能をインストールして有効にする方法については、「 Cluster-Aware 更新の概要」を参照してください。
システム内のすべてのコンピューターで次のコマンドレットを実行します。
Set-WSManQuickConfig Enable-PSRemotingクラスター対応更新 (CAU) を使用してソフトウェア更新プログラムを適用するようにシステムが適切に設定されているかどうかをテストするには、警告またはエラーを通知する
Test-CauSetupコマンドレットを実行します。Test-CauSetup -ClusterName <System name>システム内のいずれかのマシンで
Test-Clusterコマンドレットを実行して、ハードウェアと設定を検証します。 いずれかの条件チェックが失敗した場合は、次の手順に進む前に解決してください。Test-Cluster使用可能な更新プログラムを確認します。
Invoke-CauScan -ClusterName <SystemName> -CauPluginName "Microsoft.RollingUpgradePlugin" -CauPluginArguments @{'WuConnected'='true';} -Verbose | fl *上記のコマンドレットの出力を調べて、各マシンに同じ機能更新プログラムが提供されていることを確認します。この場合も同様です。
Invoke-CauRunコマンドレットを実行するには、システムの外部に別のマシンまたは VM が必要です。 別のマシンにより、マシンの再起動時にオーケストレーションが中断されないようにします。重要
Invoke-CauRun実行するシステムは、Windows Server 2022 を実行している必要があります。Invoke-CauRun -ClusterName <SystemName> -CauPluginName "Microsoft.RollingUpgradePlugin" -CauPluginArguments @{'WuConnected'='true';} -Verbose -EnableFirewallRules -Forceシステムが Windows Update に接続されておらず、Azure ローカル インストール メディアがローカル共有で使用できる場合は、CAU を使用してシステムをアップグレードすることもできます。 iso イメージへの共有パスを使用して、
'PathToSetupMedia'パラメーターを更新してください。Invoke-CauRun –ClusterName <SystemName> -CauPluginName Microsoft.RollingUpgradePlugin -CauPluginArguments @{ 'WuConnected'='false';'PathToSetupMedia'='\some\path\'; 'UpdateClusterFunctionalLevel'='true'; } -Forceその他の更新プログラムがないかどうかを確認し、インストールします。
更新が完了するまで待ち、更新プログラムの状態を確認します。
PowerShell を使用して新しい OS をインストールするには、次の手順に従います。
注記
次の手順では、クラスター対応更新 (CAU) の役割をシステムにインストールして有効にする必要があります。 Azure Local にこの機能をインストールして有効にする方法については、「 Cluster-Aware 更新の概要」を参照してください。
システム内のすべてのコンピューターで次のコマンドレットを実行します。
Set-WSManQuickConfig Enable-PSRemotingクラスター対応更新 (CAU) を使用してソフトウェア更新プログラムを適用するようにシステムが適切に設定されているかどうかをテストするには、警告またはエラーを通知する
Test-CauSetupコマンドレットを実行します。Test-CauSetup -ClusterName <System name>システム内のいずれかのマシンで
Test-Clusterコマンドレットを実行して、ハードウェアと設定を検証します。 いずれかの条件チェックが失敗した場合は、次の手順に進む前に解決してください。Test-ClusterISO イメージの内容を抽出し、各マシンのローカル システム ドライブにコピーします。 ローカル パスが各マシンで同じであることを確認します。 次に、
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システムをアップグレードします。
Invoke-CauRun –ClusterName <SystemName> -CauPluginName Microsoft.RollingUpgradePlugin -EnableFirewallRules -CauPluginArguments @{ 'WuConnected'='false';'PathToSetupMedia'='\some\path\'; 'UpdateClusterFunctionalLevel'='true'; } -ForceSelfUpdate -Force更新が完了するまで待ち、更新プログラムの状態を確認します。
更新プログラムの状態を確認する
進行中の更新に関する概要情報を取得するには、
Get-CauRunコマンドレットを実行します。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[] }システム内のいずれかのマシンで
Test-Clusterコマンドレットを実行して、システムの正常性を検証します。 いずれかの条件チェックが失敗した場合は、次の手順に進む前に解決してください。Test-Cluster次の手順に進む前に、システムの各マシンにレジストリ キーが適用されていることを確認します。
レジストリ キーが存在するかどうかを確認するには:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "RefsEnableMetadataValidation"必要に応じてレジストリ キーを再適用し、各マシンを再起動して変更を有効にするには、次のようにします。
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "RefsEnableMetadataValidation" -Value 0 -Type DWord -ErrorAction StopOS のアップグレードが失敗した場合は、次のコマンドを実行して CAU の実行を回復します。
Invoke-CauRun –ForceRecovery -Force
これで、システムの OS アップグレード後の手順を実行する準備ができました。
次のステップ
- Azure Local の OS アップグレード後の手順を実行する方法について説明します。