Azure Stack HCIのOSバージョンアップ方法について

Microsoft

2023.01.18

Azure Stack HCIとは?

皆さんはAzure Stack HCIという製品をご存じでしょうか?Microsoftが外部OEMベンダー(Dell、HP等)と協働して提供している、ハイパーコンバージドインフラストラクチャ製品となります。

端的にいうと、オンプレミス上でHyper-V仮想マシンをクラスタリングレベルで提供する製品、ということなのですが、Webベースでの管理運用がオンプレミスだけでなく、Azureポータル(パブリッククラウド)からでも行うことができる優れものという立ち位置です。
製品の詳細については、以下のMicrosoftのページを、ご覧いただければと思います。
Azure Stack HCI – ハイパーコンバージドインフラストラクチャ | Microsoft Azure

なお、Azure Stackは、Microsoftのクラウド連携のためのオンプレミスサーバー製品ブランドであり、いくつかの種類があります。興味がある向きは、以下の資料を見ていただけるとAzure Stack全体の世界観がお分かりいただけると思います。
Azure Stack | Microsoft Azure

Azure Stack HCIの使い道は?

Azure Stack HCIの利用目的は、ズバリ「Hyper-V仮想マシン」の提供です。Azureパブリッククラウドをご存じな方には予想がつくかもしれませんが、「Azure VM」(Azureパブリッククラウド上での仮想マシン)と同じような管理構成ができる、オンプレミスVMを作ることができます。

Azure VMでは、パブリック上にHDDデータが置かれますので、高度なセキュリティを要する顧客情報などは、非常に置きづらい現実があります。Azure Stack HCIを使うと、HDDデータはオンプレミスに置かれます。ですので、セキュリティインシデントの発生低下や、国際ルール(GDPR等)による国内のみに配置しなければならないデータへの配慮が簡単になります。

またハードウェアがオンプレミスに配置されますので、ネットワークレイテンシ(応答速度)やIOPS(HDD I/O処理能力)が改善されます。高い応答性が必要だったり、平常時から高負荷が見込まれるシステムには、非常に有利となるのです。

単にWindows/Linux VM仮想マシンだけではなく、Kubernetesコンテナーを使いたい場合にも利用できます。MicrosoftではAzureパブリッククラウド上で利用できるAzure Kubernetes Services(AKS)を、Azure Stack HCIで利用可能な「AKS on Azure Stack HCI」が提供されています。

費用面では、Azure Stack HCIはハードウェア+OSライセンス料等の初期費用が必要ですが、その後「Azure Stack HCIクラスター」単位の物理コア数で、サブスクリプション課金が月単位で発生します。

Azure VMと比較すると、短期的にはAzure VMの方が低コストですが、大量のAzure VMが存在する場合や、24h/365日で動作させている場合、長期的にはAzure VMの方が高コストになります。Azure Stack HCIではVM仮想マシンが何台あっても、仮想マシンが束ねられたクラスター単位(最低1つから)でのサブスクリプション課金のため、コストの点でも優位にたてるケースがあるわけです。

個別VMごとに従量課金

Cluster単位の物理コア数での固定課金

Azure Stack HCI OSとは?なぜバージョンアップが必要?

Azure Stack HCIはプラットフォーム製品なので、実態としては専用OS上でホストされ、そのOS機能は、バージョンごとに拡充しています。古い情報になってしまいますが、たとえばAzure Stack HCI 21H2だと、一部ですが、以下のような機能が追加されています(各機能はリンク先をご覧ください)。

上記のような機能を追加で使いたい場合、Azure Stack HCI OSを対象バージョンにアップデートする必要があります。上記にも書かれていますが、たとえばAKS on Azure Stack HCIの最新版を使いたい場合も、同様にアップデートが必要なのです。

なお蛇足ですが、現在の最新版OSはAzure Stack HCI 22H2となり、以下のサイトで情報が提供されていますので、ご覧いただければと思います。
最新バージョンでは何が変わった?Azure Stack HCIバージョン22H2が一般提供開始:Microsoft Azure最新機能フォローアップ(181) - @IT(itmedia.co.jp)
Azure Stack HCI バージョン22H2の新機能 - Azure Stack HCI | Microsoft Learn

Azure Stack HCI OSアップデートの方法は?

Azure Stack HCI OSアップデートの方法は、非常に簡単です。Windows Admin Centerからブラウザベースでアップデートの指示を行うだけです。

以下、実際に弊社で検証した内容の一部を、掲載します。なお、本検証は2022年夏ごろのもので、アップグレード対象がAzure Stack HCI OS 21H2となり、最新版(22H2)でない点は、ご了承ください。


構成環境

現在、Azure Stack HCI は次の環境で構築が行われており、本検証ではこの環境を使用する。

  • DELL:AX-640×3台
  • HCI OS Version:10.0.17784(20H2)

本環境に対して、後続のAzure特典を使用することができるHCI OS:21H2にバージョンアップを実施する際の手順の確認を実施する。
バージョンアップ中に、HCI OS上で動作している仮想マシンがどのような挙動(Live Migrationが行われるか)となるかを確認するため、各HCI OSで起動した状態の仮想マシンを作成し、次の状態にしておく。

  • 仮想マシンにログインし、メモ帳を起動し、仮想マシンが起動しているホスト名を入力した状態にしておく

