15 Oracle Database Applianceベア・メタルおよびKVMデプロイメントのCPUプールの管理
CPUプールを使用して、Oracle Database Applianceベア・メタルおよびKVMデプロイメントのCPUリソースを管理します。
- CPUプールについて
CPUプールを使用すると、ベア・メタル・デプロイメントとKVMデプロイメントの両方でOracle Database ApplianceのCPUリソースを管理できます。 3タイプのCPUプール(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リソースを管理できます。 3タイプのCPUプール(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プール)、またはDBシステム(共有DBシステムの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プール名: CPUプールの名前
- CPUプール・タイプ: CPUプールがベア・メタルまたは仮想システムのいずれであるかを指定します。
- CPUコアの数: プールに割り当てられているCPUコアの数
- 使用するソケット: CPUプールに使用するソケットを指定します。
- 構成: 高可用性デプロイメントの場合は、CPUプールを構成するノードを選択します。
- 予約済CPUコアの使用: 予約済CPUコアを使用する場合は、このオプションを選択します。
- 「Create」をクリックします。
- このジョブを発行すると、ジョブIDとジョブへのリンクが表示されます。 リンクをクリックすると、ジョブのステータスおよび詳細が表示されます。
- ジョブの完了を確認します。 ジョブは、ブラウザ・ユーザー・インタフェースの「Activity」タブで追跡できます。また、ジョブIDを指定してコマンド
odacli describe-job
を実行することでも追跡できます。
ベア・メタルまたはKVMデプロイメントのCPUプールの再マッピング
ODACLIコマンドまたはブラウザ・ユーザー・インタフェースを使用して、ベア・メタルまたはKVMデプロイメントのCPUプールを再マッピングします。
ODACLIを使用したCPUプールの再マップ
ベア・メタル・システムにOracle Database Applianceリリース19.12以降にパッチを適用すると、パッチ適用後にNUMAが有効になります。 次に、コマンド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プールが再マップされます。
- 再マップ操作を強制する場合は、確認ダイアログで「強制実行」を選択します。 予約済CPUコアを使用するには、「予約済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プールに再度割り当てます。