shiichan

まさかの起動失敗!Windows Server 2025 の NUMA 設定、ここが変わったよ

こんにちは、しぃちゃんだよ!今日は Hyper-V を使ってるみんなにこそ知ってほしい、地味だけど大事な仕様変更のお話だよ。アップグレードしたら急に仮想マシンが起動しなくなった、なんてことにならないように、しっかりチェックしていこうね。

JP Windows Support jpwinsup.github.io

なにが発表されたの?

これは JP Windows Support(日本マイクロソフトの Windows サポートチーム)のブログで解説された内容だよ。Windows Server 2025 の Hyper-V で、NUMA スパンニングを無効にした場合の仮想マシン起動時の仮想プロセッサ割り当てチェックが、Windows Server 2022 以前よりも厳しくなったんだって。

今までどうだったの?

Windows Server 2022 以前は、NUMA スパンニングを無効にしていても、起動中の仮想マシンに割り当てられた論理プロセッサの合計が、物理 NUMA ノード単位でオーバーコミットした状態になっていても仮想マシンを起動できていたの。

記事のテスト環境(物理 NUMA ノード 2 個、ノードあたり論理コア 16 個、NUMA スパンニング無効)で、24 vCPU の仮想マシンを 3 台(各ノードに 12 vCPU ずつ配置)起動したケースでは、Windows Server 2022 以前は 3 台とも起動に成功していたんだって。

これで何が変わるの?

同じ検証を Windows Server 2025 で行うと、1 台目は起動できるものの、2 台目以降は物理 NUMA ノード単位でオーバーコミットした状態になって起動に失敗するようになったの。つまり、これまで動いていた構成が、OS をアップグレードしただけで起動できなくなる可能性があるってことだよ。

一方で、仮想マシン側の仮想 NUMA ノード数と、ノードあたりの最大プロセッサ数をきちんと設定してある構成(24 vCPU・仮想 NUMA ノード数 2・ノードあたり最大プロセッサ数 16)は、Windows Server 2022 以前・2025 のどちらでも起動に成功しているよ。仮想 NUMA ノードの設定なしに 24 vCPU・仮想 NUMA ノード数 1 で起動しようとした場合は、両バージョンとも起動失敗になっているの。

深く潜ってみよう

記事では、物理 NUMA ノード単位の vCPU オーバーコミットが発生する構成では、NUMA スパンニングを有効にすることを検討するよう案内されているよ。NUMA スパンニングを有効にすれば、仮想マシンの vCPU を複数の物理 NUMA ノードにまたがらせて割り当てられるから、今回のような厳格化されたチェックに引っかかりにくくなるはずだよ。

まとめ

  • Windows Server 2025 の Hyper-V では、NUMA スパンニング無効時の vCPU 割り当てチェックが厳格化された
  • 物理 NUMA ノード単位でオーバーコミットする構成だと、Windows Server 2022 以前は起動できていた仮想マシンが 2025 では起動失敗することがある
  • 仮想 NUMA ノード数やノードあたり最大プロセッサ数を適切に設定した構成は影響を受けにくい
  • 対処法としては NUMA スパンニングの有効化が案内されている

複数の仮想マシンを高密度で NUMA 構成のホストに載せている管理者さんは、Windows Server 2025 への移行前に一度確認しておくと安心だよ!