14 Oracle Database Applianceベア・メタルおよびKVMデプロイメントのCPUプールの管理
CPUプールを使用して、Oracle Database Applianceベア・メタルおよびKVMデプロイメントのCPUリソースを管理します。
- CPUプールについて
CPUプールを使用すると、ベア・メタル・デプロイメントとKVMデプロイメントの両方でOracle Database ApplianceのCPUリソースを管理できます。CPUプールには、3つのタイプBM、VMおよびDBシステムがあります。 - ベア・メタルまたはKVMデプロイメントのCPUプールの作成
ODACLIコマンドまたはブラウザ・ユーザー・インタフェースを使用して、ベア・メタルまたはKVMデプロイメントのCPUプールを作成します。 - ベア・メタルまたはKVMデプロイメントのCPUプールの再マッピング
ODACLIコマンドまたはブラウザ・ユーザー・インタフェースを使用して、ベア・メタルまたはKVMデプロイメントのCPUプールを再マッピングします。 - ベア・メタルまたはKVMデプロイメントのCPUプールの表示
ODACLIコマンドまたはブラウザ・ユーザー・インタフェースを使用して、ベア・メタルまたはKVMデプロイメントのすべてのCPUプールまたはCPUプールに関する詳細を表示します。 - ベア・メタルまたはKVMデプロイメントのCPUプールの変更
ODACLIコマンドまたはブラウザ・ユーザー・インタフェースを使用して、ベア・メタルまたはKVMデプロイメントのCPUプールを変更します。 - ベア・メタルまたはKVMデプロイメントのCPUプールの削除
ODACLIコマンドまたはブラウザ・ユーザー・インタフェースを使用して、ベア・メタルまたはKVMデプロイメントのCPUプールを削除します。 - ベア・メタルまたはKVMデプロイメントのCPUプール監査レコードの表示
ODACLIコマンドまたはブラウザ・ユーザー・インタフェースを使用して、ベア・メタルまたはKVMデプロイメントのCPUプールを削除します。 - オーバーサブスクライブしたCPUプールについて
仮想マシンは、CPUプールで利用できるリソースよりも多くのCPUリソースをサブスクライブしないように構成します。
CPUプールについて
CPUプールを使用すると、ベア・メタル・デプロイメントとKVMデプロイメントの両方でOracle Database ApplianceのCPUリソースを管理できます。CPUプールには、3つのタイプBM、VMおよびDBシステムがあります。
BM CPUプールは、ベア・メタル・ホストのデータベースが、CPUプールで指定されたCPUリストでのみ実行されるようにするために使用します。すべてのOracleプロセスは、このCPUプール内のCPUにバインドされ、該当するCPUでのみ実行されます。ベア・メタルCPUプールは、init.ora
パラメータのprocessor_group_name
を更新してデータベースに割り当てます。
VM CPUプールは、仮想マシンのワークロードに対するCPUリソース割当てをケージングおよび管理するために使用します。ワークロードを分離するには、CPUプールを作成して特定のCPUプールに仮想マシンを割り当てます(ピン留めします)。CPUプールに仮想マシンをピン留めすると、仮想マシンがそのCPUプールのCPUのみを使用するようになります。
DBシステムCPUプールは、VM CPUプールに類似していますが、DBシステムにのみ適用されます。
CPUプール内のリソースは重複できません。つまり、CPUプールはCPUを共有できないということです。ただし、1つのCPUプールを複数のデータベース(BM CPUプール)または複数のVM (VM CPUプール)に割り当てることはできます。
Oracle Database Applianceには、CPUプールの作成、更新、変更および削除を実行するためのODACLIコマンドがあります。
デフォルトでは、ソケットの最初のコアは予約されていて、最適なパフォーマンスのためにVMおよびDBシステムのCPUプールでは使用できません。この動作は、NUMAが有効化されているときに、リリース19.12以降で使用できます。CPUプール内のソケットの最初のコアを使用する場合は、--use-reserved-cores
オプションを使用すると、VMおよびDBシステムのCPUプールのソケットの最初のコアを使用できるようになります。
ベア・メタルCPUプールについて
新しいデータベースの場合は、create-database
コマンドを使用することで新しいCPUプールをアタッチできます。既存のデータベースの場合は、modify-database
コマンドを使用して、データベースにCPUプールをアタッチします。手動でデータベースを再起動して、変更を有効にします。ソース・データベースでCPUプールが使用されている場合は、データベース操作のclone、irestoreおよびrecoverも同じCPUプールを使用しようとします。新しいCPUプールを使用する場合は、--cpupool
オプションを指定します。スタンバイ・データベースは、プライマリ・データベース用に構成したCPUプールを使用します。スタンバイ・サイトで別のCPUプールを使用する場合は、スタンバイ・サイトにバックアップをリストアするときに、irestore-database
コマンドに--cpupool
オプションを指定します。コマンド構文の詳細は、このガイドのOracle Database Applianceコマンドライン・インタフェースについての章を参照してください。
VM CPUプールについて
新しいVMの場合は、create-vm
コマンドを使用することで新しいCPUプールをアタッチできます。既存のVMの場合は、modify-vm
コマンドを使用してCPUプールをアタッチするか更新します。--live
オプションは、実行中のVMに変更を適用する場合に使用します。また、--config
パラメータは、変更を永続化するために使用します。コマンド構文の詳細は、このガイドのOracle Database Applianceコマンドライン・インタフェースについての章を参照してください。
DBシステムCPUプールについて
DBシステムを作成すると、そのDBシステムに関連付けられた内部DBシステムCPUプールが自動的に作成されます。この内部DBシステムCPUプールは、内部的に作成および管理されます。手動による作成、変更または削除はできません。Oracle Database Applianceリリース19.11以降では、DBシステム間で共有可能な新しいタイプの共有DBシステムCPUプールを作成できます。詳細は、このガイドのトピック「KVMデプロイメントのデータベース・システムで共有されるCPUプールの管理」を参照してください。
CPUプールの監査レコードについて
CPUプールの操作履歴は、監査目的のために監査レコードのメタデータとシステム・ログに記録されます。CPUプールの変更には、作成、変更、削除の操作と、VMおよびデータベースからのアタッチ操作およびデタッチ操作が含まれます。CPUプール監査レコードは、コマンドodacli list-auditrecords
およびodacli describe-auditrecord
を使用して問合せできますが、変更や削除はできません。コマンド構文の詳細は、このガイドのOracle Database Applianceコマンドライン・インタフェースについての章を参照してください。
CPUプール割当てのCPUコアの変更による影響の理解
Oracle Database ApplianceのCPUコア数は、odacli update-cpucore
コマンドを使用して変更することもできます。コア数は、最小2コアで2倍数のコアを割り当てる必要があります。CPUコア数を変更した場合、それ以降、CPUコア数を増やすことのみ可能です。
odacli create-cpupool
とodacli modify-cpupool
は、常にオンラインCPUを選択するようになります。そのため、ベア・メタル・デプロイメントとKVMデプロイメントの両方で、odacli update-cpucore
コマンドの実行後に作成されるCPUプールは、利用可能なオンラインCPUから選択されるようになります。- ベア・メタルおよびKVMデプロイメントに既存のCPUプールの場合は、
odacli update-cpucore
コマンドを実行したときに、一部のCPUがオフラインになることがあります。CPUプールにオフラインのCPUがあるかどうかは、odacli describe-cpupool
コマンドを使用して確認します。それにより、利用可能なオンラインCPUを使用するように、odacli modify-cpupool
コマンドを使用してCPUプールを更新できます。 - データベースがCPUプールを使用していて、一部のCPUがオフラインになった場合は、
odacli modify-cpupool
コマンドを使用してCPUプールを更新します。更新したCPUプールを使用するようにデータベースを再起動します。
ベア・メタルまたはKVMデプロイメントのCPUプールの作成
ODACLIコマンドまたはブラウザ・ユーザー・インタフェースを使用して、ベア・メタルまたはKVMデプロイメントのCPUプールを作成します。
ODACLIを使用したCPUプールの作成
CPUプールを作成するには、コマンドodacli create-cpupool
を使用します。
cpupool1
という名前のVM CPUプールを作成します。# odacli create-cpupool -n cpupool1 -c 6 -vm
ブラウザ・ユーザー・インタフェースを使用したCPUプールの作成
- ブラウザ・ユーザー・インタフェースにログインします。
https://host-ip-address:7093/mgmt/index.html
- 「Appliance」タブをクリックします。
- 「CPU Pool」をクリックして、「CPU Pool」ページを表示します。
- 「Create CPU Pool」をクリックします。
- 「Create CPU Pool」ページで、次の項目を指定します。
- CPU Pool Name: CPUプールの名前。
- CPU Pool Type: CPUプールがベア・メタル用か仮想システム用かを指定します。
- Number of CPU Cores: プールに割り当てるCPUコアの数
- Socket to Use: CPUプールに使用するソケットを指定します。
- Configure on: 高可用性デプロイメントの場合は、CPUプールを構成するノードを選択します。
- 「Create」をクリックします。
- このジョブを発行すると、ジョブIDとジョブへのリンクが表示されます。リンクをクリックすると、ジョブのステータスおよび詳細が表示されます。
- ジョブの完了を確認します。ジョブは、ブラウザ・ユーザー・インタフェースの「Activity」タブで追跡できます。また、ジョブIDを指定してコマンド
odacli describe-job
を実行することでも追跡できます。
ベア・メタルまたはKVMデプロイメントのCPUプールの再マッピング
ODACLIコマンドまたはブラウザ・ユーザー・インタフェースを使用して、ベア・メタルまたはKVMデプロイメントのCPUプールを再マッピングします。
ODACLIを使用したCPUプールの再マップ
ベア・メタル・システムへのパッチ適用後に、コマンドodacli remap-cpupools
を使用してCPUプールを変更します。
詳細は、トピック「Oracle Database ApplianceでのNUMAの有効化について」を参照してください。
ブラウザ・ユーザー・インタフェースを使用したCPUプールの変更
- ブラウザ・ユーザー・インタフェースにログインします。
https://host-ip-address:7093/mgmt/index.html
- 「Appliance」タブをクリックします。
- 「CPU Pool」をクリックして、「CPU Pools」ページを表示します。
- ページの「Remap CPU Pool」をクリックします。これにより、NUMA割当てのすべてのCPUプールが再マップされます。
- 「Yes」をクリックして処理を確定します。
- このジョブを発行すると、ジョブIDとジョブへのリンクが表示されます。リンクをクリックすると、ジョブのステータスおよび詳細が表示されます。
- ジョブの完了を確認します。ジョブは、ブラウザ・ユーザー・インタフェースの「Activity」タブで追跡できます。また、ジョブIDを指定してコマンド
odacli describe-job
を実行することでも追跡できます。
ベア・メタルまたはKVMデプロイメントのCPUプールの表示
ODACLIコマンドまたはブラウザ・ユーザー・インタフェースを使用して、ベア・メタルまたはKVMデプロイメントのすべてのCPUプールまたはCPUプールに関する詳細を表示します。
ODACLIを使用したCPUプールの表示
odacli describe-cpupool
では、CPUプールの詳細を表示します。コマンドodacli list-cpupools
は、デプロイメント内のすべてのCPUプールを表示するために使用します。# odacli list-cpupools
# odacli describe-cpupool -n cpupool1
ブラウザ・ユーザー・インタフェースを使用したCPUプールの表示
- ブラウザ・ユーザー・インタフェースにログインします。
https://host-ip-address:7093/mgmt/index.html
- 「Appliance」タブをクリックします。
- 「CPU Pool」をクリックして、「CPU Pool」ページを表示します。
- すべての構成済CPUプールのリストを表示できます。
- CPUプールの詳細を表示するには、CPUプールをクリックするか、「Actions」ドロップダウンをクリックして「View Details」を選択します。
ベア・メタルまたはKVMデプロイメントのCPUプールの変更
ODACLIコマンドまたはブラウザ・ユーザー・インタフェースを使用して、ベア・メタルまたはKVMデプロイメントのCPUプールを変更します。
ODACLIを使用したCPUプールの変更
CPUプールを変更するには、コマンドodacli modify-cpupool
を使用します。
# odacli modify-cpupool -n cpupool1 -c 10
更新したCPUプールを使用するように、関連するデータベースを再起動します。
ブラウザ・ユーザー・インタフェースを使用したCPUプールの変更
- ブラウザ・ユーザー・インタフェースにログインします。
https://host-ip-address:7093/mgmt/index.html
- 「Appliance」タブをクリックします。
- 「CPU Pool」をクリックして、「CPU Pools」ページを表示します。
- 変更するCPUプールの「Actions」ドロップダウン・リストから、「Modify」を選択します。
- 「Modify CPU Pool」ページで、「Number of CPU Cores」に変更内容を指定し、実行中のVMに変更を適用するか、変更操作を強制するかを選択します。その後で、「Modify」をクリックします。
- このジョブを発行すると、ジョブIDとジョブへのリンクが表示されます。リンクをクリックすると、ジョブのステータスおよび詳細が表示されます。
- ジョブの完了を確認します。ジョブは、ブラウザ・ユーザー・インタフェースの「Activity」タブで追跡できます。また、ジョブIDを指定してコマンド
odacli describe-job
を実行することでも追跡できます。
ベア・メタルまたはKVMデプロイメントのCPUプールの削除
ODACLIコマンドまたはブラウザ・ユーザー・インタフェースを使用して、ベア・メタルまたはKVMデプロイメントのCPUプールを削除します。
ODACLIを使用したCPUプールの削除
CPUプールを削除するには、コマンドodacli delete-cpupool
を使用します。
cpupool1
という名前のCPUプールを削除します。# odacli delete-cpupool -n cpupool1
ブラウザ・ユーザー・インタフェースを使用したCPUプールの削除
- ブラウザ・ユーザー・インタフェースにログインします。
https://host-ip-address:7093/mgmt/index.html
- 「Appliance」タブをクリックします。
- 「CPU Pool」をクリックして、「CPU Pool」ページを表示します。
- 変更するCPUプールの「Actions」ドロップダウン・リストから、「Delete」を選択します。
- 「Yes」をクリックして選択内容を確認します。
- このジョブを発行すると、ジョブIDとジョブへのリンクが表示されます。リンクをクリックすると、ジョブのステータスおよび詳細が表示されます。
- ジョブの完了を確認します。ジョブは、ブラウザ・ユーザー・インタフェースの「Activity」タブで追跡できます。また、ジョブIDを指定してコマンド
odacli describe-job
を実行することでも追跡できます。
ベア・メタルまたはKVMデプロイメントのCPUプール監査レコードの表示
ODACLIコマンドまたはブラウザ・ユーザー・インタフェースを使用して、ベア・メタルまたはKVMデプロイメントのCPUプールを削除します。
ODACLIを使用したCPUプールの監査レコード詳細の表示
odacli list-auditrecords
コマンドを使用して、CPUプールの監査レコードをリスト表示します。
# odacli list-auditrecords
odacli describe-auditrecord
コマンドを使用して、CPUプールの監査レコードの説明を示します。
# odacli describe-auditrecord
ブラウザ・ユーザー・インタフェースを使用したCPUプールの監査レコード詳細の表示
- ブラウザ・ユーザー・インタフェースにログインします。
https://host-ip-address:7093/mgmt/index.html
- 「セキュリティ」タブをクリックします。
- 「Show Advanced Search」を選択して、CPU監査レコードの詳細に対するフィルタを指定します。このフィルタには、開始日と終了日、リソース・タイプ、リソース名、DCSユーザー名、操作タイプ、CPUプールの詳細を表示するレコード数などがあります。
- 表示された監査レコードのリストから、詳細についてドリルダウンする監査レコードIDをクリックします。
オーバーサブスクライブされたCPUプールについて
CPUプールで利用できるリソースよりも多くのCPUリソースをサブスクライブしないように仮想マシンを構成します。
CPUリソースを1つのCPUプールに割り当てることはできますが、1つのCPUプールにしか属せません。複数の仮想マシンを、同じCPUプールに割り当てることができます。CPUプールは、プール内のアクティブな仮想マシンがプールに構成された数を超えるCPUを必要とする場合、オーバーサブスクライブになります。たとえば、CPUプールに4つのCPUがある場合、それぞれ4つのCPUを使用するように定義された2つの仮想マシンを起動できます。この場合、4つのCPUそれぞれが2つの仮想マシンをサポートしているため、CPUプールはオーバーサブスクライブされます。
これらの仮想マシンのいずれかを停止したとしても、2つのCPUが必要な別の仮想マシンを起動する場合、CPUプールはオーバーサブスクライブされたままになります。これは、CPUの2つが両方の仮想マシンをサポートしているためです。CPUプールをオーバーサブスクライブした場合、そのプール内の仮想マシンのパフォーマンスを評価します。オーバーサブスクライブされたプールの共有によって許容できないレベルまでパフォーマンスが低下している場合は、1つ以上の仮想マシンを異なるCPUプールに再度割り当てます。