6 Oracle Linux KVMドメインの管理
Oracle Exadata System Softwareリリース19.3.0を実行しているOracle Exadata Database MachineのOracle Linux KVMユーザー・ドメインは、管理ドメインから実行するvm_maker
ユーティリティを使用して管理します。
カーネル仮想マシン(KVM)は、Linuxカーネルのモジュールです。KVMモジュールは/dev/kvm
インタフェースを公開することで、プログラムから最新のプロセッサの仮想化機能にアクセスして使用できるようにします。Qemu
は、実際にエミュレーションを実行するソフトウェアです。Qemu
は、オープン・ソースのマシン・エミュレータおよびバーチャライザです。
すべてのOracle VM管理コマンドは、/opt/exadata_ovm/vm_maker --help
を実行することで表示されます。
注意:
特に記載がない場合、次の手順で実行するすべてのコマンドはroot
ユーザーとして実行します。
- Oracle Linux KVMおよびOracle Exadata Database Machine
Oracle Exadata Database Machine X8M-2をデプロイするときに、データベース・サーバーにOracle Linux KVMを実装できます。 - ベア・メタルOracle RACクラスタからOracle Linux KVMのOracle RACクラスタへの移行
既存のOracle Real Application Clusters (Oracle RAC)クラスタは、KVMで管理する仮想環境に移行できます。 - 実行中のドメインの表示
実行中のドメインのリストを表示するには、vm-maker
ユーティリティを使用します。 - ゲストの起動
手動でゲストを起動することも、kvmhostの起動時に自動的にゲストを起動するように構成することもできます。 - 起動時のゲスト・コンソールの監視
ゲスト起動時のOracle Linux起動メッセージを表示するには、vm_maker --start-domain
コマンドに--console
オプションを使用します。 - ゲストの自動起動の無効化
kvmhost起動時のゲストの自動起動は無効化できます。 - ユーザー・ドメイン内部のユーザー・ドメインのシャットダウン
- kvmhostからのゲストのシャットダウン
kvmhostからゲストをシャットダウンできます。 - Oracle Linux KVMデプロイメント内のkvmhostとゲストのバックアップ
Oracle Linux KVMデプロイメントでは、kvmhostとゲストをバックアップする必要があります。 - KVMゲストでのOracleデータベースのバックアップおよびリストア
KVMゲストのOracleデータベースのバックアップとリストアは、物理ノードのOracleデータベースのバックアップとリストアと同じです。 - ゲストへのメモリー割当ての変更
ゲストへのメモリー割当ては、vm_maker
を使用して変更できます。 - ゲストへの仮想CPU割当て数の変更
ゲストに割り当てられた仮想CPUの数は、vm_maker --set vcpu
コマンドで動的に変更できます。 - ゲストのディスク領域の増加
KVMゲストのローカル領域は、ローカル・ディスク・イメージを追加することにより、初期デプロイメント後に拡張できます。 - kvmhostでの/EXAVMIMAGESの拡張
kvmhostで/EXAVMIMAGES
ファイル・システムを拡張できます。 - Oracle Linux KVMでのOracle RACクラスタの作成
この手順では、Oracle Exadata Deployment Assistant (OEDA)構成ツールおよびデプロイ・ツールを使用して、Oracle Linux KVM上にOracle RACクラスタを作成します。 - OEDACLIを使用したOracle Linux KVMでのOracle RACクラスタの拡張
Oracle Exadata Deployment Assistantコマンドライン・インタフェース(OEDACLI)を使用してゲストを追加することにより、Oracle Linux KVM上の既存のOracle RACクラスタを拡張できます。 - ゲストの別のデータベース・サーバーへの移動
ゲストは、別のデータベース・サーバーに移動できます。 - タグ付けされたVLANインタフェースの実装
このトピックでは、Oracle Exadata Database Machine上のOracle Linux KVM環境内のタグ付けされたVLANインタフェースの実装について説明します。 - RDMAネットワーク・ファブリック・パーティション
RDMAネットワーク・ファブリック・パーティションでは、相互の通信を許可されるRDMAネットワーク・ファブリックのノードまたはメンバーのグループを定義します。 - Oracle Linux KVM環境でのOracle EXAchkの使用
Oracle EXAchkバージョン12.1.0.2.2以降は、Oracle Exadata Database Machineでの仮想化をサポートしています。
6.1 Oracle Linux KVMおよびOracle Exadata Database Machine
Oracle Exadata Database Machine X8M-2をデプロイする場合は、データベース・サーバーにOracle Linux KVMを実装できます。
すべてのデータベース・サーバーに1つのkvmhostと1つ以上のゲストがインストールされます。Oracle Exadata Deployment Assistant (OEDA)で作成されたスクリプトを使用して初期デプロイメントでOracle Linux KVM環境を構成するか、既存の環境をOracle Linux KVMに移行できます。
注意:
Oracle Linux KVMは、X8M-8などの8ソケット・サーバーではサポートされていません。- Oracle Linux KVMについて
Oracle Linux KVMを使用すると、KVMで管理されるサポート対象の仮想環境内に、Oracle Linuxオペレーティング・システムとアプリケーション・ソフトウェアをデプロイできます。 - Oracle Exadata Database Machineでサポートされる仮想マシンの最大数
RDMA over Converged Ethernet (RoCE)を使用している場合は、最大12台の仮想マシンがサポートされます。 - KVMHostでサポートされる操作
手動でkvmhostを変更すると、パフォーマンスの低下やサービスの損失につながる構成の問題が発生する可能性があります。 - Oracle Linux KVMリソース
Oracle Linux KVMインフラストラクチャの2つの基本部分であるネットワークとストレージが、Oracle Linux KVMの外部で構成されます。
親トピック: Oracle Linux KVMドメインの管理
6.1.1 Oracle Linux KVMについて
Oracle Linux KVMを使用すると、KVMで管理されるサポート対象の仮想環境内に、Oracle Linuxオペレーティング・システムとアプリケーション・ソフトウェアをデプロイできます。
Oracle Linux KVMをOracle Exadata Database Machineで使用する場合、Oracle Linux KVMは、ワークロードにCPU、メモリー、オペレーティング・システムおよびsysadminの分離を提供します。仮想マシン(VM)とネットワークおよびI/Oの優先度付けを組み合せることで、完全なスタック分離を実現できます。統合の場合、Oracle Linux KVMを使用して信頼できる複数のデータベースまたはプラガブル・データベースを作成でき、リソースをより動的に共有できます。
Oracle Exadata System Softwareリリース19.3.0以降のKVMは、RDMA over Converged Ethernet (RoCE)インターコネクトによって構成されたOracle Exadata Database Machineシステムで使用する仮想化テクノロジです。Oracle Linux KVM環境は、管理サーバー(kvmhost)、仮想マシンおよびリソースで構成されます。kvmhostは、軽量でセキュアなサーバー・プラットフォームを提供する管理対象仮想環境です。このプラットフォームでゲストとも呼ばれるVMを実行します。
kvmhostは、ベア・メタル・コンピュータにインストールします。各kvmhostのハイパーバイザは、フットプリントが非常に小さいVMマネージャおよびスケジューラです。システムで唯一完全な権限を持つエンティティとなるように設計されています。CPUとメモリーの使用量、権限の確認、ハードウェア割込みなど、システムの最も基本的なリソースのみを制御します。
ハイパーバイザは、1台のホスト・コンピュータで複数のVMを安全に実行します。各VMは専用のゲストで実行され、専用のオペレーティング・システムを持ちます。kvmhostもハイパーバイザの上位のゲストとして実行されます。kvmhostには、ハードウェアおよびデバイス・ドライバへの特権アクセス権があります。この環境からすべてのゲストを管理します。
ゲストは、RoCEインタフェースにアクセスできる非特権VMです。ゲストは、kvmhostで起動および管理されます。ゲストはその他のVMとは独立して動作するため、ゲストの仮想リソースに適用した構成の変更は、その他のゲストには影響しません。ゲストの障害は、その他のゲストには影響しません。
「ゲスト」、「ドメイン」および「仮想マシン」は、ほとんど同じ意味で使用されます。
KVMの使用時には、同一のkvmhostに最大12個のゲストを配備できます。
各ゲストは、kvmhostとともに起動されます。ゲストがkvmhostと直接相互作用することはありません。これらの要件は、ハイパーバイザ自体によって処理されます。kvmhostは、ハイパーバイザを管理する手段のみを提供します。
Oracle Exadata Database MachineでOracle Linux KVMを作成および構成するには、Oracle Exadata Deployment Assistant (OEDA)を使用します。
6.1.2 Oracle Exadata Database Machineでサポートされる仮想マシンの最大数
RDMA over Converged Ethernet (RoCE)を使用している場合は、最大12台の仮想マシンがサポートされます。
ソフトウェアの前提条件については、My Oracle Supportのドキュメント888828.1を参照してください。
6.1.3 KVMHostでサポートされる操作
手動でkvmhostを変更すると、パフォーマンスの低下やサービスの損失につながる構成の問題が発生する可能性があります。
注意:
Oracleでは、ドキュメント化されている内容以外のkvmhostへの変更はサポートされていません。kvmhostとゲストユーザー・ドメインにサードパーティ製アプリケーションをインストールできますが、Oracleソフトウェアにかかわる問題がある場合、Oracle Support Serviceは、その事案のトラブルシューティング中にサードパーティ製アプリケーションの削除を依頼することがあります。kvmhostでの操作がサポートされているかどうか不明な場合は、Oracleサポート・サービスにお問い合せください。
6.1.4 Oracle Linux KVMリソース
Oracle Linux KVMインフラストラクチャの2つの基本部分であるネットワークとストレージが、Oracle Linux KVMの外部で構成されます。
ネットワーク
Oracle Exadata Deployment Assistant (OEDA)を使用してOracle Exadataラックの構成詳細を指定する場合は、Oracle Linux KVM環境に必要なネットワークIPアドレスの作成方法を入力します。生成されたOEDA設定ファイルはOracle Exadataラックに転送され、ネットワーク・アドレスの作成に使用されます。
ストレージ
Oracle Linux KVMには、仮想マシン(VM)の作成および管理に不可欠な環境リソースを格納する場所が常に必要です。こういったリソースには、ISOファイル(仮想DVDイメージ)、VM構成ファイル、およびVM仮想ディスクがあります。このようなリソースのグループが格納される場所を記憶域リポジトリといいます。
Oracle Exadata Database Machineでは、Oracle Linux KVM用のストレージにXFSファイル・システムを使用します。
Oracle Linux KVM用の記憶領域が必要な場合は、ディスク拡張キットを購入できます。追加のディスク領域を使用すると、/EXAVMIMAGES
を拡張してサポートするOracle Linux KVMゲストの数を増やすことや、各ゲストの/u01
パーティションのサイズを増やすことができます。
Exadataでサポートされる最大VM数
既存のExadata Database Serverで、Converged Ethernet (RoCE)でRDMAを使用する場合にサポートされるVMの最大数は12です。ソフトウェアの前提条件については、My Oracle Supportのノート888828.1および1270094.1を参照してください。
6.2 ベア・メタルOracle RACクラスタからOracle Linux KVMのOracle RACクラスタへの移行
既存のOracle Real Application Clusters (Oracle RAC)クラスタは、KVMで管理する仮想環境に移行できます。
注意:
このトピックは、2ソケットのx86サーバーにのみ適用されます。Oracle Exadata Database Machine X8M-8などの8ソケット・サーバーには適用されません。ベア・メタルOracle RACクラスタからOracle Linux KVMのOracle RACクラスタへの移行は次の方法で実行できます。
-
既存のベア・メタルOracle RACクラスタを使用してOracle Linux KVMのOracle RACクラスタに移行します(停止時間は発生しません)。
-
Oracle Linux KVMに新しいOracle RACクラスタを作成してOracle Linux KVMのOracle RACクラスタに移行します(最小限の停止時間が発生します)。
-
Oracle Data Guardを使用してOracle Linux KVMのOracle RACクラスタに移行します(最小限の停止時間が発生します)。
-
Oracle Recovery Manager (RMAN)バックアップおよびリストアを使用してOracle Linux KVMのOracle RACクラスタに移行します(完全な停止時間が発生します)。
ベア・メタルOracle RACクラスタからOracle Linux KVMのOracle RACクラスタに変換することは、次のことを示唆します。
-
各データベース・サーバーは、kvmhostがゲストとともに作成されているOracle Linux KVMサーバーに変換されます。ゲストの数は、デプロイされるOracle RACクラスタの数によって異なります。データベース・サーバー上の各ゲストは、特定のOracle RACクラスタに属します。
-
変換手順の一環として、最初にベア・メタルOracle RACクラスタがOracle Linux KVM内の1つのOracle RACクラスタに変換されます。データベース・サーバーごとに、1つのゲストが存在するようになります。
-
変換が終わった後のストレージ・セルのセル・ディスクとグリッド・ディスクの構成は、変換の開始時の構成と同じになります。
-
kvmhostは、各データベース・サーバーの少量のシステム・リソースを使用します。一般に、kvmhostは16GBまたはマシンの利用可能RAMの6%を使用します(どちらか多い方)。また、kvmhostは4個の仮想CPUも使用します。これらのリソース要件は、Oracle Linux KVMのOracle RACクラスタで実行するデータベースのSGAのサイズを設定する際に考慮に入れる必要があります。
- 詳細な手順は、My Oracle Supportノート2099488.1を参照してください。
6.5 起動時のゲスト・コンソールの監視
ゲスト起動時のOracle Linux起動メッセージを表示するには、vm_maker --start-domain
コマンドに--console
オプションを使用します。
親トピック: Oracle Linux KVMドメインの管理
6.9 Oracle Linux KVMデプロイメントでのkvmhostとゲストのバックアップ
Oracle Linux KVMデプロイメントでは、kvmhostとゲストをバックアップする必要があります。
- スナップショット・ベースのバックアップを使用したkvmhostのバックアップ
この手順では、kvmhostのスナップショット・ベースのバックアップを作成する方法について説明します。 - Oracle Linux KVMゲストのバックアップ
ホスト上のすべてのゲストのバックアップ、または個々のゲストのバックアップを作成できます。
親トピック: Oracle Linux KVMドメインの管理
6.9.1 スナップショット・ベースのバックアップを使用したkvmhostのバックアップ
この手順は、kvmhostのスナップショット・ベースのバックアップを作成する方法を示しています。
論理ボリューム/dev/VGExaDb/LVDoNotRemoveOrUse
は、スナップショットを作成できるだけの空き領域を常に確保するためのプレースホルダです。dbserver_backup.sh
を実行すると、プレースホルダLVMがスクリプトによって削除され、それによって生まれた空き領域がスナップショットに使用され、スナップショットの作成後に再びLVMが作成されます。ここで説明する手動手順を実行する場合は、これらのタスクをすべて手動で実行する必要があります。
次のステップで示す値は、例です。root
ユーザーとして、すべてのステップを実行する必要があります。
6.9.2 Oracle Linux KVMのゲストのバックアップ
ホスト上のすべてのゲストのバックアップ、または個々のゲストのバックアップを作成できます。
ゲストをバックアップする方法は3つあります。
-
方法1: XFS reflinkを使用して一貫性バックアップを取得し、ストレージ・リポジトリのすべてのゲストをバックアップします
この方法では、
/EXAVMIMAGES
ファイル・システムであるストレージ・リポジトリをバックアップします。この方法では、方法2または3よりもより堅牢で包括的なバックアップが可能です。この方法は、kvmhost管理者がゲストのバックアップを担当する場合に最適です。
-
方法2: XFSファイル・システムのreflinkを使用して一貫性バックアップを取得し、ストレージ・リポジトリの個々のゲストをバックアップします。
バックアップするゲストを
/EXAVMIMAGES
ファイル・システムから選択します。ゲストは、/EXAVMIMAGES/GuestImages/guest_name
ディレクトリにあります。この方法は、kvmhost管理者がゲストのバックアップを担当する場合に最適です。
-
方法3: スナップショット・ベースのバックアップを使用してゲストをバックアップします
この方法では、ゲスト内からスナップショット・ベースのバックアップを使用して、単一のゲストをバックアップします。
この方法は、ゲスト管理者がゲストのバックアップを担当している場合に最適です。
- 方法1: すべてのKVMゲストのバックアップ
すべてのゲストをバックアップするには、/EXAVMIMAGES
ファイル・システムのストレージ・リポジトリをバックアップします。 - 方法2: 個々のゲストのバックアップ
個々のゲストをバックアップするには、/EXAVMIMAGES
ファイル・システム内の特定のフォルダをバックアップします。 - 方法3: ゲストの内部からのゲストのバックアップ
ゲストの内部からゲストのスナップショットベースのバックアップを作成し、これを使用してゲストを作業可能な状態にリストアできます。
6.9.2.1 方法1: すべてのKVMゲストのバックアップ
/EXAVMIMAGES
ファイル・システムであるストレージ・リポジトリをバックアップすることで、すべてのゲストをバックアップできます。
バックアップ先は、書込み可能なNFSの場所など、ローカル・マシンの外部に存在するようにし、バックアップを保持できる十分な大きさにする必要があります。バックアップに必要な領域は、システムにデプロイされるゲストの数に比例し、最大約3.2TBです。
この手順では、管理ドメインごとに12個以下のゲストがあることを前提としています。
親トピック: Oracle Linux KVMゲストのバックアップ
6.9.2.2 方法2: 個々のゲストのバックアップ
/EXAVMIMAGES
ファイル・システム内の特定のフォルダをバックアップすることで、個々のゲストをバックアップできます。
バックアップ先は、書込み可能なNFSの場所など、ローカル・マシンの外部に存在するようにし、バックアップを保持できる十分な大きさにする必要があります。バックアップに必要な領域は、システムにデプロイされるゲストの数に比例し、最大約3.2TBです。
親トピック: Oracle Linux KVMゲストのバックアップ
6.9.2.3 方法3: ゲスト内部からのゲストのバックアップ
ゲスト内からゲストのスナップショット・ベースのバックアップを取得できます。これは、ゲストを作業可能な状態にリストアするために使用できます。
すべてのステップは、ゲスト内から実行されます。
注意:
LVMスナップショットを使用してゲスト内からゲストをバックアップする方法は、リカバリの観点から使用に制限があります。このようなバックアップは、ゲストがまだブート可能で、root
ユーザーとしてログインできる場合のリカバリ用にのみ使用できます。たとえば、一部のファイルが消失または破損したが、ゲストが起動し、/
(ルート)パーティションおよびブート・パーティションがマウントされた後にtarバックアップからリストアできる場合は、このバックアップをリカバリに使用できます。これに当てはまらず、ゲストがブートしないような損傷の場合、ゲストをリカバリするには、前述の方法1または2を使用して取得したバックアップが必要になり、後述のトピックで説明するリカバリ手順を使用して、ゲストレベルでリカバリ手順を実行する必要があります。
この手順では、次がバックアップされます。
- プライマリ・ルート・ファイル・システム(LVDbSys1またはLVDbSys2 LVM)
/var
ファイル・システム(LVDbVar1 LVM)/var/log
ファイル・システム(LVDbVarLog LVM)/var/log/audit
ファイル・システム(LVDbVarLogAudit LVM)/u01
ファイル・システム(LVDbOra1 LVM)/boot
パーティション/boot/efi
パーティション- Grid Infrastructureホーム
- Oracle Databaseホーム
論理ボリューム/dev/VGExaDb/LVDoNotRemoveOrUse
は、スナップショットを作成できるだけの空き領域を常に確保するためのプレースホルダです。dbserver_backup.sh
を実行すると、プレースホルダLVMがスクリプトによって削除され、それによって生まれた空き領域がスナップショットに使用され、スナップショットの作成後に再びLVMが作成されます。
ここで説明する手動手順を実行する場合は、これらのタスクをすべて手動で実行する必要があります。
次のステップで示す値は、例です。root
ユーザーとして、すべてのステップを実行する必要があります。
親トピック: Oracle Linux KVMゲストのバックアップ
6.10 KVMゲストでのOracleデータベースのバックアップおよびリストア
KVMゲストのOracleデータベースのバックアップとリストアは、物理ノードのOracleデータベースのバックアップとリストアと同じです。
親トピック: Oracle Linux KVMドメインの管理
6.11 ゲストへのメモリー割当ての変更
ゲストへのメモリー割当ては、vm_maker
を使用して変更できます。
この操作には、ゲストの再起動が必要です。メモリー構成の変更後に、vm_maker
でゲストを再起動することもできます。
6.12 ゲストへの仮想CPU割当て数の変更
ゲストに割り当てられた仮想CPUの数は、vm_maker --set vcpu
コマンドで動的に変更できます。
ゲストに割り当てられた仮想CPUの数を変更するアクションのすべては、kvmhostで実行します。
仮想CPUをオーバーコミットすると、すべてのゲストに割り当てられた仮想CPUを、システム上の物理CPU数より多く割り当てることができます。ただし、CPUのオーバーコミットは、過剰に収容されたリソースへの競合するワークロードが十分理解され、同時に発生する要求が物理能力を超えない場合にのみ、実行する必要があります。
親トピック: Oracle Linux KVMドメインの管理
6.13 ゲストのディスク領域の増加
KVMゲストのローカル領域は、ローカル・ディスク・イメージを追加することにより、初期デプロイメント後に拡張できます。
- 新規LVMディスクのゲストへの追加
新しいLVMディスクをゲストに追加すると、ゲストで使用可能なLVMディスク領域の量を増やすことができます。 - rootファイル・システムのサイズの増加
この手順では、システム・パーティションと/
(root)ファイル・システムのサイズを増やす方法について説明します。 - /u01ファイル・システムのサイズの増加
この手順では、Oracle Linux KVMの/u01
ファイル・システムのサイズを増やす方法について説明します。 - Grid InfrastructureホームまたはDatabaseホーム・ファイル・システムのサイズの増加
Oracle Linux KVMゲストのOracle Grid InfrastructureまたはOracle Databaseホームのファイル・システムのサイズを増やすことができます。 - スワップ領域のサイズの増加
ゲストで構成されたスワップの量は増やすことができます。
親トピック: Oracle Linux KVMドメインの管理
6.13.1 新規LVMディスクのゲストへの追加
新しいLVMディスクをゲストに追加すると、ゲストで使用可能なLVMディスク領域の量を増やすことができます。
ファイル・システムまたはスワップLVMパーティションのサイズを拡大するために、ゲストにLVMディスクを追加できます。これはシステムがオンラインの場合に実行できます。
注意:
この手順には、kvmhostで実行するステップとゲストで実行するステップが必要です。
すべてのステップを、root
ユーザーとして実行してください。
親トピック: ゲストのディスク領域の増加
6.13.2 rootファイル・システムのサイズの増加
この手順では、システム・パーティションおよび/
(ルート)ファイル・システムのサイズを増やす方法について説明します。
これはファイル・システムがオンラインの場合に実行できます。
注意:
2種類のシステム・パーティション、LVDbSys1
およびLVDbSys2
が使用できます。片方のパーティションがアクティブでマウントされます。もう一方のパーティションは非アクティブで、アップグレード中、バックアップする場所として使用します。この2つのシステム・パーティションは、サイズが等しい必要があります。
VGExaDb
ボリューム・グループ内に、少なくとも1GBの空き領域が必要です。空き領域は、ソフトウェア保守の際に、dbnodeupdate.sh
ユーティリティで作成したLVMスナップショットで使用します。「Oracle Linuxデータベース・サーバーのスナップショット・ベースのバックアップの作成」の手順に従い、/
(root)および/u01
ディレクトリのバックアップをスナップショット・ベースで作成する場合、VGExaDb
ボリューム・グループに少なくとも6GBの空き領域が必要です。
関連トピック
親トピック: ゲストのディスク領域の増加
6.13.3 /u01ファイル・システムのサイズの増加
この手順では、Oracle Linux KVMの/u01
ファイル・システムのサイズを増やす方法について説明します。
これはファイル・システムがオンラインの場合に実行できます。
注意:
VGExaDb
ボリューム・グループ内に、少なくとも1GBの空き領域が必要です。空き領域は、ソフトウェア保守の際に、dbnodeupdate.sh
ユーティリティで作成したLVMスナップショットで使用します。「Oracle Linuxデータベース・サーバーのスナップショット・ベースのバックアップの作成」の手順に従い、/
(root)および/u01
ディレクトリのバックアップをスナップショット・ベースで作成する場合、VGExaDb
ボリューム・グループに少なくとも6GBの空き領域が必要です
関連トピック
親トピック: ゲストのディスク領域の増加
6.13.4 Oracle Grid InfrastructureホームまたはDatabaseホーム・ファイル・システムのサイズの増加
Oracle Linux KVMゲストのOracle Grid InfrastructureまたはOracle Databaseホームのファイル・システムのサイズを増やすことができます。
Oracle Grid Infrastructureソフトウェア・ホームおよびOracle Databaseソフトウェア・ホームのために、それぞれのディスク・イメージ・ファイルがkvmhostに作成されます。ディスク・イメージ・ファイルの場所は、/EXAVMIMAGES/GuestImages/DomainName/
ディレクトリです。ディスク・イメージ・ファイルは、仮想マシンの起動時に自動的にゲストにアタッチされ、LVMではない別個のファイル・システムとしてゲストにマウントされます。
親トピック: ゲストのディスク領域の増加
6.14 kvmhostでの/EXAVMIMAGESの拡張
kvmhostで/EXAVMIMAGES
ファイル・システムを拡張できます。
デプロイメント時に、データベース・サーバー上の使用可能なディスク領域はすべてkvmhostに割り当てられ、その領域のほとんどがゲスト・ストレージ用の/EXAVMIMAGES
に割り当てられます。/EXAVMIMAGES
ファイル・システムが/dev/VGExaDb/LVDbExaVMImages
に作成されます。この手順は、/EXAVMIMAGES
に割り当てる未使用の領域がある場合にのみ使用します。
次の例のdm01db01
は、kvmhostの名前です。また、dm01db01vm01
はゲストです。
親トピック: Oracle Linux KVMドメインの管理
6.15 Oracle Linux KVMでのOracle RACクラスタの作成
この手順では、Oracle Exadata Deployment Assistant (OEDA)構成ツールおよびデプロイ・ツールを使用して、Oracle Linux KVM上にOracle RACクラスタを作成します。
Oracle Linux KVMでOracle RACクラスタを追加する場合の要件は次のとおりです。
-
Oracle Linux KVMシステムはすでに1つ以上のOracle RACクラスタにデプロイされている。
-
システムには、メモリー、CPU、ローカル・ディスク領域、ストレージ・サーバー・ディスク領域などの使用可能なリソースがある。
-
最初のシステム構成に使用したOEDAデプロイメント・ファイルが、使用可能である。
親トピック: Oracle Linux KVMドメインの管理
6.16 OEDACLIを使用したOracle Linux KVMでのOracle RACクラスタの拡張
Oracle Linux KVM上の既存のOracle RACクラスタは、Oracle Exadata Deployment Assistantコマンドライン・インタフェース(OEDACLI)を使用してゲストを追加することにより拡張できます。
OEDACLIは、目的のクラスタに適した既知のバージョンのOEDA XMLファイルがある場合に適した方法です。
注意:
この手順の実行中、既存のOracle RACクラスタ・ノードとそのデータベース・インスタンスでは、停止時間は発生しません。この手順のユースケースは次のとおりです。
- Oracle Exadataラックのデータベース・サーバーのサブセットのみを使用する既存のOracle RACクラスタがあり、現在クラスタによって使用されていないノードが使用候補になった場合。
- データベース・サーバーを追加することで最近拡張したOracle Exadata Database Machineに既存のOracle RACクラスタがある場合。
- 完全なノード障害が発生たノードを削除して新しくイメージ化したノードに置き換えた、既存のOracle RACクラスタがある場合。
この項のステップを実行する前に、「クラスタへの新しいデータベース・サーバーの追加」の説明に従って新しいデータベース・サーバーを設定しておく必要があります。これには、次の項目も含まれます。
- kvmhostが含まれるネットワークに、新しいデータベース・サーバーをインストールして構成します。
- 最新のOracle Exadata Deployment Assistant (OEDA)をダウンロードします(ダウンロードするファイルのバージョンが2019年7月以降のリリースであることを確認します)。
- 既存のクラスタ構成を正確に反映したOEDA構成XMLファイルを用意します。このXMLファイルを検証するには、そのファイルからインストール・テンプレートを生成して現在の構成と比較します。OEDACLIコマンドSAVE FILESを参照してください。
- 現在のシステム構成についてのOEDAインストール・テンプレートのレポートを確認して、既存のノードのノード名とIPアドレスを取得します。新しく追加するノードのために新しいホスト名とIPアドレスが必要になります。次の新しいホスト名とIPアドレスが必要になります。
- kvmhostおよびゲストの管理ホスト名とIPアドレス(ADMINNETと呼ばれます)。
- kvmhostおよびゲストのプライベート・ホスト名とIPアドレス(PRIVNETと呼ばれます)。
- kvmhostのIntegrated Lights Out Manager (ILOM)ホスト名とIPアドレス。
- ゲストのクライアント・ホスト名とIPアドレス(CLIENTNETと呼ばれます)。
- ゲストの仮想IP (VIP)ホスト名とIPアドレス(VIPNETと呼ばれます)。
- 新しいノードの物理ラック番号とラック内のでの場所(
U
番号単位)
-
各kvmhostは、既存のデータベース・サーバーで使用されているイメージと同じになるようにイメージ化またはパッチ適用されています。現在のシステム・イメージは、新しいkvmhostノードの
/EXAVMIMAGES/ System.first.boot.*.img
ファイルのバージョンと一致している必要があります。注意:
この後で参照される~/dom0_group
ファイルは、既存のノードと新しく追加するノードのすべてのkvmhostのホスト名が含まれているテキスト・ファイルです。すべてのkvmhostのイメージ・バージョンが同じであることを確認します。
dcli -g ~/dom0_group -l root "imageinfo -ver" exa01adm01: 19.2.0.0.0.190225 exa01adm02: 19.2.0.0.0.190225 exa01adm03: 19.2.0.0.0.190225
イメージのバージョンに異なるものがある場合は、そのバージョンが一致するようにノードをアップグレードする必要があります。
すべてのkvmhostの
System.first.boot
のバージョンが、前のステップで取得したイメージのバージョンと一致していることを確認します。dcli -g ~/dom0_group -l root "ls -1 /EXAVMIMAGES/System.first.boot*.img" exa01adm01: /EXAVMIMAGES/System.first.boot.19.2.0.0.0.190225.img exa01adm02: /EXAVMIMAGES/System.first.boot.19.2.0.0.0.190225.img exa01adm03: /EXAVMIMAGES/System.first.boot.19.2.0.0.0.190225.img
いずれかのノードに、現在のイメージと一致する
System.first.boot.img
ファイルがない場合は、必要なファイルを取得します。My Oracle SupportのドキュメントID 888828.1で、対象のExadataリリース用の補足READMEノートを確認し、"DomU System.img OS image for V.V.0.0.0 VM creation on upgraded dom0s"という説明文に対応するパッチ・ファイルを見つけてください。 -
klone.zip
ファイル(gi-klone*.zip
とdb-klone*.zip
)を、クラスタに追加する新しくイメージ化されたkvmhostノードの/EXAVMIMAGES
の場所に配置します。これらのファイルは、最初にシステムをデプロイしたkvmhostの/EXAVMIMAGES
ディレクトリにあります。
このステップでは、exa01adm03vm01
という新しいゲストを含むexa01adm03
という新しいkvmhostノードを追加する方法を示します。このステップでは、OEDACLIコマンドを使用して、既存のOracle RACクラスタをゲストに拡張する方法を示します。既存のクラスタには、exa01adm01
およびexa01adm02
という名前のkvmhostノードと、exa01adm01vm01
およびexa01adm02vm01
という名前のゲスト・ノードがあります。
6.17 ゲストの別のデータベース・サーバーへの移動
ゲストは、別のデータベース・サーバーに移動できます。
ターゲットのOracle Exadata Database Machineデータベース・サーバーは、次の要件を満たしている必要があります。
-
ターゲット・データベース・サーバーに、同一リリースのOracle Exadata System SoftwareおよびOracle Linux KVMがインストールされていることが必要です。
-
ターゲット・データベース・サーバーに、同一のネットワークが表示されている。
-
ターゲットのデータベース・サーバーは、同一のOracle Exadata Database Machineストレージ・サーバーにアクセスできることが必要です。
-
ターゲットのデータベース・サーバーには、ゲストの動作のために十分な空きリソース(メモリー、CPUおよびローカル・ディスク領域)があることが必要です。
-
仮想CPUをオーバーコミットすると、すべてのドメインに割り当てられた仮想CPUを、システム上の物理CPU数より多く割り当てることができます。CPUのオーバーコミットは、過剰に収容されたリソースへの競合するワークロードが十分理解され、同時に発生する要求が物理能力を超えない場合にのみ、実行する必要があります。
-
メモリーをオーバーコミットすることはできません。
-
ディスク・イメージをターゲット・データベース・サーバーにコピーすると、ディスク・イメージ・ファイルの領域の割当てが増加する場合があります。これは、コピーされたファイルは、reflinkを利用してディスク領域を省略できないためです。
-
-
ゲストの名前は、ターゲットのデータベース・サーバーで未使用のものにする必要があります。
次の手順に従い、ゲストを同一のOracle Exadata System Software構成内の新しいデータベース・サーバーに移動します。この手順のすべてのステップは、kvmhostで実行します。
親トピック: Oracle Linux KVMドメインの管理
6.18 タグVLANインタフェースの実装
このトピックでは、Oracle Exadata Database Machine上のOracle Linux KVM環境内のタグ付けされたVLANインタフェースの実装について説明します。
Oracle Exadata Database Machine上のOracle Linux KVMゲストで実行しているOracleデータベースは、Oracle Exadata Deployment Assistant (OEDA)構成ツールで定義されたクライアントEthernetネットワークを介してアクセスされます。kvmhostとゲストの両方のクライアント・ネットワーク構成は、初期デプロイ時にOEDAインストール・ツールが最初にゲストを作成するときに自動的に実行されます。
次の図に、デフォルトの結合クライアント・ネットワーク構成を示します。
ネットワークは、次のように構成されます:
-
kvmhostでは、OEDAで定義されていてゲスト・クライアント・ネットワークへのアクセスが許可されているethスレーブ・インタフェース(たとえば、eth1とeth2またはeth4とeth5)が、検出、構成および起動されますが、IPは割り当てられません。
-
kvmhostでは、bondeth0マスター・インタフェースが構成され、起動されますが、IPは割り当てられません。
-
kvmhostでは、ブリッジ・インタフェースvmbondeth0が構成されますが、IPは割り当てられません。
-
kvmhostでは、特定のゲストのbondeth0インタフェースにマッピングされる仮想バックエンド・インタフェース(VIF)がゲストごとに1つ構成され、起動されますが、IPは割り当てられません。これらのVIFは、ブリッジ・インタフェースvmbondeth0の上部に構成されます。また、kvmhostのVIFインタフェースとそれに対応するゲストのインタフェースbondeth0との間のマッピングは、
vm.cfg
というゲスト構成ファイルで定義されます。このファイルは、/EXAVMIMAGES/GuestImages/guest name
にあります。
デフォルトのインストールでは、単一のbondeth0と対応するvmbondeth0ブリッジ・インタフェースは、前述で説明するようにkvmhost内で構成されます。このbondeth0インタフェースは、デフォルトのAccess Virtual Local Area Network (Access VLAN)に基づいています。Access VLANに対して、bondeth0を構築するスレーブ・インタフェースで使用されるスイッチ上のポートが構成されます。
VLANタグ付けの使用
Exadataの仮想デプロイメントで、ゲスト全体でネットワーク分離を有効にするなど、クライアント・ネットワーク上の他のVLANにアクセスする必要がある場合、802.1QベースのVLANタグ付けにより解決できます。次の図に、VLANタグ付けをしたクライアント・ネットワーク構成を示します。
図6-2 VLANタグ付けをしたOracle Virtual EnvironmentのNICレイアウト