構築方法

現状の確認

Windows Admin Center/Azure Portal からバージョンアップ前のAzure Stack HCIがどのように認識されているかを確認する。

  • Windows Admin Center
    • 各HCIノードのバージョン情報
    • Azure特典の状態
  • Azure Portal
    • Azure Stack HCIのブレードの情報

HCI OSのバージョンアップ

(マイグレーションの方法も確認する(自動・全台VM置く))
Azure Stack HCI OSを21H2にアップグレードする。詳細はHCI OSのアップグレードを参照のこと。

HCI OSのアップグレード

本検証では次の手順で HCI OSのアップグレードを実施した。

  • 1.Windows Admin CenterからHCIクラスターに接続
  • 2.「更新プログラム」を選択
  • 3.「機能の更新(推奨)」を選択し、「インストール」を実行
    • 3.1.インストールはクラスター内の全ノードに対して実行され、特定のノードのみをバージョンアップするということはできない

アップグレード完了後は、アップグレード後のHCI OS向けの更新プログラムの適用が可能な状態となる。
WACの「更新プログラム」から、アップグレード後のバージョンで適用可能な更新プログラムの適用を実施する。

本作業については、上述の「機能の更新」(OSアップグレード)の作業内容を、更新プログラム向けに実施するものとなり、作業内容は同一であった(特定ノードのみのバージョンアップは実施できず、クラスターの全ノードを対象として、更新プログラムの適用が実施される)。

バージョンアップ中、HCI OSのホスト OS/起動している仮想マシンがどのように取り扱われるかについても確認を行う。

  • 1.アップデート対象のホスト上にVMを配置し、アップデート中およびアップデート後にどのような変化があるか確認する
  • 2.上記の状況で、非アップデート状態のホストの変化(VMがどのように移動されるのか)などを確認する
  • 3.アップデート中のAzure Arc上へのクラスター登録状態など、Azure関連での変化がないかどうか、確認する

バージョンアップ後の確認

Windows Admin Center/Azure Portalからバージョンアップ後のAzure Stack HCIがどのように認識されるかを確認する。
また、アップグレード後の21H2は、Azure Arc統合の機能が含まれているため、アップグレード後のAzure Arcへの登録状況についても確認を行う。Azure Arc統合については、HCI OS/HCI上で動作している仮想マシンの2種類の観点で確認を行う。

Azure Arc統合

20H2から21H2にアップグレードのアップグレードを実施しても、HCI OSのAzure Arc統合は自動的に行われておらず、HCI OSをAzure Arc統合するには、明示的に登録を行う必要があることが分かった。
Azure Arc統合を有効にするの手順に従い、HCI OSをAzure Arcに統合する。
本検証で実施した手順は以下となる。

  • 1.「Install-Module -Name Az.StackHCI -Force」をAzure Stack HCIの特定のノードで実行しPowerShellのモジュールのアップデートを実施する(今回は ASHCIHost01で実行)
  • 2.「Register-AzStackHCI -RepairRegistration -EnableAzureArcServer:$true -SubscriptionId "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" -ComputerName "ASHCIHost01"」を実行
    • 2.1.既にAzureに登録済みの環境でAzure Arc統合を実施するためには、「-RepairRegistration」「-EnableAzureArcServer」オプションを指定して、コマンドレットを実行する必要がある

検証結果

HCI OS のアップグレード

Windows Admin CenterからHCI OSを「20H2」から「21H2」にアップグレードすることができた。
HCI OSのアップグレードは1ノードずつ実行されており、各ノード上で実行されていた仮想マシンについては、Live Migrationにより稼働ノードを移動させながら実行されており、仮想マシンのダウンタイムを極力減らしながらOSのアップグレードが実施されていた。
全OSアップグレード後、実行されていた仮想マシンは、アップグレード実行前のノードで起動している状態となっており、仮想マシンを実行するノードについては最終的にはアップグレード実行前の状態が踏襲されるような動作となっていた。

アップグレード後の更新プログラムの適用

OS のアップグレードと同様にWindows Admin Centerから実行することができ、OSアップグレード時と同様の動作が1ノードずつ実行されていることが確認できた。
更新プログラムの適用後の確認となるが、「クラスター対応更新」の情報の確認を実施したところ、更新プログラム適用を実施した日のクラスター対応更新のレポートが作成できていたため、更新プログラムの適用はWSFCのクラスター対応更新の仕組みを使用して実施されていると考えられる。

Azure Arc 統合

HCI OSを20H2から21H2にアップグレードしても、Azure Arcには自動的に統合は行われないため、21H2へのバージョンアップを実行後に Azure Arc統合の環境にする場合には、明示的にAzure Arc統合を実施する必要がある。


いかがだったでしょうか?弊社では、様々なMicrosoft製品および新機能の検証を、積極的に行っています。ネタがたまってきましたら、折々ご紹介したいと考えています。

※文章中の商品名、会社名、団体名は、各社の商標または登録商標です。

Azure Stack HCIのOSバージョンアップ方法について