...

Oracle VM Server for x86でのハード・パーティショニング

by user

on
Category: Documents
11

views

Report

Comments

Transcript

Oracle VM Server for x86でのハード・パーティショニング
Oracleホワイト・ペーパー
2013年11月
Oracle VM Server for x86での
ハード・パーティショニング
Oracle VM Server for x86でのハード・パーティショニング
はじめに
このドキュメントでは、Oracle VM Server for x86によるハード・パーティショニング、パーティショ
ン環境のオラクル・ライセンス・ポリシーに準拠するためのハード・パーティショニングの使用方
法について説明します。
CPUコアとCPUスレッド
x86ベース・システムの場合、CPUコア(ハイパースレッディング無効)またはコア内のCPUスレッ
ド(ハイパースレッディング有効)は、ハイパーバイザまたはベア・メタル・オペレーティング・
システムでは物理CPUとして表示されます。vCPU(仮想CPU)は、ゲスト仮想マシンではCPUとし
て表示されます。ゲストはこれらのvCPUでアプリケーションをスケジューリングし、ハイパーバイ
ザは物理CPUコアまたはスレッドを介してこれらのvCPUをスケジューリングします。ゲストのvCPU
はすべて対称型です。CPUの固定化などのスケジューリング・パラメータが変更されない限り、Oracle
VM Serverはこれらを同等に処理します。
Oracle VMは、
CPUの固定化としても知られるハード・パーティショニングの高度な機能を提供します。
ハード・パーティショニングとは、vCPUを物理CPUスレッドまたはコアにバインドし、これらのvCPU
が物理CPU(指定以外のスレッドまたはコア)でスケジューリングされないようにすることです。
オラクルのハード・パーティショニング・ライセンス
オラクルのハード・パーティショニング・ライセンス要件を満たすには、このホワイト・ペーパー
で説明する指示に従って、vCPUを物理CPUスレッドまたはコアにバインドする必要があります。
CPUが固定された仮想マシンを他のOracle VM Serverにライブ移行することは、ハード・パーティ
ショニング・ライセンスの条件下では許可されていません。したがって、Oracle VM 3の場合、CPU
を固定したゲストのあるサーバー・プールでDRS(Distributed Resource Scheduler)およびDPM
(Distributed Power Management)ポリシーを有効にすることはできません。
1
Oracle VM Server for x86でのハード・パーティショニング
Oracle VMにおけるCPUトポロジについて
サーバー・ハードウェアのサマリーの取得
Oracle VM Server上でxm infoコマンドを実行すると、サーバー・ハードウェアの基本的なCPU構成
を表示できます。次の出力行で、システムのCPUの詳細を確認してください。
このサーバーには、4個のコア、コア当たり2個のスレッドを持つ単一ソケットがあります。"CPU"
合計は8個です。したがって、CPU 0~7は実際にスレッド0~7になります。
このサーバーには、6個のコア、コア当たり2個のスレッドを持つ単一ソケットがあるため、"CPU"
の合計は12個です。
CPUトポロジの取得
xenpmコマンドにより、特定のサーバーのスレッド、コア、ソケットのトポロジを出力できます。
上の例は、2個のコア、コア当たり2個のスレッドを持つ単一ソケット・マシンを示しています。CPU0
は、コア0のスレッド0、CPU1はコア0のスレッド1、CPU2はコア1のスレッド0、およびCPU3はコア1
のスレッド1です。仮想マシン構成ファイル(vm.cfg)のcpus="0,1"とした場合は、コア0でVMを実行
します。vm.cfgのcpus="0-3"とした場合は、コア0とコア1の両方のコアで仮想マシンを実行します。
2
Oracle VM Server for x86でのハード・パーティショニング
上の例では、4個のコア、コア当たり2個のスレッドを持つ単一ソケット・サーバーとなります。CPU0
はコア0のスレッド0にマッピングし、CPU1はコア0のスレッド1にマッピングするという具合になり
ます。vm.cfgファイルのcpus="4-7"とした場合は、コア2と3で仮想マシンを実行します。
上の例では、ハイパースレッディングが有効化された、6個のコアを持つ単一ソケット・サーバーを
示しています。
vCPUが物理CPUにバインドされたCPUトポロジの取得
xm vcpu-listコマンドにより、どの仮想CPUがどの物理CPUで実行しているのかを示すサマリーが表
示されます。
仮想マシンまたはドメインIDをコマンドxm vcpu-list 1のように引数に与えて実行すると、そのゲス
トの情報を取得できます。上の例では、ゲストに2個の仮想CPUがあり、この時点で両方とも物理CPU5
(この場合はスレッド)で実行しています。CPU Affinity列には5-6と表示されており、このことは、
両方の仮想CPUがスレッド5または6で実行されていることを意味します。これは、ゲストがこれら2
つのスレッドに固定されていることを示します。xenpm get-cpu-topologyの情報を組み合わせると、
この場合、CPU5がコア2のスレッド1、CPU6がコア8のスレッド0であることがわかります。したがっ
て、この2つのvCPUゲストは、2個の別々の物理コアに固定されています。
これは同じシステムですが、xm vcpu-listに引数が指定されていません。また、dom0ゲストが表示
されています。この例でわかるように、dom0はどの物理スレッド上でも実行でき、CPU Affinityは
any cpuになっています。つまり、仮想CPUはどの物理スレッド上でもスケジューリングできるので、
固定化またはパーティショニングは行われていません。
3
Oracle VM Server for x86でのハード・パーティショニング
Oracle VM 3:ハード・パーティショニングの構成
Oracle VM 3を使用しながら、Oracle VMユーティリティ(ovm_vmcontrol)を使用して、ハード・
パーティショニングを設定できます。
Oracle VM 3ユーティリティを使用したハード・パーティショニングの設定
Oracle VM 3ユーティリティ(ovm_vmcontrol)を使用すると、Oracle VM Manager 3により、仮想
マシンのCPU/vCPUバインディングを設定および取得できます。
Oracle VM 3ユーティリティはコマンドライン・スクリプトの集合で、一連の基本的な管理タスクを
実行できます。Oracle VMユーティリティは、My Oracle SupportからパッチID 13602094で検索して、
zipファイルとしてダウンロードできます。Oracle VMドキュメントのOracle VMユーティリティ・ガ
イドをご参照ください。
上の例は、apitestという仮想マシンがアクションvcpugetを受け入れて、このゲストの仮想CPUが
スレッド5と6にバインドされていることを示しています。
次のコマンドを実行して、vCPUをコア0にバインドします。
次に、xm vcpu-listコマンドを実行すると、CPUバインディングが即座に適用されます(また、後続
のVMの起動にも適用)。
これで、VMの両方のCPUでCPU Affinity 0が適用されます。
次の項では、Oracle VM 2の仮想マシン構成ファイル(vm.cfg)を変更することで、ハード・パーティ
ショニングを設定する方法を示します。
4
Oracle VM Server for x86でのハード・パーティショニング
Oracle VM 2:ハード・パーティショニングの構成
ストレージ・リポジトリ内の仮想マシンを特定します。たとえば、仮想マシンは、
/OVS/running_pool/directory-to-virtual-machineに保存されています。次に、該当するゲストまたは
仮想マシンのvm.cfgファイルを変更します。
または
最初の例では、CPU0、1、2、3のみをそのゲストで使用できます。2番目の例では、CPU0と1が使用
されます。
ゲストに4個のvCPUがあり、vm.cgfファイルでcpus = '0'と指定されている場合、すべてのvCPUが同
じ物理CPU上でスケジューリングされます。ゲストに4個のvCPUがあり、2個のCPUを使用したい場
合は、8-CPUシステム上のこの構成にcpus = '0,1'と追加します。
仮想マシンguest1には2個のvCPUがあり、これらを8個のCPUのどのCPU上でも実行できます。
仮想マシンguest1には2個のvCPUがあり、これらを物理CPU0で実行できます。
仮想マシンguest1には2個のvCPUがあり、これらを物理CPU0、1で実行できます。
結論
Oracle VM Server for x86でオラクルのハード・パーティショニング・ライセンス要件を満たすには、
仮想マシンを物理CPUまたはコアにバインドする必要があります。そうすることで、指定のコア以外
の物理コアでソフトウェアが実行されるのを防ぐことができます。このような場合、仮想マシンは
デフォルトのリソース・スケジューリング(サーバーの利用可能なすべてのCPUを使用)ではなく、
専用のCPUで構成されます。ハード・パーティショニングを使用して、オラクル製品のソフトウェア・
ライセンスを制限すると、ライブ移行、DRS、DPMなど、その他の制限も加わります。
オラクルの仮想化ソリューションについて詳しくは、oracle.com/virtualizationを参照してください。
5
Oracle VM Server for x86での
ハード・パーティショニング
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
2013年11月
本文書は情報提供のみを目的として提供されており、ここに記載される内容は予告なく変更されることがあります。本文書は一切間違いがない
Oracle Corporation
ことを保証するものではなく、さらに、口述による明示または法律による黙示を問わず、特定の目的に対する商品性もしくは適合性についての
World Headquarters
黙示的な保証を含み、いかなる他の保証や条件も提供するものではありません。オラクル社は本文書に関するいかなる法的責任も明確に否認し、
500 Oracle Parkway
本文書によって直接的または間接的に確立される契約義務はないものとします。本文書はオラクルの書面による許可を前もって得ることなく、
Redwood Shores, CA 94065
いかなる目的のためにも、電子または印刷を含むいかなる形式や手段によっても再作成または送信することはできません。
U.S.A.
OracleおよびJavaはOracleおよびその子会社、関連会社の登録商標です。その他の名称はそれぞれの会社の商標です。
海外からのお問い合わせ窓口:
電話:+1.650.5067000
IntelおよびIntel XeonはIntel Corporationの商標または登録商標です。すべてのSPARC商標はライセンスに基づいて使用されるSPARC
ファクシミリ:+1.650.506.7200
International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴおよびAMD Opteronロゴは、Advanced Micro Devicesの商標また
oracle.com
は登録商標です。UNIXは、The Open Groupの登録商標です。0113
Fly UP