「図6-2 VLANタグ付けをしたOracle Virtual EnvironmentのNICレイアウト」の説明
このようなクライアント・ネットワーク上の追加のタグ付けされたVLANインタフェースの構成方法および使用方法の手順は、My Oracle Supportノート2018550.1を参照してください。これらの手順の実行の前後に、Access VLANが継続して稼働および構成されている必要があります。Access VLANが無効にされることはありません。
6.19 RDMAネットワーク・ファブリック・パーティション
RDMAネットワーク・ファブリック・パーティションでは、相互の通信を許可されるRDMAネットワーク・ファブリックのノードまたはメンバーのグループを定義します。
- Oracle Linux KVMで実行しているOracle RACクラスタ間のRDMAネットワーク・ファブリック・パーティションについて
セキュリティの見地から、結合システムの重要な要件の1つは、結合システム内の複数の環境間のネットワーク分離です。 - プライベート・ネットワークからのデータベース・サーバー・ネットワーク・トラフィックの分離
RDMAネットワーク・ファブリック・スイッチのswitchport access vlan ID
設定をデフォルト以外の値に変更し、RDMA over RoCEネットワーク・ファブリックの他のシステムからデータベース・サーバーを分離します
親トピック: Oracle Linux KVMドメインの管理
6.19.1 Oracle Linux KVMで実行しているOracle RACクラスタ間のRDMAネットワーク・ファブリック・パーティションについて
セキュリティの見地から、結合システムの重要な要件の1つは、結合システム内の複数の環境間のネットワーク分離です。
Oracle Linux KVM上でOracle Real Application Clusters (Oracle RAC)クラスタを使用して実現された統合では、これは、1つのOracle RACクラスタのネットワーク・トラフィックが別のOracle RACクラスタにアクセスできないというような、異なるOracle RACクラスタどうしの分離を意味します。Ethernetネットワークでは、これは、My Oracle Support DocID 2018550.1で説明するように、VLANタグ付けを使用して完成します。
RDMA over RoCEネットワーク・ファブリック(X8M)の場合は、Access VLANの設定を介したサーバー・レベル分離によって分離が実現されます。Oracle Exadata Database Machineでは、re0
インタフェースおよびre1
インタフェース上のすべてのRDMA over RoCEネットワーク・ファブリックのプライベート・トラフィックにVLAN ID 3888を使用します。この設定は、ほとんどのRDMA over Converged Ethernet (RoCE)スイッチとホスト構成に適しています。特殊な状況では、サーバー・レベル分離の実装が必要になり、分離が必要なホストに接続されたリーフ・ポートはAccess VLAN値(switchport access vlan 3889
など)に変更する必要があります。
注意:
Cisco Nexus C9336C-FX2 Ethernetリーフ・スイッチの変更可能なポート(たとえば、ホスト・ポート)は、RDMAネットワーク・ファブリック配線表X8Mに示されています。さらに、その他の競合がシステムで発生しないように、switchport access vlan ID
の値を2744から3967の範囲に制限します。
データベース・サーバーadm01
のスイッチ・ポート構成のサンプルを次に示します。
dbm01sw-rocea0# show running-config interface ethernet 1/22
!Command: show running-config interface Ethernet1/22
!Running configuration last done at: Wed Oct 30 21:47:37 2019
!Time: Wed Nov 20 23:51:57 2019
version 7.0(3)I7(6) Bios:version 05.33
interface Ethernet1/22
description adm01
switchport access vlan 3888
priority-flow-control mode on
spanning-tree port type edge
spanning-tree bpduguard enable
mtu 2300
speed 100000
duplex full
no negotiate auto
service-policy type qos input QOS_MARKING no-stats
親トピック: RDMAネットワーク・ファブリック・パーティション
6.19.2 プライベート・ネットワークからのデータベース・サーバー・ネットワーク・トラフィックの分離
RDMAネットワーク・ファブリック・スイッチのswitchport access vlan ID
設定をデフォルト以外の値に変更し、RDMA over RoCEネットワーク・ファブリックの他のシステムからデータベース・サーバーを分離します
VLAN IDのデフォルト値は、すべてのRDMA over Converged Ethernet (RoCE)プライベート・トラフィックのre0
およびre1
ネットワーク・インタフェース上で3888です。データベース・サーバーのVLAN IDを3889に変更すると、re0
またはre1
ネットワーク・インタフェースを使用して他のデータベース・サーバーと通信できなくなります。
これらのステップは、ベア・メタル・サーバーまたはゲスト・ホストを分離する場合にのみ使用します。
親トピック: RDMAネットワーク・ファブリック・パーティション
6.20 Oracle Linux KVM環境でのOracle EXAchkの使用
Oracle Exadata Database Machineでの仮想化は、Oracle EXAchkバージョン12.1.0.2.2以降でサポートされています。
- Oracle Linux KVM環境でのOracle EXAchkの実行
Oracle Exadata Database MachineのOracle Linux KVM環境でOracle EXAchk監査チェックの完全なセットを実行するには、Oracle EXAchkをインストールして、複数の場所から実行する必要があります。 - Oracle EXAchkによって実行される監査チェック
Oracle EXAchkは、kvmhostとゲストで異なる監査チェックを実行します。 - Oracle Exadata Database Machineに対するOracle EXAchkのコマンドライン・オプション
Oracle EXAchkには、特別なコマンドライン・オプションは必要ありません。これにより、Oracle Exadata Database MachineのOracle Linux KVM環境で実行していることが自動的に検出されます。
親トピック: Oracle Linux KVMドメインの管理
6.20.1 Oracle Linux KVM環境でのOracle EXAchkの実行
Oracle Exadata Database MachineのOracle Linux KVM環境でOracle EXAchk監査チェックの完全なセットを実行するには、Oracle EXAchkをインストールして、複数の場所から実行する必要があります。
- 1つのkvmhostからOracle EXAchkを実行します。
- Oracle Linux KVMで実行している各Oracle Real Application Clusters (Oracle RAC)クラスタの1つのゲストからOracle EXAchkを実行します。
たとえば、4つのOracle RACクラスタを含む2つのデータベース・サーバー(両方のデータベース・サーバーで合計8つのゲスト、クラスタごとに2つのノード)を搭載しているOracle Exadata Database Machineクオータ・ラックでは、次のようにOracle EXAchkを個別に5回実行する必要があります。
-
最初のクラスタの最初のゲストでOracle EXAchkを実行します。
-
2番目のクラスタの最初のゲストでOracle EXAchkを実行します。
-
3番目のクラスタの最初のゲストでOracle EXAchkを実行します。
-
4番目のクラスタの最初のゲストでOracle EXAchkを実行します。
-
最初のkvmhostでOracle EXAchkを実行します。
6.20.2 Oracle EXAchkによって実行される監査チェック
Oracle EXAchkは、kvmhostとゲストで異なる監査チェックを実行します。
Oracle EXAchkをkvmhostにインストールして実行すると、次のハードウェアおよびオペレーティング・システム・レベルのチェックが実行されます。
- データベース・サーバー(kvmhost)
- ストレージ・サーバー
- RDMAネットワーク・ファブリック
- RDMAネットワーク・ファブリックのスイッチ
Oracle EXAchkをゲストにインストールして実行すると、ゲストのオペレーティング・システムのチェックと、Oracle Grid InfrastructureおよびOracle Databaseのチェックが実行されます。
6.20.3 Oracle Exadata Database Machineに対するOracle EXAchkのコマンドライン・オプション
Oracle EXAchkは、kvmhostとゲストのどちらで実行されているかを自動的に検出し、適切な監査チェックを実行します。たとえば、最も簡単なケースとして、コマンドライン・オプションなしでOracle EXAchkを実行できます。
./exachk
kvmhostでOracle EXAchkを実行すると、RDMAネットワーク・ファブリック・ネットワーク経由でアクセス可能なすべてのデータベース・サーバー、ストレージ・サーバーおよびRDMAネットワーク・ファブリック・スイッチで監査チェックが実行されます。
サーバーまたはスイッチのサブセットでOracle EXAchkを実行するには、次のコマンドライン・オプションを使用します。
オプション
-
-clusternodes
: データベース・サーバーのカンマ区切りリストを指定します。 -
-cells
: ストレージ・サーバーのカンマ区切りリストを指定します。 -
-ibswitches
: RDMAネットワーク・ファブリック・スイッチのカンマ区切りリストを指定します。
例6-1 ノードとスイッチのサブセットに対するOracle EXAchkの実行
たとえば、最初のクオータ・ラックのみが仮想化用に構成されているが、RDMAネットワーク・ファブリックネットワーク経由ですべてのコンポーネントにアクセス可能なOracle Exadata Database Machineフル・ラックの場合、データベース・サーバーdm01adm01
から次のようなコマンドを実行できます。
./exachk -clusternodes dm01adm01,dm01adm02
-cells dm01celadm01,dm01celadm02,dm01celadm03
-ibswitches dm01swibs0,dm01sw-iba0,dm01sw-ibb0