CPU & メモリ ホットプラグ
仮想マシンのCPUとメモリを再起動せずに拡張します。VMの実行中にvCPUの追加やRAMの増設が可能です。
仕組み
VaporウィザードでVMを作成すると、CPUホットプラグ用に自動設定されます。メモリホットプラグは作成時に明示的に有効にする必要があります。
| 設定 | デフォルト動作 | ホットプラグ対応? |
|---|---|---|
| Max vCPUs | 自動計算: min(max(vcpus × 2, 8), ホストコア数) | 常に |
| Max Memory | Memory と同じ | Max Memory > Memory の場合のみ |
CPUヘッドルーム(自動)
ウィザードで Max vCPUs を空欄のままにすると、Vaporが適切な上限を計算します。例えば、16コアホストで2-vCPU VMを作成すると max_vcpus = 8 — 即座にホットプラグ用のヘッドルームが確保されます。
- 計算式:
max_vcpus = min(max(vcpus × 2, 8), ホストコア数) - VMのCPUトポロジ(ソケット、ダイ、コア、スレッド)は自動調整されます。
- VMは
max_vcpusの上限までライブでvCPU追加を即座に受け付けます。
メモリヘッドルーム(有効化が必要)
VMの実行中に初期割り当てを超えてメモリを拡張するには、VM作成時に Max Memory を Memory より大きく設定します。作成ウィザードの More Options をクリックして Compute Options パネルで設定できます。
| Max Memory 設定 | ライブ動作 |
|---|---|
| Memory と同じ(デフォルト) | バルーンドライバによる現在の割り当て内での縮小・拡張のみ |
| Memory より大きい | バルーン + DIMMホットアド — Max Memory の上限まで再起動なしでメモリ拡張可能 |
ホットプラグの実行方法(編集ウィザード)
- VMリストでVM名をクリックして詳細ドロワーを開きます。
- 上部の Edit ボタンをクリックします。
- 編集ウィザードが開きます。値を調整します:
- vCPUs — Max vCPUs の上限まで必要に応じて増やします。
- Memory — 必要に応じて増減します。
- Save をクリックします。VMがライブホットプラグをサポートしている場合、変更は即座に適用されます。
再起動が必要な値(vCPU上限やメモリ上限の引き上げなど)を調整した場合、変更は永続設定に保存され、次回のVM起動時に反映されます。
実行中VMで変更可能な項目
| 変更 | 効果 |
|---|---|
| vCPU追加(Max vCPUs 内) | ライブ — 即時適用 |
| メモリ増設(Max Memory 内) | ライブ — バルーンまたはDIMMホットアド |
| メモリ削減 | ライブ — バルーンドライバ |
| Max vCPUs または Max Memory の引き上げ | 設定保存、再起動後に適用 |
| ファームウェア変更(UEFI、Secure Boot、TPM) | 無効 — VMを先に停止する必要あり |
| CPUトポロジ変更(ソケット、コア) | 設定のみ — 再起動後に適用 |
一般的なエラーメッセージ
これらのメッセージはUI右上のトーストアラート、またはフォーム内のインライン警告として表示されます。
| メッセージ | 原因と対処 |
|---|---|
| This operation requires the VM to be stopped. | 実行中VMのファームウェア、マシンタイプ、PCIパススルーを変更しようとしました。VMを先に停止してください。 |
| Failed to add CPU. | vCPUホットプラグに失敗。VMにヘッドルームがない可能性があります — 編集時に Max vCPUs が vCPUs より大きいことを確認してください。ゲストがCPUホットプラグをサポートしているかも確認してください。 |
| Failed to add memory. | メモリホットプラグに失敗。ゲストにバルーンドライバがインストールされていないか、DIMMホットアドスロットが枯渇しています。 |
| Hotplug operation failed. | 一般的なホットプラグエラー。サーバーログで詳細を確認してください。 |
| Hotplug is not supported for this resource. | VM構成が要求されたホットプラグ操作をサポートしていません。 |
インライン警告(ウィザードフォーム)
| メッセージ | 表示場所 | 意味 |
|---|---|---|
| ⚠ Mismatch with max_vcpus (X). max_vcpus は Y に更新されます。 | Compute Options モーダル | トポロジの積が Max vCPUs と一致しません。保存時に値が自動修正されます。 |
| Firmware, machine type, and PCI passthrough edits are disabled until the VM is stopped. | 編集ウィザードヘッダー | 実行中VMで編集ウィザードを開きました。VM停止が必要な項目はロックされています。 |
トラブルシューティング
サーバーログに "DIMM hot-add unavailable"
原因: VMが Max Memory > Memory なしで作成されました。対処: VMを停止し、編集ウィザードで Max Memory を Memory より大きく設定してからVMを起動してください。
ホットプラグ後にゲストが新しいCPUを認識しない
bash
echo 1 | tee /sys/devices/system/cpu/cpu*/onlineホットプラグ後にゲストが新しいメモリを認識しない
bash
grep -l offline /sys/devices/system/memory/memory*/state | while read f; do echo online > "$f"; done