
私は AIX/IBM サーバー上の LPAR に関するドキュメントをいくつか読んでいますが、次のようなスキーマがあります:
+---------------+------------------------------------------------------------------------+
|LPARS |Virtual cpus | processing units |
+---------------+------------------------------------------------------------------------+
| |Min | Desired | Max| Min | Desired | Max | Cap/Uncap | Weigh| Pool |
+---------------+------------------------------------------------------------------------+
|LPAR1 |1 | 4 | 4 | 0.1 | 1 | 4 | Uncap | 64 | 8 |
|LPAR2 |1 | 4 | 4 | 0.1 | 1 | 4 | Uncap | 64 | 8 |
|LPAR3 |1 | 4 | 4 | 0.1 | 1 | 4 | Uncap | 128 | 8 |
|LPAR4 |1 | 4 | 4 | 0.1 | 1 | 4 | Uncap | 128 | 8 |
+---------------+------------------------------------------------------------------------+
私の理解では、すべての vPars には起動時に 1 つの vCPU があり (最小)、必要な CPU は 4、最大は 4 ですが、最大 8 (プール) vCPU がある場合、vPars ごとに 4 つの vCPU はどのようにして可能になるのでしょうか。私の知る限り、4*4=16 であり、8 ではありません。vCPU の配分がどのように機能するかをわかりやすく説明してくれる人はいますか。
答え1
表からわかるように、最小の vCPU は 1 です。つまり、瞬間 0 では 4 つの vCPU を使用します。LPAR ごとに最大 4 つまで使用できますが、同時には使用できません。また、LPAR 間で使用可能な vCPU を再配分するときに役割を果たす重みがあります。
答え2
簡単に答えると、各仮想 CPU は完全な物理 CPU (処理ユニット) を必要としません。必要なのは 0.1 (以前のモデル) から 0.05 (Power7+) までの 1 分の 1 だけです。各 LPAR 上の OS は 4 つの CPU を認識し、それらの CPU のそれぞれに物理 CPU の 1/4 (必要な処理ユニット 1 つを必要な仮想 CPU 4 つで割った値) に相当するタイム スライスが保証されます。LPAR には上限がないため、それらの仮想 CPU は必要な処理ユニットが示すよりも多くの物理 CPU タイム スライスを受け取ることができます。それらの物理 CPU サイクルをめぐって競合が発生した場合、時間は LPAR の重みに基づいて配分されます。
最小値と最大値は DLPAR 操作中に有効になります。これらの値は、必要な値を動的に変更しようとするときに上限と下限を定義するだけです。システムは、システムで使用可能な値を超えて必要な処理ユニットを設定することを防止します。