この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。

リソースのオーバーコミット

SUSE Virtualizationは、CPU、メモリ、およびストレージのリソース過負荷割合のグローバル設定をサポートします。overcommit-configを設定することで、物理リソースが完全に利用されている場合でも、追加の仮想マシンのスケジューリングが可能になります。

SUSE Virtualizationは、計算ノードでCPUとRAMをオーバーコミットすることを許可します。これにより、インスタンスのパフォーマンスを低下させる代わりに、クラウド上で実行されるインスタンスの数を増やすことができます。コンピュートサービスは、デフォルトで以下の比率を使用します:

  • CPU割り当て比率:1600%

  • RAM割り当て比率:150%

  • ストレージ割り当て比率:200%

従来のメモリオーバーコミットやメモリバルーニングは、この機能ではまだサポートされていません。言い換えれば、仮想マシンインスタンスに割り当てられたメモリは、一度割り当てられると返却できません。

グローバル設定overcommit-configを構成します。

ユーザーは、以下の手順に従ってグローバル`overcommit-config`を変更でき、変更後は新しく作成された各仮想マシンに適用されます。

  1. *詳細→設定*に移動します。

    オーバーコミットページ
  2. `overcommit-config`設定を見つけます。

  3. 希望するCPU、メモリ、およびストレージの比率を構成します。

    オーバーコミットパネル

単一の仮想マシンのオーバーコミットを設定します

グローバル設定に影響を与えずに個々の仮想マシンに特定の設定が必要な場合は、対応する仮想マシンの仕様で`spec.template.spec.domain.resources.limits.<memory|cpu>`の値を直接変更することで簡単に実現できます。

仮想マシンオーバーコミット設定

システムオーバーヘッドのためにより多くのメモリを予約します

デフォルトでは、SUSE Virtualizationは仮想マシンに割り当てられたメモリから一定量のシステム管理オーバーヘッドメモリを予約します。ほとんどの場合、これにより問題は発生しません。ただし、Windows 2022などの一部のオペレーティングシステムは、予約されたメモリよりも多くのメモリを要求します。

この問題に対処するために、SUSE Virtualizationは仮想マシンカスタムリソースにアノテーション`harvesterhci.io/reservedMemory`を提供し、予約するメモリの量を指定できるようにします。例えば、仮想マシンのシステムオーバーヘッドのために200 MiBを予約することに決めた場合は、`harvesterhci.io/reservedMemory: 200Mi`を追加します。

 apiVersion: kubevirt.io/v1
 kind: VirtualMachine
 metadata:
   annotations:
+    harvesterhci.io/reservedMemory: 200Mi
     kubevirt.io/latest-observed-api-version: v1
     kubevirt.io/storage-observed-api-version: v1alpha3
     network.harvesterhci.io/ips: '[]'
   ...
   ...

なぜ私の仮想マシンは不均等にスケジュールされるのですか?

仮想マシンのスケジューリングは、kube-schedulerの基盤となる動作に依存します。詳細については、専用の記事をご覧ください。さらに学びたい場合は、次をチェックしてください: VMスケジューリング