オンボードされた仮想マシンの CPU リサイズが失敗する
search cancel

オンボードされた仮想マシンの CPU リサイズが失敗する

book

Article ID: 439630

calendar_today

Updated On:

Products

VMware Aria Operations (formerly vRealize Operations) 8.x

Issue/Introduction

免責事項: これは英文の記事「CPU resize failure for onboarded virtual machines」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

本ドキュメントでは、VMware Aria Automation にオンボードされた仮想マシンの CPU リサイズ操作が失敗する事象について説明します。これは想定どおりの動作であり、vSphere が提供する自動 CPU トポロジ機能と、Aria Automation における同機能のサポート状況に関連しています。

以下の条件をすべて満たす場合、CPU リサイズ操作が失敗します:

  • 仮想マシンがパワーオン状態でオンボードされていること。
  • オンボード時の仮想マシンに設定された cpuid.coresPerSocket が「1」以外の値 (例: 2, 4, 8 など) であること。
  • リサイズ操作がカスタム Day-2 アクションまたは API によって実行され、リクエストにソケットあたりのコア数 (coreCount) が含まれていないこと。(この場合、Aria Automation は仮想マシンをオンボードした時点の情報を参照します。)

 

エラーメッセージ:

The operation Resize failed. cpuCount needs to be evenly divisible by coreCount in order to have the same number of cores per socket. cpuCount:## coreCount:##

 

注: パワーオフ状態でオンボードされた仮想マシンは影響を受けません。パワーオフ状態でメタデータが取得できない場合、Aria Automationは coreCount を 1 に設定するためです。

Environment

VMware Aria Automation 8.18

Cause

これは想定された動作です。Aria Automation は、仮想マシンのメタデータを管理する際、主に以下の2つのテーブルを使用します。

compute_description (静的なレコードを保持するテーブル)
オンボード時に取得した初期構成を保持します。このテーブルに格納された coreCount はデータ同期で更新されません。パワーオフ状態の仮想マシンをオンボーディングした場合は coreCount = 1 が格納されます。

compute_state (動的なリソースを保持するテーブル)
vSphere の構成を反映します。このテーブルに格納された coreCount はデータ同期で更新されます。

 

カスタム Day-2 アクションで、coreCount を指定せずリサイズ操作を実行する場合、 Aria Automation は、動的な compute_state ではなく、静的な compute_description を参照して coreCount を確認します。つまり CPU 数が、オンボード時のコア数で割り切れなければエラーが発生し、結果的にリサイズ操作は失敗します。

 

Resolution

運用中の仮想マシンでこの問題を解決するには、CPU 数 を coreCount で割り切れるように値を更新する必要があります。

更新手順:

  1. 現在設定されている CPU 数とメモリの値を確認します。
  2. CPU 数と互換性のある coreCount の値を確認します。
  3. CPU 数、coreCount、メモリを明示的に指定して (標準 Day-2 リサイズアクションまたはAPIを介して) リサイズ操作を実行します。

 

ケース

メリット

考慮事項 / リスク

Case A: coreCount = 1

どのような cpuCount を指定しても 1 で必ず割り切れるため、リサイズ操作が該当のエラーで失敗することはなくなります。

ソケットあたり 1 コアのトポロジを作成します。ゲスト OS によってはソケットのサポートに制約があります。

例: Windows 10/11 Pro は 2 ソケットまでしかサポートしていません。例えば、16 vCPUの仮想マシンで coreCount = 1 とした場合、2 CPUしか認識されません。

Case B: Specific Divisor

coreCount を CPU 数の約数とします。

例: CPU 数 = 9, coreCount = 3

リサイズ操作は、特定の数値で割り切れる値を維持する必要があります。

例: CPU 数 12 へリサイズすることは可能ですが、10 にリサイズすることはできません。

 

カスタム Day-2 Actions のベストプラクティス
カスタム Day-2 アクションでリサイズ操作を実行する場合は coreCount を明示的な入力値として実装してください。