5 Oracle Exadata Database MachineOracle VMドメインの管理

Oracle Exadata Database Machine上のOracle VMユーザー・ドメインを管理するには、管理ドメイン(domain-0またはdom0)からxm(1)コマンドを実行します。xm helpを実行すると、すべてのOracle VM管理コマンドの一覧が表示されます。

注意:

次に示すxmサブコマンドは、Oracle Exadata Database Machineではサポートされていません。

mem-set
mem-max
migrate
restore
resume
save
suspend
sched-*
cpupool-*
tmem-*

この項では、次の項目について説明します。

注意:

特に明記された場合を除き、前述の手順で実行するすべてのコマンドはrootユーザーとして実行します。

5.1 Oracle VMおよびOracle Exadata Database Machine

Oracle Exadata Database Machineをデプロイする場合は、データベース・サーバーにOracle VMを実装できます。

Oracle VM Serverおよび1つ以上のOracle VMゲストが、すべてのデータベース・サーバーにインストールされます。Oracle Exadata Deployment Assistant (OEDA)で作成されたスクリプトを使用して初期デプロイメントでOracle VM環境を構成するか、既存の環境をOracle VMに移行できます。

5.1.1 Oracle VMについて

Oracle VMを使用すると、サポートされている仮想化環境内にOracle Linuxオペレーティング・システムとアプリケーション・ソフトウェアをデプロイできます。

Oracle Exadata Database Machine ExadataでOracle VMを使用する場合、ワークロードにCPU、メモリー、オペレーティング・システムおよびsysadminの分離を提供します。VMとネットワークおよびI/Oの優先度付けを組み合せて、完全なスタック分離を実現できます。連結の場合、Oracle VMで複数の信頼できるデータベースまたはプラガブル・データベースを作成すると、リソースをより動的に共有できます。

Oracle VM環境は、Oracle VM Server、仮想マシンおよびリソースで構成されます。Oracle VM Serverは、ドメインとも呼ばれる、仮想マシンを実行するための軽量でセキュアなサーバー・プラットフォームを提供する、管理された仮想化環境です。

Oracle VM Serverはベア・メタル・コンピュータにインストールされています。各Oracle VM Serverに存在するハイパーバイザは、フットプリントが非常に小さい仮想マシン・マネージャおよびスケジューラです。システムで唯一完全な権限を持つエンティティとなるように設計されています。CPUとメモリーの使用量、権限の確認、ハードウェア割込みなど、システムの最も基本的なリソースのみを制御します。

ハイパーバイザは、1台のホスト・コンピュータで複数の仮想マシンを安全に実行します。各仮想マシンは独自のドメインで実行され、独自のゲスト・オペレーティング・システムを持ちます。プライマリ管理ドメイン、dom0 (domain zeroの略称)は、ハイパーバイザの上部のゲストとしても実行されます。dom0には、ハードウェアおよびデバイス・ドライバへの特権アクセス権があります。

ユーザー・ドメイン(domU)は、InfiniBandHCAにアクセスできる権限のないドメインです。domUは、dom0によってOracle VM Serverで起動され、管理されます。ユーザー・ドメインは他のドメインとは独立して動作するため、domUの仮想リソースに適用される構成変更は、他のドメインには影響しません。domUの障害は、他のドメインには影響しません。

ドメイン、ゲストおよび仮想マシンは、ほぼ同じ意味に使用されていますが、若干の違いがあります。

  • ドメインは、構成可能な一連のリソースで、メモリー、仮想CPU、仮想マシンを実行するネットワーク・デバイスおよびディスク・デバイスを含みます。
  • ドメインまたは仮想マシンには仮想リソースが付与され、他のドメインまたはホスト・サーバー自体とは関係なく起動、停止および再起動できます。
  • ゲストは、ドメイン内で実行される仮想化されたオペレーティング・システムです。各ゲスト・オペレーティング・システムには、「ユーザー・ドメイン」と呼ばれるこのシステムの管理ドメインがあり、「domU」と省略されます。

最大8つのゲストは、それぞれ独自のドメイン内で同じOracle VM Serverで実行できます。これらのドメインは、InfiniBandHCAにアクセスできる権限のないドメインです。各domUは、Oracle VM Serverで実行されるdom0とともに起動されます。他のドメインはdom0と直接相互作用しません。これらの要件は、ハイパーバイザ自体によって処理されます。dom0はハイパーバイザを管理する手段のみを提供します。

Oracle Exadata Database MachineOracle VMを作成および構成するには、Oracle Exadata Deployment Assistant (OEDA)を使用します。

5.1.2 Oracle Exadata Database Machineでサポートされる仮想マシンの最大数

Oracle Exadata Database Serverの場合、サポートされる仮想マシンの最大数は8です。

ソフトウェアの前提条件については、My Oracle Supportのドキュメント888828.1を参照してください。

5.1.3 管理ドメイン(dom0)でサポートされている操作

dom0を手動で変更すると、Oracle VM Serverの構成上の問題が発生する場合があります。これにより、パフォーマンスが低下したり、サービスが失われる可能性があります。

警告:

Oracleでは、ドキュメント化されている内容以外のdom0への変更はサポートされていません。dom0内のサード・パーティ・ソフトウェアの実行はサポートされていません。

dom0での操作がサポートされているかどうか不明な場合は、Oracleサポート・サービスに問い合せてください。

5.1.4 Oracle VMリソース

Oracle VMインフラストラクチャの2つの基本部分(ネットワークおよびストレージ)は、Oracle VMの外部で構成されます。

ネットワーク

Oracle Exadata Deployment Assistant (OEDA)を使用してOracle Exadataラックの構成詳細を指定する場合は、Oracle VM環境に必要なネットワークIPアドレスの作成方法を入力します。生成されたOEDA設定ファイルはOracle Exadataラックに転送され、ネットワーク・アドレスの作成に使用されます。

ストレージ

Oracle VMには、仮想マシンの作成および管理に不可欠な環境リソースを格納する場所が常に必要です。こういったリソースには、ISOファイル(仮想DVDイメージ)、VM構成ファイル、およびVM仮想ディスクがあります。このようなリソースのグループが格納される場所を記憶域リポジトリといいます。

Oracle Exadata Database Machineでは、Oracle VMの記憶域はOCFS2 (Oracle Cluster File System)ストレージとして構成されます。

OEDAを使用してOracle Exadataラックを構成する場合、ユーザー・ドメイン内のローカル・ディスクのサイズを選択できます。/u01のサイズは、小(20GB)、中(40GB)または大(60GB)です。この領域には、Oracle Grid InfrastructureまたはOracle Databaseホーム・ディレクトリは含まれません。Oracleソフトウェア・ホーム・ディレクトリは、別のファイル・システムに格納されます。

Oracle VM用の記憶領域が必要な場合は、ディスク拡張キットを購入できます。追加のディスク領域を使用し、/EXAVMIMAGESを拡張して、より多くのOracle VMゲスト(最大8個まで)をサポートしたり、各domUの/u01パーティションのサイズを増やすことができます。

Exadataでサポートされる最大VM数

既存のExadata Database Serverの場合、サポートされるVMの最大数は8個です。ソフトウェアの前提条件については、My Oracle Supportのノート888828.1および1270094.1を参照してください。

5.1.4.1 管理ドメインのストレージ構成

管理ドメイン(dom0)には、イメージ・リポジトリおよびOracle VM構成ファイルが含まれます。

管理ドメインには次のディレクトリが含まれます。

  • /EXAVMIMAGES。ゲストの作成に使用されたイメージが格納されます。このディレクトリ内のZIPファイルには、ISOファイルが含まれています。
  • /conf
  • /GuestImages。各ユーザー・ドメインを表すファイルが格納されます。

管理ドメインは、物理ディスク/dev/sdaに存在します。次の3つのディスク・パーティションがあります。

  • /dev/sda1/bootとしてマウントされます。
  • /dev/sda2swapに使用されます。
  • /dev/sda3 — ボリューム・グループVGExaDbに使用されます。

管理ドメイン用に作成された論理ボリュームは次のとおりです。

  • /dev/VGExaDb/LVDbSys2 — バックアップの実行中にdbnodeupdate.shによって使用されます
  • /dev/VGExaDb/LVDbSys3/としてマウントされます
  • /dev/VGExaDb/LVDbSwap1 — スワップ領域に使用されます
  • /dev/VGExaDb/LVDoNotRemoveOrUse — バックアップの実行中にdbnodeupdate.shによって使用されます
  • /dev/VGExaDb/LVDbExaVMImagesEXAVMIMAGESとしてマウントされます

/EXAVMIMAGESディレクトリは、各仮想マシンの構成ファイルが配置される場所です。ファイルの名前は/EXAVMIMAGES/GuestImages/nodename/vm.cfgの形式になります。各仮想マシンには、イメージ・リポジトリ内のISOファイルを指すイメージ・ファイルもあります。pv1_vgeexadb.imgを除く次のファイルは、reflinks (OCFS2機能)を使用して作成されます。

  • /EXAVMIMAGES/GuestImages/user-domain-name/System.img
  • /EXAVMIMAGES/GuestImages/user-domain-name/gridversion.img
  • /EXAVMIMAGES/GuestImages/user-domain-name/dbversion.img
5.1.4.2 ユーザー・ドメインのストレージ構成

ユーザー・ドメイン(domU)は、仮想化されたデータベース・ノードです。

ユーザー・ドメインには、管理ドメイン(dom0)レベルで4つの仮想ディスクがあります。これは、/EXAVMIMAGES/GuestImages/user_domain_name/vm.cfgで参照できます。これらの4つの仮想ディスクは、次に示すように、実際のディスク・イメージ・ファイルである/EXAVMIMAGES/GuestImages/user_domain_nameの4つのファイルにソフト・リンクされます。

  • /dev/xvdaは、システム・イメージ・ファイルSystem.img用です
  • /dev/xvdbは、Oracle Grid Infrastructureイメージ・ファイル(grid12.1.0.2.2.imgなど)用です。この仮想ディスクのサイズは50GBで、/u01/app/version/gridとしてマウントされます。
  • /dev/xvdcは、Oracle Databaseイメージ・ファイル(db12.1.0.2.2-3.imgなど)用です。この仮想ディスクのサイズは50GBで、/u01/app/oracle/product/version/dbhome_1としてマウントされます。
  • /dev/xvddは、pv1_vgexadb.imgイメージ・ファイル用です

System.img (/dev/xvda)ディスクには、pre-grub2イメージ上に2つのパーティションが作成され、grub2イメージ上に3つのパーティションが作成されます。

  • Pre-Grub2イメージ
    • パーティション1 — ユーザー・ドメイン(512MB)のブート・パーティション(/boot)で、ユーザー・ドメインのxvda1として表されます。
    • パーティション2 — bios-grubが格納されている場所(24.5GB)。ユーザー・ドメインのxvda2として表されます。
  • Grub2イメージ
    • パーティション1 — ユーザー・ドメイン(512MB)のブート・パーティション(/boot)で、ユーザー・ドメインのxvda1として表されます。
    • パーティション2 - Oracle Exadata Database Machine X7以上のシステムのEFIブート・パーティション
    • パーティション3 — bios-grubが格納されている場所(24.5GB)。ユーザー・ドメインのxvda3として表されます。

pv1_vgexadb.img (/dev/xvdd)ディスクには1つのパーティションがあります。ディスク・パーティション/dev/xvdd1のサイズは62GBです。

pre-grub2イメージの場合、2つの物理ボリューム(PV)がxvda2およびxvdd1パーティションの上部に配置されます。grub2イメージの場合、2つの物理ボリューム(PV)がxvda3およびxvdd1パーティションの上部に配置されます。サイズ86.49Gのボリューム・グループ(VgExaDb)は、これらの物理ボリュームの上部に配置されます。このボリューム・グループには、次の論理ボリューム(LVM)が含まれています。

  • /dev/VGExaDb/LVDbSys1 (24GB) — ルート・ファイル・システム/に使用されます。このLVMは、xvda2パーティション(pre-grub2イメージの場合)またはxvda3パーティション(grub2イメージの場合)に制限されます。
  • /dev/VGExaDb/LVDbSys2 (24GB) — dbnodeupdateバックアップに使用されます。
  • /dev/VGExaDb/LVDbOra1 (24GB) — diagnostic_dest領域を格納する/u01ファイル・システムに使用されます。
  • /dev/VGExaDb/LVDbSwap1 (16GB) — swapに使用されます
  • /dev/VGExaDb/LVDbDoNotRemoveOrUse (1GB) — dbnodeupdateによって使用される予約済LVM
  • /dev/VGExaDb/LVDbVdnodenamedgname (128MB) — quorumディスク用。

前述のリストの最初のLVMおよび最後のLVM以外のすべてのLVMは、xvdd1パーティションに含まれています。

5.2 ベア・メタルOracle RACクラスタからOracle VMOracle RACクラスタへの移行

注意:

このトピックは、2ソケットのx86サーバーにのみ適用されます。Oracle Exadata Database Machine X5-8などの8ソケット・サーバーには適用されません。

ベア・メタルOracle RACクラスタからOracle VMOracle RACクラスタへの移行は次の方法で実行できます。

  • 既存のベア・メタルOracle RACクラスタを使用して、Oracle VMOracle RACクラスタを移行します(ダウンタイムは発生しません)。

  • Oracle VMに新しいOracle RACクラスタを作成して、Oracle VMOracle RACクラスタを移行します(最低限のダウンタイムが発生します)。

  • Oracle Data Guardを使用してOracle VMOracle RACクラスタに移行します(最低限のダウンタイムが発生します)。

  • Oracle Recovery Manager (RMAN)バックアップおよびリストアを使用してOracle VMOracle RACクラスタに移行します(ダウンタイムが発生します)。

ベア・メタルOracle RACクラスタからOracle VMOracle RACクラスタに変換することは、次のことを示唆します。

  • 各データベース・サーバーがOracle VM Serverに変換され、Oracle VM Serverには管理ドメイン(dom0)と、デプロイされるOracle RACクラスタの数に応じて1つ以上のユーザー・ドメインが作成されます。データベース・サーバー上の各ユーザー・ドメインは特定のOracle RACクラスタに属します。

  • 変換手順の一環として、初めにベア・メタルOracle RACクラスタがOracle VM内の1つのOracle RACクラスタに変換されます。データベース・サーバーごとに1つのユーザー・ドメインがあります。

  • 変換が終わった後のストレージ・セルのセル・ディスクとグリッド・ディスクの構成は、変換の開始時の構成と同じになります。

  • 各データベース・サーバー上で管理ドメインによって使用されるシステム・リソースの量は同じになります。通常、管理ドメインでは8 GBのメモリーと4つの仮想CPUが使用されます。この点を考慮してOracle VMOracle RACクラスタで実行するデータベースのSGAのサイズを決定してください。

  • 詳細な手順は、My Oracle Supportノート2099488.1を参照してください。

5.3 実行中のドメインの表示

次の手順では、実行中のドメインを表示する方法について説明します。

  1. 管理ドメイン、domain zeroまたはdom0に接続します。
  2. xm listコマンドを実行します。次に、出力の例を示します。
    Example
    # xm list
    Name                         ID   Mem   VCPUs      State   Time(s)
    Domain-0                      0   8192     4       r-----  409812.7
    dm01db01vm01                  8   8192     2       -b---- 156610.6
    dm01db01vm02                  9   8192     2       -b---- 152169.8
    dm01db01vm03                 10  10240     4       -b---- 150225.9
    dm01db01vm04                 16  12288     8       -b---- 113519.3
    dm01db01vm05                 12  12288     8       -b---- 174101.6
    dm01db01vm06                 13  12288     8       -b---- 169115.9
    dm01db01vm07                 14   8192     4       -b---- 175573.0
    

5.4 ユーザー・ドメイン・コンソールの監視

次の手順では、ユーザー・ドメインを監視する方法について説明します。

  1. rootユーザーとして管理ドメインに接続します。
  2. xm listコマンドを使用して、ドメイン名を取得します。
  3. 次のコマンドを使用して、ユーザー・ドメイン・コンソールに接続します。
    # xm console DomainName
    

    上記のコマンドで、DomainNameはドメインの名前です。

  4. CTRL+]を押して、コンソールの接続を解除します。

5.5 Oracle Enterprise Managerを使用したOracle VMの監視

Oracle Enterprise ManagerのExadataプラグインは、Oracle Enterprise Managerの仮想インフラストラクチャ・プラグインと組み合せて、仮想化されたOracle Exadata Database Machineを検出、管理および監視します。

仮想化されたExadataを使用して、Oracle Exadata Deployment Assistant (OEDA)を介してデプロイされた各DBクラスタの1つのDBマシン・ターゲットのかわりに1つのExadata Database Machineターゲットが各物理データベース・サーバーに作成されます。計算ノード、Exadata Storage Server、InfiniBandスイッチ、計算ノードILOM、PDU、KVMおよびCiscoスイッチがExadataプラグインによって検出されます。物理サーバー(物理Oracle Serverターゲット)、Dom0 (仮想プラットフォーム・ターゲット)およびDomU (仮想Oracle Serverターゲット)は、仮想インフラストラクチャ(VI)・プラグインによって検出およびモニターされます。

5.6 ユーザー・ドメインの開始

次の手順では、ユーザー・ドメインを開始する方法について説明します。

  1. 次のコマンドを使用して、ユーザー・ドメインを起動します。
    # xm create /EXAVMIMAGES/GuestImages/DomainName/vm.cfg
    Using config file "/EXAVMIMAGES/GuestImages/dm01db01vm04/vm.cfg".
    Started domain dm01db01vm04 (id=23)
    

    上記のコマンドで、DomainNameはドメインの名前です。

    注意:

    Oracle Linux起動メッセージをユーザー・ドメイン起動中に表示する場合は、起動中に-cオプションを使用してコンソールに接続します。起動が終了したら、CTRL+]を押してコンソールの接続を解除します。

5.7 ユーザー・ドメインの自動起動の無効化

次の手順では、管理ドメインが起動した場合に、ユーザー・ドメインが自動的に起動するのを無効にする方法について説明します。

  1. 管理ドメインに接続します。
  2. 次のコマンドを使用して、/etc/xen/autoディレクトリ内のユーザー・ドメイン構成ファイルへのシンボリック・リンクを削除します。
    # rm /etc/xen/auto/DomainName.cfg
    

    上記のコマンドで、DomainNameはドメインの名前です。

5.8 ユーザー・ドメイン内部のユーザー・ドメインのシャットダウン

次の手順では、ユーザー・ドメイン内部でユーザー・ドメインをシャットダウンする方法について説明します。

  1. rootユーザーとしてユーザー・ドメインに接続します。
  2. 次のコマンドを使用して、ドメインをシャットダウンします。
    # shutdown -h now
    

5.9 管理ドメイン内部のユーザー・ドメインのシャットダウン

次の手順では、管理ドメイン内部でユーザー・ドメインをシャットダウンする方法について説明します。

  1. rootユーザーとして管理ドメインに接続します。
  2. 次のコマンドを使用して、ドメインをシャットダウンします。
    # xm shutdown DomainName -w

    上記のコマンドで、DomainNameはドメインの名前です。

    注意:

    -wオプションを使用すると、ドメインのシャットダウンが完了するまで待機してからxmコマンドが戻ります。xm shutdownコマンドを使用すると、ユーザー・ドメインでshutdown -h nowを実行した場合と同じ順序でシャットダウンが実行されます。

    次のコマンドを使用して、管理ドメイン内部のすべてのユーザー・ドメインをシャットダウンします。

    # xm shutdown -a -w
    

    次に、出力の例を示します。

    Domain dm01db01vm04 terminated
    All domains terminated
    

5.10 Oracle VMユーザー・ドメインでのOracle Databasesのバックアップおよびリストア

Oracle VMユーザー・ドメインでのOracleデータベースのバックアップとリストアは、物理ノードでのOracleデータベースのバックアップとリストアと同じです。

  • OracleデータベースをOracle VMユーザー・ドメインでバックアップする場合、次の4つのパラメータをデータベース・ノード(ユーザー・ドメイン)の/etc/sysctl.confファイルに設定する必要があります。また、Oracle Exadataストレージを使用してバックアップを保持する場合、パラメータをExadataストレージ・セルの/etc/sysctl.confファイルに設定する必要があります。
    net.core.rmem_default = 4194304
    net.core.wmem_default = 4194304
    net.core.rmem_max = 4194304
    net.core.wmem_max = 4194304
  • Exadataストレージを使用している場合、各Oracle VM RACクラスタでは、それぞれのOracle Automatic Storage Management (Oracle ASM)ディスク・グループを+RECOなどの高速リカバリ領域(FRA)として指定する必要があります。詳細は、ホワイト・ペーパー『Exadata Database Machineのバックアップとリストア構成および操作のベスト・プラクティス』を参照してください。
  • Oracle ZFS Storage Applianceを使用している場合は、ホワイト・ペーパー『Oracle ZFS Storage ApplianceによるExadata Database Machineの保護: 構成のベスト・プラクティス』を参照してください。

5.11 ユーザー・ドメインに割り当てられたメモリーの変更

次の手順では、ユーザー・ドメインに割り当てられたメモリーを変更する方法について説明します。

注意:

ユーザー・ドメインに割り当てられるメモリーの量を減らす場合は、ユーザー・ドメインで実行中のデータベースのSGAサイズおよび対応するヒュージ・ページ・オペレーティング・システム構成を最初に確認して調整する必要があります。そうしない場合、Linuxオペレーティング・システムのブート中に、多すぎるメモリーがヒュージ・ページに予約されるため、ユーザー・ドメインを起動できなくなることがあります。詳細は、My Oracle Supportノート361468.1を参照してください。

注意:

この手順では、ユーザー・ドメインを再起動する必要があります。メモリー割当てを変更する場合、xm mem-setコマンドはサポートされていません。

  1. 管理ドメインに接続します。
  2. 次のコマンドを使用して、割当てを増やす場合に使用できる空きメモリーの量を判別します。
    # xm info | grep free_memory
    

    注意:

    空きメモリーをユーザー・ドメインに割り当てる場合、空きメモリーの約1から2パーセントがメタデータおよび制御構造で使用されます。つまり、増加可能なメモリーの量は、空メモリーの値の1から2パーセント未満です。

  3. xm listコマンドで取得した名前を使用して、ユーザー・ドメインを正常にシャットダウンします。-wオプションを使用すると、ドメインがシャットダウンするまで待機してからxmコマンドが戻ります。
    # xm shutdown DomainName -w
    

    上記のコマンドで、DomainNameはドメインの名前です。

  4. /EXAVMIMAGES/GuestImages/DomainName/vm.cfgファイルのバックアップ・コピーを作成します。
  5. /EXAVMIMAGES/GuestImages/DomainName/vm.cfgファイルのmemory設定およびmaxmem設定を、テキスト・エディタを使用して編集します。memory設定およびmaxmem設定の値は、同一です。

    注意:

    メモリーおよびmaxmemパラメータの値が同一でない場合、ユーザー・ドメインの起動でInfiniBandネットワーク・インタフェースが構成されないため、Oracle CRSおよびデータベースが正常に起動しません。

  6. 次のコマンドを使用して、ユーザー・ドメインを起動します。
    # xm create /EXAVMIMAGES/GuestImages/DomainName/vm.cfg
    

    注意:

    Oracle Linux起動メッセージをユーザー・ドメイン起動中に表示する場合は、起動中に-cオプションを使用してコンソールに接続します。起動が終了したら、CTRL+]を押してコンソールの接続を解除します。

5.12 ユーザー・ドメインに割り当てられた仮想CPU数の変更

仮想CPU (vCPUs)の数を変更する場合、次の点に留意します。

  • ユーザー・ドメインに割り当てられた仮想CPU数を変更するためのすべてのアクションは、管理ドメインで実行されます。

  • ユーザー・ドメインに可能な仮想CPU数は、ユーザー・ドメインのmaxvcpusパラメータで設定される値の範囲内で、動的に増減します。

  • 仮想CPUをオーバーコミットすると、すべてのドメインに割り当てられた仮想CPUを、システム上の物理CPU数より多く割り当てることができます。ただし、CPUのオーバーコミットは、過剰に収容されたリソースへの競合するワークロードが十分理解され、同時に発生する要求が物理能力を超えない場合にのみ、実行する必要があります。

次の手順では、ユーザー・ドメインに割り当てられた仮想CPU数を変更する方法について説明します。

  1. 次の手順に従い、物理CPU数を判別します。

    1. 管理ドメインで、次のコマンドを実行します。

      # xm info | grep -A3 nr_cpus
      nr_cpus                : 24
      nr_nodes               : 2
      cores_per_socket       : 6
      threads_per_core       : 2
      

      出力で、nr_nodes行はソケットの数を示しています。コマンドが実行されるExadataデータベース・サーバーのプロセッサは2ソケットで、ソケット当たり6コアであるため、物理CPUスレッドは24個(2ソケット x 6コア/ソケット = 12コア。12コア x 2スレッド/コア = 24 CPUスレッド)です。

    2. 次のコマンドを実行して、ユーザー・ドメインに構成されオンラインである仮想CPUの現在の設定を判別します。

      # xm list DomainName -l | grep vcpus
      
          (vcpus 4)
          (online_vcpus 2)
      

      前述のコマンドで、DomainNameはユーザー・ドメインの名前です。コマンドの出力例では、ユーザー・ドメインの仮想CPUの最大数は4で、現在のオンライン仮想CPUは2です。このユーザー・ドメインのオンラインの仮想CPUの数は、ユーザー・ドメインがオンラインの間に、vcpusパラメータよりも大きくない数に調整されます。オンラインの仮想CPUの数をvcpusパラメータよりも大きい値に増やすには、ユーザー・ドメインをオフラインにする必要があります。

  2. 次の手順に従い、仮想CPU数を小さくするまたは大きくします。

    • 仮想CPU数を減らす手順は、次の通りです。

      1. 次のコマンドを使用して、ユーザー・ドメインに現在割り当てられている仮想CPUの数を判別します。

        # xm list DomainName
        
      2. 次のコマンドを使用して、現在割り当てられている仮想CPU数を減らします。

        # xm vcpu-set DomainName vCPUs_preferred
        

        前述のコマンドで、vCPUs_preferredは、推奨される仮想CPU数の値です

    • 仮想CPU数を増やす手順は、次の通りです。

      1. 次のコマンドを使用して、vcpusパラメータの現在の設定を判別します。

        # xm list DomainName -l | grep vcpus
            (vcpus 4)
            (online_vcpus 2)
        
      2. 推奨される仮想CPU数が、vcpusパラメータの値より小さいか等しい場合、次のコマンドを実行して、オンライン仮想CPU数を増やします。

        # xm vcpu-set DomainName vCPUs_preferred
        

        前述のコマンドで、vCPUs_preferredは、推奨される仮想CPU数の値です

      3. 推奨される仮想CPU数が、vcpusパラメータの値より大きい場合、オンラインの仮想CPUの数をvcpusパラメータよりも大きい値に増やすには、ユーザー・ドメインをオフラインする必要があります。次の手順を実行します。

        i.ユーザー・ドメインをシャットダウンします。

        ii./EXAVMIMAGES/GuestImages/DomainName/vm.cfgファイルのバックアップ・コピーを作成します。

        iii./EXAVMIMAGES/GuestImages/DomainName/vm.cfgファイルを編集し、vcpusパラメータを推奨される仮想vCPUの数に設定します。

        注意: デフォルトでは、ユーザー・ドメインは、vcpusパラメータで構成された仮想CPUの数をオンラインにします。一部の仮想CPUをオフラインにしてユーザー・ドメインを起動する場合は、maxvcpusパラメータをvm.cfgに追加し、ユーザー・ドメインでオンラインにできる仮想CPUの最大数に設定します。vcpusパラメータを仮想CPUの数に設定し、ユーザー・ドメインの起動時にオンラインにします。たとえば、2つの仮想CPUがオンラインのユーザー・ドメインを起動し、そのユーザー・ドメインがオンラインの間に、さらに6つの仮想CPUをユーザー・ドメインに追加する場合は、次の設定をvm.cfgに使用します。

        maxvcpus=8
        vcpus=2
        

        iv.ユーザー・ドメインを開始します。

5.13 ユーザー・ドメインのディスク領域の増加

次の手順では、ユーザー・ドメインにおける論理ボリューム・マネージャ(LVM)、スワップ領域およびファイル・システムのサイズを増やす方法について説明します。この項では、次の項目について説明します。

5.13.1 新規LVMディスクのユーザー・ドメインへの追加

次の手順では、新LVMディスクをユーザー・ドメインに追加して、ユーザー・ドメイン内で使用できるLVMディスク領域の量を増やす方法について説明します。この手順を実行すると、ファイル・システムまたはスワップLVMパーティションのサイズを増やすことができます。これはシステムがオンラインの場合に実行できます。

注意:

この手順は、管理ドメイン(Domain-0)およびユーザー・ドメイン内で実行する必要があります。

すべての手順を、rootユーザーとして実行してください。

  1. 管理ドメインで、次のコマンドを使用して/EXAVMIMAGES内の空きディスク領域を確認します。
    # df -h /EXAVMIMAGES
    

    次に、コマンドの出力例を示します。

    Filesystem            Size  Used Avail Use% Mounted on
     /dev/sda3            721G  111G  611G  16% /EXAVMIMAGES
    
  2. 管理ドメインで、新規ディスク・イメージの名前を選択し、ユーザー・ドメインで既に名前が使用されていないか確認します。
    # ls -l /EXAVMIMAGES/GuestImages/DomainName/new_disk_image_name
    
    ls: /EXAVMIMAGES/GuestImages/DomainName/new_disk_image_name: No such file or \
    directory
    

    上記のコマンドで、DomainNameはドメインの名前で、new_disk_image_nameは、新規ディスク・イメージの名前です。

  3. 管理ドメインで、新規ディスク・イメージを作成します。
    # qemu-img create /EXAVMIMAGES/GuestImages/DomainName/new_disk_image_name size
    

    次のコマンドで、新規ディスク・イメージ名はpv2_vgexadb.img、イメージ・サイズは0 GBです。

    # qemu-img create /EXAVMIMAGES/GuestImages/DomainName/pv2_vgexadb.img 10G
    
  4. ユーザー・ドメインで、使用できるディスク名を判別します。次の例では、ディスク名xvdaからxvddを使用し、 ディスク名xvdeは使用しません。
    # lsblk -id
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    xvda 202:0    0  13G  0 disk 
    xvdb 202:16   0  20G  0 disk /u01/app/12.1.0.2/grid
    xvdc 202:32   0  20G  0 disk /u01/app/oracle/product/12.1.0.2/dbhome_1
    xvdd 202:48   0  41G  0 disk
    
  5. 管理ドメインで、新規ディスク・イメージをユーザー・ドメインに読取り/書込みモードで割り当てます。次の例では、ユーザー・ドメイン内の新規ディスク・イメージは、デバイス/dev/xvdeとして表示されます。
    # xm block-attach DomainName     \
    file:/EXAVMIMAGES/GuestImages/DomainName/new_disk_image_name /dev/xvde w
    
  6. ユーザー・ドメインで、使用できるディスク・デバイスを確認します。次の例では、ディスク名xvdeがユーザー・ドメインで使用できます。
    # lsblk -id
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    xvda 202:0    0  13G  0 disk 
    xvdb 202:16   0  20G  0 disk /u01/app/12.1.0.2/grid
    xvdc 202:32   0  20G  0 disk /u01/app/oracle/product/12.1.0.2/dbhome_1
    xvdd 202:48   0  41G  0 disk 
    xvde 202:64   0  10G  0 disk
    
  7. ユーザー・ドメインで、新規ディスク・デバイスにパーティションを作成します。次の例では、ディスク・デバイス/dev/xvdeにパーティションを作成します。
    # parted /dev/xvde mklabel gpt
    # parted -s /dev/xvde mkpart primary 0 100%
    # parted -s /dev/xvde set 1 lvm on
    

    parted mkpartコマンドが、次のメッセージを戻す場合があります。このメッセージは無視してかまいません。

    Warning: The resulting partition is not properly aligned for best performance.
    
  8. ユーザー・ドメインで、新規ディスク・パーティション上にLVM物理ボリュームを作成します。次の例では、LVM物理ボリュームをディスク・パーティション/dev/xvde1上に作成します。
    # pvcreate /dev/xvde1
    
  9. ユーザー・ドメインで、ボリューム・グループを拡張して、ボリューム・グループ内の追加領域を確認します。次の例では、ディスク名xvdeがユーザー・ドメインで使用できます。
    # vgextend VGExaDb /dev/xvde1
    # vgdisplay -s
    
  10. 管理ドメインで、ユーザー・ドメイン構成ファイルvm.cfgのバックアップを作成します。
    # cp /EXAVMIMAGES/GuestImages/DomainName/vm.cfg   \
         /EXAVMIMAGES/GuestImages/DomainName/vm.cfg.backup
    
  11. 管理ドメインで、次のコマンドを使用して、ユーザー・ドメインのUUIDを取得します。
    # grep ^uuid /EXAVMIMAGES/GuestImages/DomainName/vm.cfg
    

    次の例では、ユーザー・ドメインUUIDは49ffddce4efe43f5910d0c61c87bba58です。

    # grep ^uuid /EXAVMIMAGES/GuestImages/dm01db01vm01/vm.cfg
    uuid = '49ffddce4efe43f5910d0c61c87bba58'
    
  12. 管理ドメインで、次のコマンドを使用して、新規ディスク・イメージのUUIDを生成します。
    # uuidgen | tr -d '-'
    

    次の例では、新規ディスクUUIDは、0d56da6a5013428c97e73266f81c3404です。

    # uuidgen | tr -d '-'
    0d56da6a5013428c97e73266f81c3404
    
  13. 管理ドメインで、次のコマンドを使用して、/OVS/Repositoriesから新規ディスク・イメージへのシンボリック・リンクを作成します。
    # ln -s /EXAVMIMAGES/GuestImages/DomainName/newDiskImage.img    \
     /OVS/Repositories/user_domain_uuid/VirtualDisks/new_disk_uuid.img
    

    次の例では、新規ディスク・イメージ・ファイルpv2_vgexadb.imgへのシンボリック・リンクが、ユーザー・ドメインdm01db01vm01に作成されます。ユーザー・ドメインdm01db01vm01のUUIDは、i49ffddce4efe43f5910d0c61c87bba58です。新規ディスク・イメージのUUIDは、0d56da6a5013428c97e73266f81c3404です。

    # ln -s /EXAVMIMAGES/GuestImages/dm01db01vm01/pv2_vgexadb.img \
    /OVS/Repositories/49ffddce4efe43f5910d0c61c87bba58/VirtualDisks/   \
    0d56da6a5013428c97e73266f81c3404.img
    
  14. 管理ドメインで、新規ディスク用のエントリを、ユーザー・ドメイン構成ファイルvm.cfgのディスク・パラメータに付加します。これにより、次の起動時、新規ディスク・イメージが自動的にユーザー・ドメインへ割り当てられます。この新規エントリのフォーマットは次の通りです。
    'file:/OVS/Repositories/user_domain_uuid/VirtualDisks/new_disk_uuid.img,disk_device,w'
    

    次に、vm.cfgファイル内の元のディスク・パラメータ・エントリの例を示します。

    disk=['file:/OVS/Repositories/49ffddce4efe43f5910d0c61c87bba58/VirtualDisks/  \
    76197586bc914d3d9fa9d4f092c95be2.img,xvda,w',                                 \
    'file:/OVS/Repositories/49ffddce4efe43f591 0d0c61c87bba58/VirtualDisks/       \
    78470933af6b4253b9ce27814ceddbbd.img,xvdb,w',                                 \
    'file:/OVS/Repositories/49ffddce4efe43f5910d0c61c87bba58/VirtualDisks/        \
    20d5528f5f9e4fd8a96f151a13d2006b.img,xvdc,w',                                 \
    'file:/OVS/Repositories/49ffddce4efe43f5910d0c61c87bba58/VirtualDisks/        \
    058af368db2c4f27971bbe1f19286681.img,xvdd,w']
    

    次の例では、ディスク・デバイス/dev/xvdeとしてユーザー・ドメイン内でアクセス可能な新規ディスク・イメージに対して、付加されたディスク・パラメータを示します。

    disk=['file:/OVS/Repositories/49ffddce4efe43f5910d0c61c87bba58/VirtualDisks/  \
    76197586bc914d3d9fa9d4f092c95be2.img,xvda,w',                                 \
    'file:/OVS/Repositories/49ffddce4efe43f591 0d0c61c87bba58/VirtualDisks/       \
    78470933af6b4253b9ce27814ceddbbd.img,xvdb,w',                                 \
    'file:/OVS/Repositories/49ffddce4efe43f5910d0c61c87bba58/VirtualDisks/        \
    20d5528f5f9e4fd8a96f151a13d2006b.img,xvdc,w',                                 \
    'file:/OVS/Repositories/49ffddce4efe43f5910d0c61c87bba58/VirtualDisks/        \
    058af368db2c4f27971bbe1f19286681.img,xvdd,w',                                 \
    'file:/OVS/Repositories/49ffddce4efe43f5910d0c61c87bba58/VirtualDisks/        \
    0d56da6a5013428c97e73266f81c3404.img,xvde,w']
    

5.13.2 rootファイル・システムのサイズの増加

この手順では、システム・パーティションおよび/ (ルート)ファイル・システムのサイズを増やす方法について説明します。

これはファイル・システムがオンラインの場合に実行できます。

注意:

2種類のシステム・パーティション、LVDbSys1およびLVDbSys2が使用できます。片方のパーティションがアクティブでマウントされます。もう一方のパーティションは非アクティブで、アップグレード中、バックアップする場所として使用します。この2つのシステム・パーティションは、サイズが等しい必要があります。

VGExaDbボリューム・グループ内に、少なくとも1GBの空き領域が必要です。空き領域は、ソフトウェア保守の際に、dbnodeupdate.shユーティリティで作成したLVMスナップショットで使用します。「Oracle Linuxデータベース・サーバーのスナップショット・ベースのバックアップの作成」の手順に従い、/ (root)および/u01ディレクトリのバックアップをスナップショット・ベースで作成する場合、VGExaDbボリューム・グループに少なくとも6GBの空き領域が必要です。

  1. 現在の環境に関する情報を収集します。
    1. dfコマンドを使用して、ルート・パーティション(/)の空き領域および使用済領域の容量を確認します
      # df -h /
      

      次に、コマンドの出力例を示します。

      Filesystem            Size  Used Avail Use% Mounted on
      /dev/mapper/VGExaDb-LVDbSys1
                             12G  5.1G  6.2G  46% / 
      

      注意:

      アクティブなrootパーティションは、それ以前の保守アクティビティによりLVDbSys1またはLVDbSys2のいずれかに決定されます。

    2. lvsコマンドを使用して、現在の論理ボリューム構成を表示します。
      # lvs -o lv_name,lv_path,vg_name,lv_size
      

      次に、コマンドの出力例を示します。

      LV        Path                   VG      LSize 
      LVDbOra1  /dev/VGExaDb/LVDbOra1  VGExaDb 10.00g
      LVDbSwap1 /dev/VGExaDb/LVDbSwap1 VGExaDb  8.00g
      LVDbSys1  /dev/VGExaDb/LVDbSys1  VGExaDb 12.00g
      LVDbSys2  /dev/VGExaDb/LVDbSys2  VGExaDb 12.00g 
      
  2. ボリューム・グループVGExaDbの使用可能な領域を確認するには、vgdisplayコマンドを使用します。
    # vgdisplay VGExaDb -s
    

    次に、コマンドの出力例を示します。

    "VGExaDb" 53.49 GiB [42.00 GiB used / 11.49 GiB free]
    

    ボリューム・グループは、2つのシステム・パーティションのサイズを増やすことができる空き領域を持ち、アップグレードの際にdbnodeupdate.shユーティリティで作成されるLVMスナップショットで使用するために、少なくとも1GBの空き領域を維持する必要があります。ボリューム・グループに十分な空き領域がない場合、新しいディスクをLVMに追加する必要があります。

  3. LVDbSys1およびLVDbSys2論理ボリュームのサイズを変更するには、lvextendコマンドを使用します。
    # lvextend -L +size /dev/VGExaDb/LVDbSys1
    # lvextend -L +size /dev/VGExaDb/LVDbSys2
    

    前述のコマンドで、sizeは論理ボリュームに追加する領域の容量です。いずれのシステム・パーティションにも、等しい容量の領域を追加します。

    次の例では、拡大する論理ボリュームは10GBです。

    # lvextend -L +10G /dev/VGExaDb/LVDbSys1
    # lvextend -L +10G /dev/VGExaDb/LVDbSys2
    
  4. 論理ボリューム内のファイル・システムのサイズを変更するには、resize2fsコマンドを使用します。
    # resize2fs /dev/VGExaDb/LVDbSys1
    # resize2fs /dev/VGExaDb/LVDbSys2
    
  5. dfコマンドを使用して、アクティブなシステム・パーティションで領域が拡大されたことを確認します。
    # df -h /
    

5.13.3 /u01ファイル・システムのサイズの増加

この手順では、/u01ファイル・システムのサイズを増やす方法について説明します。

これはファイル・システムがオンラインの場合に実行できます。

注意:

VGExaDbボリューム・グループ内に、少なくとも1GBの空き領域が必要です。空き領域は、ソフトウェア保守の際に、dbnodeupdate.shユーティリティで作成したLVMスナップショットで使用します。「Oracle Linuxデータベース・サーバーのスナップショット・ベースのバックアップの作成」の手順に従い、/ (root)および/u01ディレクトリのバックアップをスナップショット・ベースで作成する場合、VGExaDbボリューム・グループに少なくとも6GBの空き領域が必要です。

  1. 現在の環境に関する情報を収集します。
    1. dfコマンドを使用して、/u01パーティションの空き領域および使用済領域の容量を確認します。
      # df -h /u01
      

      次に、コマンドの出力例を示します。

      Filesystem            Size  Used Avail Use% Mounted on
      /dev/mapper/VGExaDb-LVDbOra1
                            9.9G  1.7G  7.8G  18% /u01
      
    2. lvsコマンドを使用して、/u01ファイル・システムで使用される現在の論理ボリューム構成を表示します。
      # lvs -o lv_name,lv_path,vg_name,lv_size /dev/VGExaDb/LVDbOra1
      

      次に、コマンドの出力例を示します。

      LV        Path                  VG       LSize 
      LVDbOra1 /dev/VGExaDb/LVDbOra1  VGExaDb 10.00g
      
  2. ボリューム・グループVGExaDbの使用可能な領域を確認するには、vgdisplayコマンドを使用します。
    # vgdisplay VGExaDb -s
    

    次に、コマンドの出力例を示します。

    "VGExaDb" 53.49 GiB [42.00 GiB used / 11.49 GiB free]
    

    コマンドの出力で空き領域が1GB未満と表示された場合は、論理ボリュームもファイル・システムも拡大できません。アップグレードの際にdbnodeupdate.shユーティリティで作成されるLVMスナップショットのために、VGExaDbボリューム・グループ内に、少なくとも1GBの空き領域が必要です。ボリューム・グループに十分な空き領域がない場合、新しいディスクをLVMに追加する必要があります。

  3. 論理ボリュームのサイズを変更するには、lvextendコマンドを使用します。
    # lvextend -L +sizeG /dev/VGExaDb/LVDbOra1
    

    前述のコマンドで、sizeは論理ボリュームに追加する領域の容量です。

    次の例では、拡大する論理ボリュームは10GBです。

    # lvextend -L +10G /dev/VGExaDb/LVDbOra1
    
  4. 論理ボリューム内のファイル・システムのサイズを変更するには、resize2fsコマンドを使用します。
    # resize2fs /dev/VGExaDb/LVDbOra1
    
  5. dfコマンドを使用して、領域が拡張されたことを確認します。
    # df -h /u01
    

5.13.4 Oracle Grid InfrastructureホームまたはDatabaseホーム・ファイル・システムのサイズの増加

ユーザー・ドメイン内のOracle Grid InfrastructureまたはOracle Databaseホームのファイル・システムのサイズを増やすことができます。

Oracle Grid Infrastructureソフトウェア・ホームおよびOracle Databaseソフトウェア・ホームのために、それぞれのディスク・イメージ・ファイルが管理ドメインに作成されます。ディスク・イメージ・ファイルの場所は、/EXAVMIMAGES/GuestImages/DomainName/ディレクトリです。ディスク・イメージ・ファイルは、仮想マシンの起動中に自動的にユーザー・ドメインに関連付けられ、別個にLVMではないファイル・システムとしてユーザー・ドメインにマウントされます。

  1. ユーザー・ドメインに接続し、dfコマンドを使用してファイル・システムのサイズを確認します。ここで、$ORACLE_HOMEはOracle Databaseホームのディレクトリを指す環境変数です(/u01/app/oracle/product/12.1.0.2/dbhome_1など)。
    # df -h $ORACLE_HOME
    

    次に、コマンドの出力例を示します。

    Filesystem  Size  Used Avail Use% Mounted on
     /dev/xvdc    20G  6.5G   13G  35% /u01/app/oracle/product/12.1.0.2/dbhome_1
    
  2. 管理ドメインに接続し、ユーザー・ドメインをシャットダウンするには、xmコマンドを使用し、ドメインの名前を指定します。
    # xm shutdown DomainName
    
  3. サイズを増やすディスク・イメージのバックアップとして使用するOCFS reflinkを作成します。ここで、versionはリリース番号(12.1.0.2.1-3など)です。
    # cd /EXAVMIMAGES/GuestImages/DomainName
    # reflink dbversion.img before_resize.dbversion.img
    
  4. qemu-imgコマンドを使用して、空のディスク・イメージを作成し、データベース・ホーム・ディスク・イメージに付加します。

    空のディスク・イメージ・サイズは、拡張後のファイル・システムのサイズです。最後のコマンドにより、データベース・ホーム・ディスク・イメージに付加済の空のディスク・イメージが削除されます。

    # qemu-img create emptyfile 10G
    # cat emptyfile >> dbversion.img
    # rm emptyfile
    
  5. e2fsckコマンドを使用して、ファイル・システムを確認します。
    # e2fsck -f dbversion.img
    
  6. resize2fsコマンドを使用して、ファイル・システムのサイズを変更します。
    # resize2fs dbversion.img
    
  7. ユーザー・ドメインを開始します。
    # xm create /EXAVMIMAGES/GuestImages/DomainName/vm.cfg
    
  8. ユーザー・ドメインに接続し、ファイル・システム・サイズが増えていることを確認します。
    # df -h $ORACLE_HOME
    

    次に、コマンドの出力例を示します。

    Filesystem      Size  Used Avail Use% Mounted on
    /dev/xvdc        30G  6.5G   22G  23% /u01/app/oracle/product/12.1.0.2/dbhome_1
    
  9. 管理ドメインに接続し、バックアップ・イメージを削除します。

    次のようなコマンドを使用します。ここで、back_up_image.imgはバックアップ・イメージ・ファイルの名前です。

    # cd /EXAVMIMAGES/GuestImages/DomainName
    # rm back_up_image.img
    

5.13.5 スワップ領域のサイズの増加

この手順では、ユーザー・ドメインで構成されたスワップの容量を増やす方法について説明します。

  1. ボリューム・グループVGExaDbの使用可能な領域を確認するには、vgdisplayコマンドを使用します。
    # vgdisplay VGExaDb -s
    

    次に、コマンドの出力例を示します。

    "VGExaDb" 53.49 GiB [42.00 GiB used / 11.49 GiB free]
    

    コマンドの出力で空き領域が1GB未満と表示された場合は、論理ボリュームもファイル・システムも拡大できません。アップグレードの際にdbnodeupdate.shユーティリティで作成されるLVMスナップショットのために、VGExaDbボリューム・グループ内に、少なくとも1GBの空き領域が必要です。ボリューム・グループに十分な空き領域がない場合、新しいディスクをLVMに追加する必要があります。

  2. 論理ボリュームを作成してスワップ領域のサイズを大きくするには、次のように、lvcreateコマンドを使用します。

    次の例では、LVDbSwap2という名前の8GBの論理ボリュームが新たに作成されます。

    # lvcreate -L 8G -n LVDbSwap2 VGExaDb
    
  3. SWAP2のような一意のラベルのスワップ・デバイスとして論理ボリュームを新たに設定するには、次のように、mkswapコマンドを使用します。一意のラベルは、/etc/fstabファイルで現在使用されていないデバイスのLABELエントリです。
    # mkswap -L SWAP2 /dev/VGExaDb/LVDbSwap2
    
  4. 新しいスワップ・デバイスを有効にするには、swaponコマンドを使用します。
    # swapon -L SWAP2
    
  5. 新しいスワップ・デバイスが有効であることを確認するには、swaponコマンドを使用します。
    # swapon -s
    

    次に、コマンドの出力例を示します。

    Filename         Type            Size      Used     Priority
    /dev/dm-3        partition       8388604   306108   -1
    /dev/dm-4        partition       8388604   0         -2
    
  6. /etc/fstabファイルを編集して、存在するスワップ・エントリをコピーして新しいスワップ・デバイスを追加し、新しいスワップ・デバイスの作成で使用したラベルへの新しいエントリのLABEL値を変更します。次の例では、新しいスワップ・デバイスが、/etc/fstabファイルにLABEL=SWAP2として追加されます。
    # cat /etc/fstab
    LABEL=DBSYS   /                       ext4    defaults        1 1
    LABEL=BOOT    /boot                   ext4    defaults,nodev        1 1
    tmpfs         /dev/shm                tmpfs   defaults,size=7998m 0
    devpts        /dev/pts                devpts  gid=5,mode=620  0 0
    sysfs         /sys                    sysfs   defaults        0 0
    proc          /proc                   proc    defaults        0 0
    LABEL=SWAP    swap                    swap    defaults        0 0
    LABEL=SWAP2   swap                    swap    defaults        0 0
    LABEL=DBORA   /u01                    ext4    defaults        1 1
    /dev/xvdb     /u01/app/12.1.0.2/grid  ext4    defaults        1 1
    /dev/xvdc       /u01/app/oracle/product/12.1.0.2/dbhome_1       ext4   defaults        1 1
    

5.14 データベース・サーバーのディスク拡張キット追加後の/EXAVMIMAGESの拡張

データベース・サーバーにディスク拡張キットを追加するときには、適切な手順に従って、新しい領域を/EXAVMIMAGESファイル・システムに追加することが重要です。

5.14.1 リリース18.1.x以降の管理ドメインでの/EXAVMIMAGESの拡張

Oracle Exadata System Softwareリリース18c (18.1.0)以降のリリースを使用している場合は、この手順を使用して、ディスク拡張キットの追加後に管理ドメイン/EXAVMIMAGESファイル・システムを拡張します。

デプロイメント中、データベース・サーバー上の使用可能なディスク領域はすべて管理ドメイン (dom0)に割り当てられ、その領域のほとんどがユーザー・ドメイン・ストレージ用の/EXAVMIMAGESに割り当てられます。/EXAVMIMAGESファイル・システムが/dev/VGExaDb/LVDbExaVMImagesに作成されます。

次の例では、dm01db01管理ドメインの名前で、dm01db01vm01ユーザー・ドメインです。

  1. -checkオプションを使用して、reclaimdisks.sh管理ドメインで実行されたことを確認します。

    最後の行が"Layout: DOM0"になっています。reclaimdisks.shが実行されていない場合は、"Layout: DOM0 + Linux"のように表示されます。

    [root@dm01db01 ~]# /opt/oracle.SupportTools/reclaimdisks.sh -check
    Model is ORACLE SERVER X6-2
    Number of LSI controllers: 1
    Physical disks found: 4 (252:0 252:1 252:2 252:3)
    Logical drives found: 1
    Linux logical drive: 0
    RAID Level for the Linux logical drive: 5
    Physical disks in the Linux logical drive: 4 (252:0 252:1 252:2 252:3)
    Dedicated Hot Spares for the Linux logical drive: 0
    Global Hot Spares: 0
    Valid. Disks configuration: RAID5 from 4 disks with no global and dedicated hot spare disks.
    Valid. Booted: DOM0. Layout: DOM0.
    
  2. ディスク拡張キットをデータベース・サーバーに追加します。
    キットには4台のハード・ドライブが含まれており、これを空いている4つのスロットに挿入します。フィラー・パネルを取り外し、ドライブを挿入します。ドライブは順不同で挿入できます。
  3. アラート履歴の警告およびクリア・メッセージを参照し、RAIDの再構築が完了したことを確認します。

    完了までに数時間かかることもあります。次の例では約7時間かかっています。クリア・メッセージ(下のメッセージ1_2)がある場合は、再構築が完了しているため、次の手順を実行できます。

    [root@dm01db01 ~]# dbmcli -e list alerthistory
    
             1_1     2016-02-15T14:01:00-08:00       warning         "A disk
     expansion kit was installed. The additional physical drives were automatically
     added to the existing RAID5 configuration, and reconstruction of the
     corresponding virtual drive was automatically started."
    
             1_2     2016-02-15T21:01:01-08:00       clear           "Virtual drive
     reconstruction due to disk expansion was completed."
    
  4. 現在の環境に関する情報を収集します。
    [root@dm01db01 ~]# df -h /EXAVMIMAGES
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/sda3             1.6T   44G  1.5T   3% /EXAVMIMAGES
    
    [root@dm01db01 ~]# xm list
    Name                                        ID   Mem VCPUs      State   Time(s)
    Domain-0                                     0  8192     4     r-----  94039.1
    dm01db01vm01.example.com                   4 16384     2     -b----   3597.3
    
  5. 管理ドメインからコマンドxm shutdown –a –wを実行し、すべてのユーザー・ドメインを停止します。

    すべてのユーザー・ドメインが停止すると、リストにDomain-0 (管理ドメイン)のみが表示されます。

    [root@dm01db01 ~]# xm shutdown –a -w
    Domain dm01db01vm01.example.com terminated 
    All domains terminated
    
    [root@dm01db01 ~]# xm list
    Name                                        ID   Mem VCPUs      State   Time(s)
    Domain-0                                     0  8192     4     r-----  94073.4
    
  6. partedを実行して、セクターの開始値および終了値を表示します。

    3番目のパーティションの終わりに対してのディスクのサイズを確認します。GPTを修復するリクエストが表示された場合は、Fで応答します。

    root@dm01db01 ~]# parted /dev/sda 
    GNU Parted 2.1Using /dev/sda
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) unit s 
    (parted) print
    Warning: Not all of the space available to /dev/sda appears to be used, you can
    fix the GPT to use all of the space (an extra 4679680000 blocks) or continue
    with the current setting? Fix/Ignore? F  
    
    Model: LSI MR9361-8i (scsi) 
    Disk /dev/sda: 8189440000s 
    Sector size (logical/physical): 512B/512B 
    Partition Table: gpt 
    
    Number  Start       End           Size         File system  Name     Flags 
    1       64s         1046591s      1046528s     ext3         primary  boot 
    4       1046592s    1048639s      2048s                     primary  bios_grub
    2       1048640s    240132159s    239083520s                primary  lvm 
    
    (parted) q

    前述のパーティション表に、パーティション2がセクター240132159で終了し、ディスク・サイズが8189440000セクターと表示されています。これらの値は手順7で使用します。

  7. 4番目のパーティションを作成します。
    開始セクターは、手順6の3番目のパーティションの終わりに1セクター加算します(240132159+1=240132160)。4番目のパーティションの終了セクターは、ディスクのサイズから34減算します(8189440000-34=8189439966)。
    [root@dm01db01 ~]# parted -s /dev/sda mkpart primary 240132160s 8189439966s 

    このコマンドは出力を生成しません。

  8. 4番目のパーティションのLVMフラグを設定します。
    [root@dm01db01 ~]# parted -s /dev/sda set 3 lvm on
    Warning: WARNING: the kernel failed to re-read the partition table on /dev/sda (Device or
     resource busy).  As a result, it may not reflect all of your changes until after reboot.
  9. 更新されたパーティション表を確認します。
    [root@dm01db01 ~]# parted -s /dev/sda unit s print
    Model: LSI MR9361-8i (scsi)
    Disk /dev/sda: 8189440000s
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt 
    Number  Start        End          Size         File system  Name     Flags
    1       64s         1046591s      1046528s     ext4         primary  boot 
    4       1046592s    1048639s      2048s                     primary  bios_grub
    2       1048640s    240132159s    239083520s                primary  lvm 
    3       240132160s  8189439966s   7949307807s               primary  lvm
    
  10. Exadataサーバーを再起動します。
    [root@dm01db01 ~]# reboot
  11. 4番目のパーティションの終わりに対してのディスクのサイズを確認します。
    [root@dm01db01 ~]# parted -s /dev/sda unit s print
    Model: LSI MR9361-8i (scsi)
    Disk /dev/sda: 8189440000s
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt 
    Number  Start        End          Size         File system  Name     Flags
    1       64s          1048639s     1048576s     ext4         primary  boot 
    4       1048640s     3509759966s  3508711327s               primary  lvm 
    2       3509759967s  8189439966s  4679680000s               primary  lvm
    3 
  12. 新しく作成した4番目のパーティションでLVM物理ボリューム(PV)を作成します。
    [root@dm01db01 ~]# lvm pvcreate --force /dev/sda3
      Physical volume "/dev/sda3" successfully created
  13. LVMボリューム・グループVGExaDbを、新しく作成した3番目のパーティションまで拡張します。
    [root@dm01db01 ~]# lvm vgextend VGExaDb /dev/sda3
      Volume group "VGExaDb" successfully extended
  14. /EXAVMIMAGES OCFS2パーティションをディスマウントします。
    [root@dm01db01 ~]# umount /EXAVMIMAGES/
  15. OCFS2パーティションを含む論理ボリュームを拡張して、残りの空き領域を含めます。
    [root@dm01db01 ~]# lvm lvextend -l +100%FREE /dev/VGExaDb/LVDbExaVMImages
    Size of logical volume VGExaDb/LVDbExaVMImages changed from 1.55 TiB (406549 extents) to 
    3.73 TiB (977798 extents).  
    Logical volume LVDbExaVMImages successfully resized.
  16. OCFS2ファイル・システムのサイズを、残りの論理ボリュームに変更します。

    通常、tunefs.ocfs2コマンドは実行速度が非常に速く、出力が生成されません。

    [root@dm01db01 ~]# tunefs.ocfs2 -S /dev/VGExaDb/LVDbExaVMImages
    
  17. OCFS2パーティションをマウントしてから、このパーティションのファイル・システム・ディスク領域使用率を表示します。
    [root@dm01db01 ~]# mount -a
    
    [root@dm01db01 ~]# ls -al /EXAVMIMAGES/
    total 4518924
    drwxr-xr-x  3 root root        3896 Jul 18 18:01 .
    drwxr-xr-x 26 root root        4096 Jul 24 14:50 ..
    drwxr-xr-x  2 root root        3896 Jul 18 17:51 lost+found
    -rw-r-----  1 root root 26843545600 Jul 18 18:01 System.first.boot.12.2.1.1.8.180510.1.img
    
    [root@dm01db01 ~]# df -h /EXAVMIMAGES/
    Filesystem                            Size  Used Avail Use% Mounted on
    /dev/mapper/VGExaDb-LVDbExaVMImages   3.8T  9.0G  3.8T   1% /EXAVMIMAGES
    
  18. ユーザー・ドメインを再起動します。

5.14.2 リリース12.2.xの管理ドメインでの/EXAVMIMAGESの拡張

Oracle Exadata System Softwareリリース12.2.xを使用している場合は、この手順を使用して、ディスク拡張キットの追加後に管理ドメイン/EXAVMIMAGESファイル・システムを拡張します。

デプロイメント中、データベース・サーバー上の使用可能なディスク領域はすべて管理ドメイン (dom0)に割り当てられ、その領域のほとんどがユーザー・ドメイン・ストレージ用の/EXAVMIMAGESに割り当てられます。/EXAVMIMAGESファイル・システムが/dev/VGExaDb/LVDbExaVMImagesに作成されます。

次の例では、dm01db01管理ドメインの名前で、dm01db01vm01ユーザー・ドメインです。

  1. -checkオプションを使用して、reclaimdisks.sh管理ドメインで実行されたことを確認します。

    最後の行が"Layout: DOM0"になっています。reclaimdisks.shが実行されていない場合は、"Layout: DOM0 + Linux"のように表示されます。

    [root@dm01db01 ~]# /opt/oracle.SupportTools/reclaimdisks.sh -check
    Model is ORACLE SERVER X5-2
    Number of LSI controllers: 1
    Physical disks found: 4 (252:0 252:1 252:2 252:3)
    Logical drives found: 1
    Linux logical drive: 0
    RAID Level for the Linux logical drive: 5
    Physical disks in the Linux logical drive: 4 (252:0 252:1 252:2 252:3)
    Dedicated Hot Spares for the Linux logical drive: 0
    Global Hot Spares: 0
    Valid. Disks configuration: RAID5 from 4 disks with no global and dedicated hot spare disks.
    Valid. Booted: DOM0. Layout: DOM0.
    
  2. ディスク拡張キットをデータベース・サーバーに追加します。
    キットには4台のハード・ドライブが含まれており、これを空いている4つのスロットに挿入します。フィラー・パネルを取り外し、ドライブを挿入します。ドライブは順不同で挿入できます。
  3. アラート履歴の警告およびクリア・メッセージを参照し、RAIDの再構築が完了したことを確認します。

    完了までに数時間かかることもあります。次の例では約7時間かかっています。クリア・メッセージ(下のメッセージ1_2)がある場合は、再構築が完了しているため、次の手順を実行できます。

    [root@dm01db01 ~]# dbmcli -e list alerthistory
    
             1_1     2016-02-15T14:01:00-08:00       warning         "A disk
     expansion kit was installed. The additional physical drives were automatically
     added to the existing RAID5 configuration, and reconstruction of the
     corresponding virtual drive was automatically started."
    
             1_2     2016-02-15T21:01:01-08:00       clear           "Virtual drive
     reconstruction due to disk expansion was completed."
    
  4. 現在の環境に関する情報を収集します。
    [root@dm01db01 ~]# df -h /EXAVMIMAGES
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/sda3             1.6T   44G  1.5T   3% /EXAVMIMAGES
    
    [root@dm01db01 ~]# xm list
    Name                                        ID   Mem VCPUs      State   Time(s)
    Domain-0                                     0  8192     4     r-----  94039.1
    dm01db01vm01.example.com                   4 16384     2     -b----   3597.3
    
  5. 管理ドメインからコマンドxm shutdown –a –wを実行し、すべてのユーザー・ドメインを停止します。

    すべてのユーザー・ドメインが停止すると、リストにDomain-0 (管理ドメイン)のみが表示されます。

    [root@dm01db01 ~]# xm shutdown –a -w
    Domain dm01db01vm01.example.com terminated 
    All domains terminated
    
    [root@dm01db01 ~]# xm list
    Name                                        ID   Mem VCPUs      State   Time(s)
    Domain-0                                     0  8192     4     r-----  94073.4
    
  6. partedを実行して、セクターの開始値および終了値を表示します。

    2番目のパーティションの終わりに対してのディスクのサイズを確認します。GPTを修復するリクエストが表示された場合は、Fで応答します。

    root@dm01db01 ~]# parted /dev/sda 
    GNU Parted 2.1Using /dev/sda
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) unit s 
    (parted) print
    Warning: Not all of the space available to /dev/sda appears to be used, you can
    fix the GPT to use all of the space (an extra 4679680000 blocks) or continue
    with the current setting? Fix/Ignore? F  
    
    Model: LSI MR9361-8i (scsi) 
    Disk /dev/sda: 8189440000s 
    Sector size (logical/physical): 512B/512B 
    Partition Table: gpt 
    
    Number  Start       End           Size         File system  Name     Flags 
    1       64s         1048639s      1048576s     ext3         primary  boot 
    2       1048640s    3509759966s   3508711327s               primary  lvm 
    
    (parted) q

    前述のパーティション表に、パーティション2がセクター3509759966sで終了し、ディスク・サイズが8189440000と表示されています。これらの値は手順7で使用します。

  7. 3番目のパーティションを作成します。
    開始セクターは、手順6の2番目のパーティションの終わりに1セクター加算します(3509759966+1=3509759967)。3番目のパーティションの終了セクターは、ディスクのサイズから34減算します(8189440000-34=8189439966)。
    [root@dm01db01 ~]# parted -s /dev/sda mkpart primary 3509759967s 8189439966s 

    このコマンドは出力を生成しません。

  8. 3番目のパーティションのLVMフラグを設定します。
    [root@dm01db01 ~]# parted -s /dev/sda set 3 lvm on
    Warning: WARNING: the kernel failed to re-read the partition table on /dev/sda (Device or
     resource busy).  As a result, it may not reflect all of your changes until after reboot.
  9. 更新されたパーティション表を確認します。
    [root@dm01db01 ~]# parted -s /dev/sda unit s print
    Model: LSI MR9361-8i (scsi)
    Disk /dev/sda: 8189440000s
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt 
    Number  Start        End          Size         File system  Name     Flags
    1       64s          1048639s     1048576s     ext4         primary  boot 
    2       1048640s     3509759966s  3508711327s               primary  lvm 
    3       3509759967s  8189439966s  4679680000s               primary  lvm
  10. Exadataサーバーを再起動します。
    [root@dm01db01 ~]# reboot
  11. 3番目のパーティションの終わりに対してのディスクのサイズを確認します。
    [root@dm01db01 ~]# parted -s /dev/sda unit s print
    Model: LSI MR9361-8i (scsi)
    Disk /dev/sda: 8189440000s
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt 
    Number  Start        End          Size         File system  Name     Flags
    1       64s          1048639s     1048576s     ext4         primary  boot 
    2       1048640s     3509759966s  3508711327s               primary  lvm 
    3       3509759967s  8189439966s  4679680000s               primary  lvm
  12. 新しく作成した3番目のパーティションでLVM物理ボリューム(PV)を作成します。
    [root@dm01db01 ~]# lvm pvcreate --force /dev/sda3
      Physical volume "/dev/sda3" successfully created
  13. LVMボリューム・グループVGExaDbを、新しく作成した3番目のパーティションまで拡張します。
    [root@dm01db01 ~]# lvm vgextend VGExaDb /dev/sda3
      Volume group "VGExaDb" successfully extended
  14. /EXAVMIMAGES OCFS2パーティションをディスマウントします。
    [root@dm01db01 ~]# umount /EXAVMIMAGES/
  15. OCFS2パーティションを含む論理ボリュームを拡張して、残りの空き領域を含めます。
    [root@dm01db01 ~]# lvm lvextend -l +100%FREE /dev/VGExaDb/LVDbExaVMImages
    Size of logical volume VGExaDb/LVDbExaVMImages changed from 1.55 TiB (406549 extents) to 
    3.73 TiB (977798 extents).  
    Logical volume LVDbExaVMImages successfully resized.
  16. OCFS2ファイル・システムのサイズを、残りの論理ボリュームに変更します。

    通常、tunefs.ocfs2コマンドは実行速度が非常に速く、出力が生成されません。

    [root@dm01db01 ~]# tunefs.ocfs2 -S /dev/VGExaDb/LVDbExaVMImages
    
  17. OCFS2パーティションをマウントしてから、このパーティションのファイル・システム・ディスク領域使用率を表示します。
    [root@dm01db01 ~]# mount -a
    
    [root@dm01db01 ~]# ls -al /EXAVMIMAGES/
    total 4518924
    drwxr-xr-x  3 root root        3896 Jul 18 18:01 .
    drwxr-xr-x 26 root root        4096 Jul 24 14:50 ..
    drwxr-xr-x  2 root root        3896 Jul 18 17:51 lost+found
    -rw-r-----  1 root root 26843545600 Jul 18 18:01 System.first.boot.12.2.1.1.8.180510.1.img
    
    [root@dm01db01 ~]# df -h /EXAVMIMAGES/
    Filesystem                            Size  Used Avail Use% Mounted on
    /dev/mapper/VGExaDb-LVDbExaVMImages   3.8T  9.0G  3.8T   1% /EXAVMIMAGES
    
  18. ユーザー・ドメインを再起動します。

5.14.3 リリース12.2.xより前の管理ドメインでの/EXAVMIMAGESの拡張

リリース12.1.x以前のOracle Exadata System Softwareを使用している場合は、この手順を使用して、ディスク拡張キットの追加後に管理ドメイン/EXAVMIMAGESディレクトリを拡張します。

デプロイメント中、データベース・サーバー上の使用可能なディスク領域はすべて管理ドメインに割り当てられ、その領域のほとんどがユーザー・ドメイン・ストレージ用の/EXAVMIMAGESに割り当てられます。/EXAVMIMAGESファイル・システムが/dev/sda3に作成されます。

次の例では、dm01db01管理ドメインの名前で、dm01db01vm01ユーザー・ドメインです。

  1. -checkオプションを使用して、reclaimdisks.shが実行されたことを確認します。

    最後の行が"Layout: DOM0"になっています。reclaimdisks.shが実行されていない場合は、"Layout: DOM0 + Linux"のように表示されます。

    [root@dm01db01 ~]# /opt/oracle.SupportTools/reclaimdisks.sh -check
    Model is ORACLE SERVER X5-2
    Number of LSI controllers: 1
    Physical disks found: 4 (252:0 252:1 252:2 252:3)
    Logical drives found: 1
    Linux logical drive: 0
    RAID Level for the Linux logical drive: 5
    Physical disks in the Linux logical drive: 4 (252:0 252:1 252:2 252:3)
    Dedicated Hot Spares for the Linux logical drive: 0
    Global Hot Spares: 0
    Valid. Disks configuration: RAID5 from 4 disks with no global and dedicated hot spare disks.
    Valid. Booted: DOM0. Layout: DOM0.
    
  2. ディスク拡張キットをデータベース・サーバーに追加します。
    キットには4台のハード・ドライブが含まれており、これを空いている4つのスロットに挿入します。フィラー・パネルを取り外し、ドライブを挿入します。ドライブは順不同で挿入できます。
  3. アラート履歴の警告およびクリア・メッセージを参照し、RAIDの再構築が完了したことを確認します。

    完了までに数時間かかることもあります。次の例では約7時間かかっています。クリア・メッセージ(下のメッセージ1_2)がある場合は、再構築が完了しているため、次の手順を実行できます。

    [root@dm01db01 ~]# dbmcli -e list alerthistory
    
             1_1     2016-02-15T14:01:00-08:00       warning         "A disk
     expansion kit was installed. The additional physical drives were automatically
     added to the existing RAID5 configuration, and reconstruction of the
     corresponding virtual drive was automatically started."
    
             1_2     2016-02-15T21:01:01-08:00       clear           "Virtual drive
     reconstruction due to disk expansion was completed."
    
  4. 現在の環境に関する情報を収集します。
    [root@dm01db01 ~]# cat /proc/partitions |grep sda
       8        0 4094720000 sda
       8        1     524288 sda1
       8        2  119541760 sda2
       8        3 1634813903 sda3
    
    [root@dm01db01 ~]# df -h /EXAVMIMAGES
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/sda3             1.6T   44G  1.5T   3% /EXAVMIMAGES
    
    [root@dm01db01 ~]# xm list
    Name                                        ID   Mem VCPUs      State   Time(s)
    Domain-0                                     0  8192     4     r-----  94039.1
    dm01db01vm01.example.com                   4 16384     2     -b----   3597.3
    
  5. 管理ドメインからコマンドxm shutdown –a –wを実行し、すべてのユーザー・ドメイン・ゲストを停止します。

    すべてのユーザー・ドメイン・ゲストが停止すると、リストにDomain-0 (dom0)のみが表示されます。

    [root@dm01db01 ~]# xm shutdown –a -w
    Domain dm01db01vm01.example.com terminated 
    All domains terminated
    
    [root@dm01db01 ~]# xm list
    Name                                        ID   Mem VCPUs      State   Time(s)
    Domain-0                                     0  8192     4     r-----  94073.4
    
  6. partedを実行し、パーティション・サイズを確認します。

    GPTを修復するリクエストが表示された場合は、Fで応答します。

    root@dm01db01 ~]# parted /dev/sda 
    GNU Parted 2.1Using /dev/sda
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) print
    Warning: Not all of the space available to /dev/sda appears to be used, you can
    fix the GPT to use all of the space (an extra 4679680000 blocks) or continue
    with the current setting? Fix/Ignore? F  
    
    Model: LSI MR9361-8i (scsi)
    Disk /dev/sda: 4193GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    
    Number  Start   End     Size    File system  Name     Flags
     1      32.8kB  537MB   537MB   ext3         primary  boot 
     2      537MB   123GB   122GB                primary  lvm  
     3      123GB   1797GB  1674GB               primary       
    
    (parted) q
    前述のパーティション表に1674GBのパーティション3が表示されています。このパーティションが含まれるディスク(/dev/sda)のサイズは4193 GBです。
  7. partedを実行して、セクターの開始値および終了値を表示します。
    root@dm01db01 ~]# parted -s /dev/sda unit s print
    Model: LSI MR9361-8i (scsi) 
    Disk /dev/sda: 8189440000s 
    Sector size (logical/physical): 512B/512B 
    Partition Table: gpt 
    
    Number  Start       End          Size         File system  Name     Flags 
    1       64s         1048639s     1048576s     ext3         primary  boot 
    2       1048640s    240132159s   239083520s                primary  lvm 
    3       240132160s  3509759965s  3269627806s               primary
    
    前述のパーティション表に、パーティション3がセクター240132160で開始し、ディスク・サイズが8189440000と表示されています。これらの値は手順10で使用します。
  8. 管理ドメイン/EXAVMIMAGESファイル・システムをディスマウントします。
    [root@dm01db01 ~]# umount /EXAVMIMAGES
  9. パーティション3を削除します。
    [root@dm01db01 ~]# parted -s /dev/sda rm 3
    

    このコマンドは出力を生成しません。

  10. 同じ開始セクターおよびパーティション・セクターの新しい終わりを指定して、パーティションを再作成します。パーティション・セクターの新しい終わりは、ディスク・サイズから34減算して計算します(例: 8189440000 - 34 = 8189439966)。
    [root@dm01db01 ~]# parted -s /dev/sda mkpart primary 240132160s 8189439966s 
    

    次の警告が表示される場合があります。

    Warning: WARNING: the kernel failed to re-read the partition table on /dev/sda 
    (Device or resource busy).  As a result, it may not reflect all of your changes until after 
    reboot.

    このエラーが発生した場合は、Exadataデータベース・サーバーを再起動してパーティション表に変更を適用します。

  11. /EXAVMIMAGESパーティションを再度マウントし、このパーティションのファイル・システム・ディスク領域使用率を表示します。
    [root@dm01db01 ~]# mount /EXAVMIMAGES
    
    [root@dm01db01 ~]# df -h /EXAVMIMAGES
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/sda3             1.6T   44G  1.5T   3% /EXAVMIMAGES
    

    ファイル・システムのサイズは、手順4の時点と同じで1.6TBです。

  12. カーネルで確認されるパーティション表に、パーティション3の更新後のサイズが表示されることを確認します。

    sda3の出力が、手順4で確認した出力よりも大きくなっていることを確認します。

    [root@dm01db01 ~]# cat /proc/partitions |grep sda
       8        0 4094720000 sda
       8        1     524288 sda1
       8        2  119541760 sda2
       8        3 3974653903 sda3
    
  13. ファイル・システムを拡張します。

    ファイル・システムがマウント済で処理の実行中でも、この操作は実行できます。更新後のファイル・システムのサイズを、手順4の値と比較して確認します。tunefs.ocfs2コマンドは実行速度が速く、通常は出力が生成されません。

    [root@dm01db01 ~]# tunefs.ocfs2 -S /dev/sda3
    
    [root@dm01db01 ~]# df -h /EXAVMIMAGES
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/sda3             3.8T   44G  3.7T   2% /EXAVMIMAGES
    
  14. ユーザー・ドメインを再起動します。

5.15 Oracle VM Oracle RACクラスタの作成

この手順では、Oracle Exadata Deployment Assistant構成ツールおよびデプロイメント・ツールを使用して、Oracle VM Oracle RACクラスタを作成します。

Oracle VM Oracle RACクラスタを追加する要件は、次のとおりです。

  • システムが、1つ以上のOracle VM Oracle RACクラスタにデプロイ済である。

  • メモリー、CPU、ローカル・ディスク領域およびOracle Exadata Storage Serverディスク領域などのリソースが、システムで使用可能である。

  • 最初のシステム構成で使用したOracle Exadata Deployment Assistantデプロイメント・ファイルが、使用可能である。

  1. 新しいユーザー・ドメインを管理ドメインに追加するのに十分なリソースが存在していることを確認します。

    Oracle VM Oracle RACクラスタを作成している場合は、新しいユーザー・ドメインを作成するすべての管理ドメインのリソースを確認します。

  2. 次のコマンドを使用して、Oracle Exadata Storage Serverのディスク領域を確認します。
    # dcli -l celladmin -g cell_group "cellcli -e 'list celldisk attributes name, \
     diskType, freeSpace where freeSpace>0'"
    
  3. デフォルトで、Oracle Exadata Database Machineのデータベース・サーバーにはOracle Databaseの実行に必要なパッケージのみが含まれ、データベース・サーバーではOracle Exadata Deployment Assistant構成ツールの実行はできません。
  4. My Oracle Supportノート888828.1から、最新のOracle Exadata Deployment Assistantをダウンロードし、グラフィック・ベースのプログラムが実行可能なシステム上に置きます。

    デフォルトで、Oracle Exadata Database Machineのデータベース・サーバーにはOracle Databaseの実行に必要なパッケージのみが含まれ、データベース・サーバーではOracle Exadata Deployment Assistant構成ツールの実行はできません。

  5. Oracle Exadata Deployment Assistantテンプレート・ファイルを取得して、システムをデプロイする際に使用します。
  6. 次のようにして、Oracle Exadata Deployment Assistantを実行します。
    1. 「インポート」をクリックします。
    2. XMLファイルを選択して開き、このファイルを使用して名前CustomerName-NamePrefix.xmlでシステムにデプロイします。
    3. 「次へ」をクリックして「クラスタ定義」ページを開き、IPアドレスおよびホスト名情報をページを移動しながら確認します。初回のデプロイの後、ネットワークに変更がない場合、変更する必要はありません。
    4. 「クラスタ定義」ページで、クラスタ数をインクリメントして並び替えます。
    5. 新しいクラスタ・タブを選択し、クラスタ情報を編集します。それ以外のクラスタは変更しません。
    6. クラスタに一意のクラスタ名を入力します。
    7. 新しいクラスタについてOracle VM ServerとCELLコンポーネントを選択し、「追加」をクリックします。

      注意:

      最良のパフォーマンスおよび管理の簡略化のために、すべてのセルを選択することをお勧めします。

    8. 必要に応じて「次へ」をクリックし、新しいクラスタのページへ進みます。それ以外のクラスタは変更しません。
    9. 新しいクラスタに情報を入力します。情報には、仮想ゲスト・サイズ、ディスク・グループ詳細およびデータベース名が含まれます。データベース名は、同一のOracle Exadata Storage Serverを使用するすべてのデータベースに対して一意の名前です。
    10. 「次へ」をクリックして「確認と編集」ページを表示し、新しいクラスタの情報を確認します。
    11. 必要に応じて「次へ」をクリックし、「生成」ページへ進みます。
    12. 「次へ」をクリックして、新規構成ファイルを生成します。
    13. 構成ファイルの保存先ディレクトリを選択します。
    14. 「保存」をクリックします。

      注意:

      Oracle VMのデフォルトをこのクラスタで変更した場合、既存クラスタの構成の詳細が、新しいテンプレート設定に一致するように書き換えられます。たとえば、vm01のSMALLをmemory=8GBにデプロイしていた場合、新しいVMのSMALLのテンプレートをmemory=10GBに変更します。vm01を変更していないにもかかわらず、Oracle Exadata Deployment Assistant XMLファイルには、vm01memory=10GBと表示されます。

    15. 「終了」ページの「インストール・テンプレート」をクリックして、新しいクラスタの詳細を確認します。
    16. 「終了」をクリックして構成ツールを終了します。
  7. 新しいクラスタがCustomerName-NamePrefix-ClusterName.xmlという名前で、保存場所フォルダに存在することをXMLファイルで確認します。
  8. Oracle Grid Infrastructureおよび使用中のOracle Databaseリリースのデプロイメント・ファイルを取得し、それらをOracle Exadata Deployment Assistant WorkDirディレクトリに保存します。
  9. Oracle Exadata Deployment Assistantデプロイメント・ツールを実行して、-cfオプションで新しいクラスタにXMLファイルを指定し、-lオプションで手順の一覧を表示するには、次のコマンドを実行します。
    $ ./install.sh -cf    \
    ExadataConfigurations/CustomerName-NamePrefix-ClusterName.xml -l
    

    次のような出力が表示されます。

    Initializing 
    ||||| 
    1. Validate Configuration File 
    2. Update Nodes for Eighth Rack 
    3. Create Virtual Machine 
    4. Create Users 
    5. Setup Cell Connectivity 
    6. Calibrate Cells 
    7. Create Cell Disks 
    8. Create Grid Disks 
    9. Configure Alerting 
    10. Install Cluster Software 
    11. Initialize Cluster Software 
    12. Install Database Software 
    13. Relink Database with RDS 
    14. Create ASM Diskgroups 
    15. Create Databases 
    16. Apply Security Fixes 
    17. Install Exachk 
    18. Create Installation Summary 
    19. Resecure Machine
  10. Exadata上の既存のOracle VM環境で新しいOracle VMクラスタを追加する場合は、次の手順をスキップします。
    • (エイス・ラック・システムの場合のみ) 2. Update Nodes for Eighth Rack

    • 6. Calibrate Cells

    • 7. Create Cell Disks

    • 19. Resecure Machine

    注意:

    手順番号は、選択したハードウェア構成に基づいて変化します。ご使用のシステムでの正しい手順を識別するには、手順名を使用します。

    たとえば、手順1を実行するには、次のコマンドを実行します。

    $ ./install.sh -cf \
    ExadataConfigurations/CustomerName-NamePrefix-ClusterName.xml -s 1
    OEDAで手順の一部のみを実行する場合は、たとえば次のように範囲を指定できます。
    $ ./install.sh -cf \
    ExadataConfigurations/CustomerName-NamePrefix-ClusterName.xml –r 3–5
  11. 他のすべてのシステムでは、新しいクラスタについてXMLファイルを使用して、アラートの構成を除くすべての手順を実行します。

    個別の手順を実行するには、次のようなコマンドを使用します(これは最初の手順を実行します)。

    $ ./install.sh -cf \
    ExadataConfigurations/CustomerName-NamePrefix-ClusterName.xml -s 1

5.16 ExadataでのOracle VM Oracle RACクラスタの拡張

Oracle Exadata Deployment Assistant (OEDA)を使用しゲスト・ドメインを追加して、Oracle VM上の既存のOracle RACクラスタを拡張できます。

注意:

この手順の実行中、既存のOracle RACクラスタ・ノードとそのデータベース・インスタンスでは、停止時間は発生しません。

この手順のユースケースは次のとおりです。

  • Exadataラックのデータベース・サーバーのサブセットのみを使用する既存のOracle RACクラスタがあり、現在クラスタによって使用されていないノードが使用候補になった場合。
  • 新しいOracle VM Serverノードまたは個別のExadataラックと最近相互ラック接続された既存のOracle RACクラスタがExadata上にある場合。
  1. OEDAを使用して、新しいゲスト・ドメインをホストするdom0に追加する、新しいゲスト・ドメイン(仮想マシン)の情報を含む新しいXMLファイルを作成します。

    生成されたXMLファイルをunzipped_OEDA_location/ExadataConfigurationsに保存します。

    単一のゲスト・ドメインを追加している場合、XMLファイルは単一ノードOracle RACクラスタを表します。

    クラスタ定義画面の下のすべての画面のデータは、既存のクラスタのXMLファイルと同じです。

    1. クラスタの定義画面で適切なOracle VM Serverを選択します。次の図は、クラスタへの単一ノードの追加を示しています。

      図5-1 OEDAのクラスタ定義ページ

      図5-1の説明が続きます
      「図5-1 OEDAのクラスタ定義ページ」の説明
    2. IPアドレスやプール・サイズなどのクラスタの詳細をクラスタの詳細画面に入力します。次の図は、クラスタへの単一ノードの追加を示しています。

      図5-2 OEDAの「クラスタ」ページ

      図5-2の説明は図の下のリンクをクリックしてください。
      「図5-2 OEDAの「クラスタ」ページ」の説明
  2. 手順1で作成したXMLファイルを使用してOEDA (install.sh)を実行し、OEDAで次の手順を実行します。
    • 仮想マシンの作成

    • ユーザーの作成

    • セル接続の設定

    前述の手順の手順番号は、次のコマンドを使用してリストできます。

    ./install.sh -cf ./ExadataConfigurations/xml_file_generated_in_step_1 -l

    注意:

    手順番号は、選択したハードウェア構成に基づいて変化するため、前述のコマンドを使用して注意して調べてください。

    OEDAで手順の一部のみを実行する場合は、–r 2–4のように、範囲を指定できます

    cd unzipped_OEDA_location
    ./install.sh -cf ./ExadataConfigurations/xml_file_generated_in_step_1 -r range_of_step_numbers_for_the_above_steps
  3. クラスタに追加するゲスト・ドメインをクリーン・アップし、後でaddnode.shによって使用されるように準備します。
    1. 新しく作成されたゲスト・ドメインにrootとしてログインし、次を実行します。
      # cd /
      # chown -R oracle:oinstall /u01 
      # cd /u01/app/12.1.0.2/grid  (cd to the Grid_home)
      # rm -rf *
      # cd /u01/app/oracle/product/12.1.0.2/dbhome_1  (cd to the Oracle_home)
      # rm -rf *
      
    2. oraInventory/u01/app内に存在していないことを確認します。
    3. /etc/oraInst.locが存在していないことを確認します。
  4. 新しく追加されたゲスト・ドメインからセキュア・シェル(SSH)等価のクラスタを他のすべてのノードに設定します。
    1. 新しく作成されたゲスト・ドメインを含むクラスタに属している各ゲスト・ドメインに、oracleとしてログインします。
    2. 新しく追加されたゲスト・ドメインを含むクラスタに属しているすべてのゲスト・ドメイン名が含まれている/home/oracleに、db_groupという名前のファイルを作成します。
    3. 新しく追加されたドメインを含むクラスタのすべてのゲスト・ドメインから、次のコマンドをoracleとして実行して、すべてのプロンプトに答えます。
      dcli -g db_group -l oracle -k
      
    4. クラスタのすべてのノードでSSH等価が正しく設定されていることを検証します。
  5. クラスタのすべてのノードでファイルの同期を取ります。

    クラスタのすべてのノードで同じになるように、既存のクラスタからファイルを使用して、新しく追加されたノードに次のファイルの内容をコピーまたはマージします。

    • /etc/security/limits.conf

    • /etc/hosts

      すべてのクラスタ・ノードのIPアドレスとセルのIPアドレスが含まれるように、/etc/hostsファイルを1つのノードで最初に変更してから、そのファイルをすべてのクラスタ・ノードにコピーする必要があります。

    • /etc/oracle/cell/network-config/cellip.ora

    • /etc/sysctl.conf

  6. 新しく追加されたすべてのノード(ゲスト・ドメイン)を再起動します。
  7. 新しく追加されたゲスト・ドメインの/etc/oracle/cell/network-config/cellip.oraの所有権を変更します。
    # chown oracle:oinstall /etc/oracle/cell/network-config/cellip.ora
    
  8. クラスタの既存のノードから次のコマンドを実行して、クラスタおよび新しいノードの完全性を確認します。このノードは、残りの手順でinit-nodeと呼びます。
    $ cluvfy stage -pre nodeadd -n comma_delimited_node_names [-fixup] [-verbose]
    

    –fixupおよび–verboseオプションは必要に応じて指定します。

  9. Oracle Grid Infrastructureホームを新しいノードに拡張するには、init-nodeGrid_home/addnodeディレクトリに移動して、Oracle Clusterwareをインストールしたユーザーとしてaddnode.shスクリプトを実行します。
    $ cd Grid_home/addnode
    
    $ ./addnode.sh -silent "CLUSTER_NEW_NODES={comma_delimited_node_names}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={comma_delimited_node_vips)}"
    
  10. プロンプトが表示されたら、新しく追加されたすべてのノードで、orainstRoot.shrootとして順に実行します。
    # /opt/oracle/oraInventory/orainstRoot.sh
    
  11. HAIPを無効にしてから、新しく追加されたすべてのノードで、Grid_home/root.shrootとして順に実行します。

    rootユーザーとして、HAIP_UNSUPPORTEDオペレーティング・システム・パラメータをTRUEに設定し、新しいノードでHAIPを無効にします。

    # export HAIP_UNSUPPORTED=true
    # /u01/app/12.1.0.2/grid/root.sh
  12. データベース・ホームを新しく追加されたノードに拡張します。

    init-node$ORACLE_HOME/addnodeディレクトリに移動して、Oracle RACをインストールしたユーザーとしてaddnode.shを実行します。

    $ cd $ORACLE_HOME/addnode
    
    $ ./addnode.sh -silent "CLUSTER_NEW_NODES={comma_delimited_node_names}"
    
  13. プロンプトが表示されたら、新しく追加されたノードで$ORACLE_HOME/root.shrootとして実行します。
  14. Oracle Database Configuration Assistant (DBCA)を使用して、データベース・インスタンスを新しく追加されたノードに追加します。サイレント・モードまたはグラフィカル・ユーザー・インタフェースを使用します。

    サイレント・モードを使用している場合は、次のコマンドを実行します。

    $ $ORACLE_HOME/bin/dbca -addInstance -gdbName global database name
          -nodeName node_name_for_new_instance
          -instanceName instance_name_for_new_instance
          -sysDBAUserName SYS -sysDBAPassword password -silent
    
  15. 新しく追加されたOracle ASMインスタンスとデータベース・インスタンスにcluster_interconnectsパラメータを設定します。

    新しく追加された各ノードから、そのノードの新しいOracle ASMインスタンスとデータベース・インスタンスに、次の手順を実行します。

    1. SQL*Plusを起動して、Oracle ASMインスタンスに接続します。
    2. 新しいOracle ASMインスタンスのcluster_interconnectsパラメータを設定します。
      alter system set cluster_interconnects=IP_address_of_private_interconnects scope=spfile sid=newly_added_ASM_instance;
      
    3. SQL*Plusを起動して、データベース・インスタンスに接続します。
    4. 新しいデータベース・インスタンスのcluster_interconnectsパラメータを設定します。
      alter system set cluster_interconnects=IP_address_of_private_interconnects scope=spfile sid=newly_added_DB_instance;
      
  16. 新しく追加されたノードでOracle Grid Infrastructureスタックを再起動します。

5.17 Oracle Grid InfrastructureおよびOracle Databaseの存在しないユーザー・ドメインの作成

ユーザー・ドメインは、システムにOracle Grid InfrastructureおよびOracle Databaseをインストールせずに作成することができます。新しいユーザー・ドメインの要素は、次の通りです。

  • オペレーティング・システム・イメージがOracle Linuxである。

  • 管理ネットワーク、クライアント・ネットワークおよびInfiniBandネットワークへアクセスできる。

  • Oracle Grid InfrastructureおよびOracle Databaseがインストールされていない。

Oracle Grid InfrastructureおよびOracle Databaseの存在しないユーザー・ドメインを作成する手順は、次の通りです。

  1. 未使用の新規IPアドレスおよびホスト名を新しいユーザー・ドメインに割り当てます。IPアドレスおよびホスト名は、管理ネットワーク、クライアント(SCAN)ネットワークおよびプライベートInfiniBandネットワークで必要です。

    注意:

    アドレスごとにpingコマンドを使用して、該当のInfiniBandネットワークのIPアドレスが使用されていないことを確認します。ibhostsコマンドには、ユーザー・ドメインのエントリが含まれていないため、このコマンドを使用して、すべてのInfiniBandネットワークのIPアドレスが使用されていることを確認することはできません。

  2. 必要に応じて、更新されたユーザー・ドメイン(domU)システム・イメージ・ファイルを取得します。

    ユーザー・ドメインを作成するために、この手順の後で実行するexadata.img.domu_makerコマンドには、ユーザー・ドメイン(domU)システム・イメージ・ファイルSystem.first.boot.version.img/EXAVMIMAGESに必要です(versionは、管理ドメインのExadataソフトウェアのバージョンに一致し、管理ドメインで"imageinfo -ver"コマンドを実行することで確認できます)。

    たとえば、exadata.img.domu_makerを実行して、新しいユーザー・ドメインを作成し、管理ドメインのExadataソフトウェアのバージョンが12.1.2.1.1.150316.2の場合、ユーザー・ドメイン(domU)システム・イメージ・ファイル/EXAVMIMAGES/System.first.boot.12.1.2.1.1.150316.2.imgが存在する必要があります。

    # imageinfo -ver
    12.1.2.1.1.150316.2
    
    # ls -l /EXAVMIMAGES/System.first.boot.12.1.2.1.1.150316.2.img
    -rw-r--r-- 1 root root 13958643712 Mar 23 12:25 /EXAVMIMAGES/System.first.boot.12.1.2.1.1.150316.2.img
    

    ユーザー・ドメイン(domU)システム・イメージ・ファイルが存在しない場合は、My Oracle Supportから取得し、管理ドメインの/EXAVMIMAGESに配置する必要があります。詳細は、My Oracle Supportノート888828.1を参照してください。

  3. 次のコマンドを使用して、管理ドメインで、既存のXML構成ファイルをデプロイ済ユーザー・ドメインからコピーして、新しい名前のファイルにコピーします。

    # cp /EXAVMIMAGES/conf/existingDomainName-vm.xml /EXAVMIMAGES/conf/newDomainName-vm.xml
    

    前述のコマンドで、existingDomainName-vm.xmlは、デプロイされたユーザー・ドメインのXML構成ファイルで、newDomainName-vm.xmlは新しいファイルの名前です。

    次の例では、ユーザー・ドメイン"dm01db01vm01"の構成ファイルを、nondbdomain-vm.xmlにコピーします。

    # cp /EXAVMIMAGES/conf/dm01db01vm01-vm.xml /EXAVMIMAGES/conf/nondbdomain-vm.xml
    
  4. 管理ドメインで、次のようにして、新しいXMLファイルを編集します。

    1. すべての<Hostname>タグを変更して、対応するネットワークの新しいホスト名に一致させます。

    2. すべての<IP_address>タグを変更して、対応するネットワークの新しいIPアドレスに一致させます。

    3. <virtualMachine>タグを変更して、新しいホスト名を含めます。

    4. <hostName>タグを変更して、新しいホスト名を含めます。

    5. すべてのサブ要素を含む、<disk id="disk_2">および<disk id="disk_3">要素全体を削除します。開始<disk>タグから対応する終了</disk>の間のエントリ全体を削除する必要があります。

  5. 管理ドメインで、/opt/exadata_ovm/exadata.img.domu_makerコマンドを使用して、InfiniBandネットワークGUIDを新しいユーザー・ドメインに割り当てます。

    # /opt/exadata_ovm/exadata.img.domu_maker allocate-guids \
         /EXAVMIMAGES/conf/newDomainName-vm.xml              \
         /EXAVMIMAGES/conf/final-newDomainName-vm.xml
    
  6. 管理ドメインで、/opt/exadata_ovm/exadata.img.domu_makerコマンドを使用して、新しいユーザー・ドメインを作成します。

    # /opt/exadata_ovm/exadata.img.domu_maker start-domain \
         /EXAVMIMAGES/conf/final-newDomainName-vm.xml
    

5.18 ユーザー・ドメインの別のデータベース・サーバーへの移動

ユーザー・ドメインを別のデータベース・サーバーへ移動できます。

ターゲットのOracle Exadata Database Serverが、次の要件を満たしている必要があります。

  • ターゲット・データベース・サーバーに、同一リリースのOracle Exadata System SoftwareおよびOracle VMがインストールされている。

  • ターゲット・データベース・サーバーに、同一のネットワークが表示されている。

  • ターゲット・データベース・サーバーは、同一のOracle Exadata Storage Serverにアクセスできる。

  • ターゲット・データベース・サーバーで、ユーザー・ドメインの操作に必要な十分な空きリソース(メモリー、CPUおよびローカル・ディスク領域)が使用可能である。

    • 仮想CPUをオーバーコミットすると、すべてのドメインに割り当てられた仮想CPUを、システム上の物理CPU数より多く割り当てることができます。CPUのオーバーコミットは、過剰に収容されたリソースへの競合するワークロードが十分理解され、同時に発生する要求が物理能力を超えない場合にのみ、実行する必要があります。

    • メモリーをオーバーコミットすることはできません。

    • ディスク・イメージをターゲット・データベース・サーバーにコピーすると、ディスク・イメージ・ファイルの領域の割当てが増加する場合があります。これは、コピーされたファイルは、OCFS2 reflinkを利用してディスク領域を省略できないためです。

  • ユーザー・ドメイン名は、ターゲット・データベース・サーバーで未使用の名前にする必要があります。

次の手順に従い、ユーザー・ドメインを同一のOracle Exadata System Software構成内の新しいデータベース・サーバーに移動します。すべての手順は、管理ドメインで実行してください。

  1. ユーザー・ドメイン名をシャットダウンします。
    # xm shutdown DomainName -w
    
  2. ユーザー・ドメインのディスク・イメージと構成ファイルをターゲット・データベース・サーバーにコピーします。

    次の例に示すDomainNameは、ドメインの名前に置き換えてください。

    # scp -r /EXAVMIMAGES/GuestImages/DomainName/ target:/EXAVMIMAGES/GuestImages
    
  3. ユーザー・ドメインのUUIDを取得します。
    # grep ^uuid /EXAVMIMAGES/GuestImages/DomainName/vm.cfg
    

    ユーザー・ドメイン UUIDは、49ffddce4efe43f5910d0c61c87bba58のようになります。

  4. ユーザー・ドメインのUUIDを使用して、ユーザー・ドメインのシンボリック・リンクを/OVS/Repositoriesからターゲット・データベース・サーバーにコピーします。
    # tar cpvf - /OVS/Repositories/UUID/ | ssh target_db_server "tar xpvf - -C /"
    
  5. ターゲット・データベース・サーバーで、ユーザー・ドメインを起動します。
    # xm create /EXAVMIMAGES/GuestImages/DomainName/xm.cfg
    

5.19 Oracle VMで実行するOracle RACクラスタの削除

クラスタ内で実行中のデータベースおよびこのデータベースで使用中のOracle Exadata Storage Serverで保存するすべてのデータを含む、Oracle VMクラスタのすべてのOracle RACノードを削除します。

Oracle VMクラスタの一部のユーザー・ドメインを削除する場合、次の項を参照してください。

Oracle VMクラスタを削除する手順は、主に2つあります。

  • ユーザー・ドメイン・ファイルを管理ドメインから削除する。

  • 使用していないOracle Exadataグリッド・ディスクを削除する。

注意:

Oracle Exadata Deployment Assistant xml構成ファイルを後で再び使用する場合、削除されたユーザー・ドメインの定義がOracle Exadata Deployment Assistantファイル内に残っているため、それらの構成ファイルは同期できません。

  1. 次のようなスクリプトを実行して、すべてのユーザー・ドメイン上のグリッド・ソフトウェア・オーナーを削除します。

    シェル・スクリプトの例では、2つのスクリプト、list_griddisk.shおよびdrop_griddisk.shが生成されます。これらは、後述する手順で実行します。指示があるまで、この生成されたスクリプトを実行しないでください。

    #!/bin/bash
     
    # Run this script as the Grid Infrastructure software owner.
    #
    # This script identifies griddisks used by this cluster and the cells to
    # which they belong, then creates two shell scripts - the list script to
    # show the current status, and the drop script to drop the griddisks.
    #
    # In order for the drop script to succeed, the griddisks must not be in use,
    # meaning databases and CRS are down, and the list script returns no output.
    #
    # The generated scripts are designed to run via dcli -x
     
    ORACLE_SID=$(awk -F: '/^+ASM/{print $1}' /etc/oratab)
    ORAENV_ASK=NO . oraenv >/dev/null
     
    listGriddiskScript=list_griddisk.sh
    dropGriddiskScript=drop_griddisk.sh
     
    rm -f $listGriddiskScript $dropGriddiskScript
     
    gridDiskList=$(asmcmd lsdsk --suppressheader | awk -F'/' '{print $NF}')
    if [[ ${PIPESTATUS[0]} != 0 ]]; then echo "asmcmd failed - exiting"; exit 1; fi
     
    cellList=$(echo "$gridDiskList" | awk -F_ '{print $NF}' | sort -u)
     
    for cell in $cellList; do
      myGriddisks=$(echo "$gridDiskList" | grep ${cell}$ | tr '\n' ',')
      echo "[[ \$(hostname -s) == ${cell} ]] && cellcli -e 'LIST GRIDDISK \
            ${myGriddisks%,} attributes name, asmDiskGroupName, asmModeStatus \
            where asmModeStatus != UNKNOWN'" >> $listGriddiskScript
      echo >> $listGriddiskScript
    done
     
    chmod +x $listGriddiskScript
     
    echo
    echo "Run the following command to list griddisks in use by this cluster:"
    echo
    echo "# dcli -l celladmin -c ${cellList//$'\n'/,} -x $listGriddiskScript"
    echo
     
    for cell in $cellList; do
      myGriddisks=$(echo "$gridDiskList" | grep ${cell}$ | tr '\n' ',')
      echo "[[ \$(hostname -s) == ${cell} ]] && cellcli -e 'DROP GRIDDISK \
            ${myGriddisks%,}'" >> $dropGriddiskScript
      echo >> $dropGriddiskScript
    done
     
    chmod +x $dropGriddiskScript
     
    echo
    echo "Stop CRS on all nodes in this cluster, then run the following"
    echo "command to drop all griddisks used by this cluster:"
    echo
    echo "# dcli -l celladmin -c ${cellList//$'\n'/,} -x $dropGriddiskScript"
    echo
     
    exit 
    
  2. 削除対象のすべてのユーザー・ドメイン内のデータベースおよびOracle Grid Infrastructureを停止します。
     # Grid_home/bin/crsctl stop crs -f
    
  3. 削除対象のいずれかのユーザー・ドメインから、前述の手順で生成されたlist_griddisk.shスクリプトを実行します。

    注意:

    • dcliコマンドを使用してスクリプトを実行し、celladminユーザーとして構成内のすべてのOracle Exadata Storage Serverに接続します。

    • dcliコマンドを実行する前に、データベース・サーバーのグリッド・ソフトウェア所有者とセルのcelladminユーザーの間に、パスワードなしのSSH接続を設定します。そうしないでコマンドを実行すると、パスワードの入力が常に求められます。

    このコマンドの例を次に示します。

    $ dcli -l celladmin -c dm01celadm01,dm01celadm02,dm01celadm03  \
    -x list_griddisk.sh
    

    list_griddisk.shスクリプトは、グリッド・ディスクを出力しません。list_griddisk.shスクリプトがグリッド・ディスクを戻す場合、そのグリッド・ディスクは使用中であるとみなされます。

    list_griddisk.shスクリプトが空の出力を戻し、使用中のグリッド・ディスクがないことを確認してから、次の手順に進みます。Oracle Grid Infrastructureおよびデータベースが、削除するすべてのユーザー・ドメインで停止していることを確認してください。

  4. 削除対象のいずれかのユーザー・ドメインから、前述の手順で生成されたdrop_griddisk.shスクリプトを実行します。

    dcliコマンドを使用してスクリプトを実行し、celladminユーザーとして構成内のすべてのOracle Exadata Storage Serverに接続します。

    $ dcli -l celladmin -c dm01celadm01,dm01celadm02,dm01celadm03 \
    -x drop_griddisk.sh
    
  5. 削除対象の各ユーザー・ドメインの管理ドメインからexadata.img.domu_makerコマンドを実行します。

    このコマンドでユーザー・ドメインが削除されます。DomainNameがユーザー・ドメインの名前です。

    # /opt/exadata_ovm/exadata.img.domu_maker remove-domain DomainName
    

    次の例では、コマンドを実行して、2ノードOracle VM RACクラスタの2つのユーザー・ドメインを削除します。1つは、管理ドメインdm01db01上のユーザー・ドメインdm01db01vm04で、もう1つは、管理ドメインdm01db02上のユーザー・ドメインdm01db02vm04です。

    [root@dm01db01 ~] # /opt/exadata_ovm/exadata.img.domu_maker \
    remove-domain dm01db01vm04
    [INFO] Start with command line: /opt/exadata_ovm/exadata.img.domu_maker \
     remove-domain dm01db01vm04
    [INFO] Shutting down DomU dm01db01vm04
    [INFO] Autostart link for dm01db01vm04 deleted from /etc/xen/auto
    [INFO] Deleted OVM repository /OVS/Repositories/7bfd49d6bd5a4b2db2e46e8234788067 for DomU dm01db01vm04
    [INFO] Deleted guest vm /EXAVMIMAGES/GuestImages/dm01db01vm04 for \
    DomU dm01db01vm04
     
    [root@dm01db02 ~]# /opt/exadata_ovm/exadata.img.domu_maker \
    remove-domain dm01db02vm04
    [INFO] Start with command line: /opt/exadata_ovm/exadata.img.domu_maker \
    remove-domain dm01db02vm04
    [INFO] Shutting down DomU dm01db02vm04
    [INFO] Autostart link for dm01db02vm04 deleted from /etc/xen/auto
    [INFO] Deleted OVM repository /OVS/Repositories/1d29719ff26a4a17aca99b2f89fd8032 for DomU dm01db02vm04
    [INFO] Deleted guest vm /EXAVMIMAGES/GuestImages/dm01db02vm04  \
    for DomU dm01db02vm04
    

5.20 Oracle VM Oracle RACクラスタからのユーザー・ドメインの削除

Oracle VMクラスタから1つのOracle RACノードを削除できます。

Oracle Exadataグリッド・ディスクは、クラスタ内に残っているノードで使用中のため、削除しないでください。

注意:

Oracle Exadata Deployment Assistant xml構成ファイルを後で再び使用する場合、削除されたユーザー・ドメインの定義がOracle Exadata Deployment Assistantファイル内に残っているため、それらの構成ファイルは同期できません。

  1. クラスタ・ノードを削除します。
  2. 次のコマンドを使用して、ユーザー・ドメインをシャットダウンし、削除します。DomainNameがドメインの名前です。
    # /opt/exadata_ovm/exadata.img.domu_maker remove-domain DomainName
    

    このコマンドは、ユーザー・ドメイン・ファイルを管理ドメインから削除します。

5.21 タグVLANインタフェースの実装

このトピックでは、Exadata上のOracle VM環境でのタグVLANインタフェースの実装について説明します。

Oracle Exadata Database Machine上のOracle VMゲストで稼働しているOracleデータベースは、Oracle Exadata Deployment Assistant (OEDA)構成ツールで定義されたクライアントEthernetネットワークを介してアクセスされます。管理ドメイン(dom0)およびユーザー・ドメイン(domU's)の両方で、クライアント・ネットワーク構成は、初回のデプロイメント中にOEDAインストール・ツールが最初のユーザー・ドメインを作成すると、自動的に実行されます。

次の図に、デフォルトの結合クライアント・ネットワーク構成を示します。

図5-3 Oracle Virtual EnvironmentのNICレイアウト

図5-3の説明が続きます
「図5-3 Oracle Virtual EnvironmentのNICレイアウト」の説明

ネットワークは、次のように構成されます:

  1. dom0では、OEDAで定義されて、domUクライアントへのアクセスが許可されているethスレーブ・インタフェース(たとえば、eth1とeth2またはeth4とeth5)が、検出、構成されて、起動しますが、IPは割り当てられません。

  2. dom0では、bondeth0マスター・インタフェースが構成され、起動しますが、IPは割り当てられません。

  3. dom0では、ブリッジ・インタフェースvmbondeth0が構成されますが、IPは割り当てられません。

  4. dom0では、特定のdomU's bondeth0インタフェースにマッピングされる仮想バックエンド・インタフェース(vif)がdomUごとに1つずつ構成され、起動しますが、IPは割り当てられません。これらのvifsは、ブリッジ・インタフェースvmbondeth0の上に構成されます。dom0 vifインタフェースと、これに対応するユーザー・ドメイン・インタフェース、bondeth0の間のマッピングは、/EXAVMIMAGES/GuestImages/user domain nameにあるvm.cfgと呼ばれるユーザー・ドメイン構成ファイルで定義されます。

デフォルトのインストールでは、単一のbondeth0と対応するvmbondeth0ブリッジ・インタフェースは、前述で説明するようにdom0内で構成されます。このbondeth0インタフェースは、デフォルトのAccess Virtual Local Area Network (Access VLAN)に基づいています。Access VLANに対して、bondeth0を構築するスレーブ・インタフェースで使用されるスイッチ上のポートが構成されます。

VLANタグ付けの使用

Exadataの仮想デプロイメントで、ユーザー・ドメインをまたいでネットワーク分離を有効にするなど、クライアント・ネットワーク上の他のVLANにアクセスする必要がある場合、802.1QベースのVLANタグ付けにより解決できます。次の図に、VLANタグ付けをしたクライアント・ネットワーク構成を示します。

図5-4 VLANタグ付けをしたOracle Virtual EnvironmentのNICレイアウト

図5-4の説明が続きます
「図5-4 VLANタグ付けをしたOracle Virtual EnvironmentのNICレイアウト」の説明

このようなクライアント・ネットワーク上の追加のタグ付けされたVLANインタフェースの構成方法および使用方法の手順は、My Oracle Supportノート2018550.1を参照してください。これらの手順の実行の前後に、Access VLANが継続して稼働および構成されている必要があります。Access VLANが無効にされることはありません。

5.22 Oracle Exadata Database MachineでのOracle VM Oracle RACクラスタ間のInfiniBandパーティションの実装

セキュリティの見地から、結合システムの重要な要件の1つは、結合システム内の複数の環境間のネットワーク分離です。Oracle Exadata上でOracle VM Oracle Real Application Clusters (Oracle RAC)クラスタを使用した結合では、これは、1つのOracle RACクラスタのネットワーク・トラフィックが別のOracle RACクラスタにアクセスできないようするなどの、異なるOracle RACクラスタ同士の分離を意味します。Ethernetネットワークでは、これは、My Oracle Support DocID 2018550.1で説明するように、VLANタグ付けを使用して完成します。InfiniBandネットワークでは、これは、カスタムInfiniBandパーティション、専用パーティション鍵およびパーティション化表を使用して完成します。

InfiniBandパーティションは、相互の通信を許可されるInfiniBandノードまたはメンバーのグループを定義します。InfiniBandパーティションでは、一意のパーティション鍵で識別されるパーティションが作成され、マスター・サブネット・マネージャで管理されます。メンバーは、これらのカスタム・パーティションに割り当てられます。パーティション内のメンバーは、メンバー自身同士でのみ通信できます(My Oracle Support DocID 2018550.1の付録1で説明されているように、メンバーシップにより異なります)。1つのパーティションのメンバーは、別のパーティションのメンバーとは、メンバーシップにかかわらず、通信できません。これらのラインを継続して、特定の1つのクラスタのOracle VM Oracle RACノードが、クラスタウェア通信用の1つの専用パーティションと、ストレージ・セルとの通信用の1つのパーティションに割り当てられます。このようにして、1つのOracle RACクラスタのノードは、異なるパーティションに属する別のOracle RACクラスタのノードと通信できません。それぞれのOracle RACクラスタのノードには、それらに割り当てられた異なるパーティション鍵があります。

デフォルトで、InfiniBandサブネット・マネージャは、パーティション鍵0x7FFF (制限されたメンバーシップ)または0xFFFF (完全なメンバーシップ)により識別される単一パーティションを提供します。カスタムのInfiniBandパーティションを使用していないOracle Exadata Database Machine上のOracle VMデプロイメントでは、すべてのユーザー・ドメイン間で、パーティション鍵0xFFFFが使用されます。

図5-5 クラスタ間でInfiniBandネットワーク分離がないOracle VM Oracle RACクラスタ

図5-5の説明が続きます
「図5-5 クラスタ間でInfiniBandネットワーク分離がないOracle VM Oracle RACクラスタ」の説明

Oracle VM Oracle RACクラスタ間の分離の実装のかわりのデフォルトではないカスタム・パーティションを使用すると、構成は、図5-6に示すように変更されます。新しいインタフェースclib0clib1 (クラスタpkey用)およびstib0stib1 (ストレージpkey用)が、それぞれのユーザー・ドメイン(domU's)に存在します。

管理ドメイン(dom0)では、InfiniBandインタフェースの変更はありません。

図5-6 InfiniBandパーティションを使用してクラスタ間でInfiniBandネットワーク分離があるOracle VM Oracle RACクラスタ

図5-6の説明が続きます
「図5-6 InfiniBandパーティションを使用してクラスタ間でInfiniBandネットワーク分離があるOracle VM Oracle RACクラスタ」の説明

5.22.1 OVM RACクラスタ間のInfiniBandパーティションの実装: 要件

InfiniBandパーティションの構成前に、次のことを確認します。

  • ExadataシステムでOVMを構成しました。

  • すべてのユーザー・ドメインとストレージ・セルで、デフォルトのパーティション鍵0xFFFFを使用しています。

  • rootユーザー用に、いずれかの管理ドメイン(dom0ノード)からすべてのOVM RACクラスタ・ノード、ストレージ・セルおよびInfiniBandスイッチへの、パスワードなしのセキュア・シェル(SSH)・アクセスを設定しました。

  • InfiniBandスイッチがファームウェア・バージョン2.0.4以上で設置されています。

  • InfiniBandパーティションについて理解しています。

5.22.2 Oracle VM RACクラスタ間のInfiniBandパーティションの実装: 手順

InfiniBandパーティションを実装するには、次の大まかな手順を実行します。

  1. InfiniBandスイッチで、クラスタウェアで使用されるそれぞれのOracle VM RACクラスタに対して、専用パーティション(クラスタpkey)を作成します。

  2. InfiniBandスイッチで、Oracle RACクラスタ・ノードとストレージ・セルとの通信のために、すべてのOracle VM RACクラスタおよびストレージ・セルで使用される1つのパーティション(ストレージpkey)を作成します。

  3. パーティションごとに、新しいIPoIBネットワーク・インタフェースが必要です。Oracle VM RACノードとストレージ・セルで、新しいIPoIBインタフェースのすべての関連するネットワーク構成ファイルを生成します(前の図のclib0、clib1、stib0、stib1)。

  4. 新しく作成したIPoIBインタフェースを使用するようにOracle VM RACクラスタ・ノードとすべてのOracle VM RACクラスタのGrid Infrastructure構成を変更します。

  5. 管理ドメイン(dom0)で、各ユーザー・ドメインのユーザー・ドメイン構成ファイルを、そのユーザー・ドメインに該当するパーティション鍵を使用するように変更します。

  6. 新しく作成したIPoIBインタフェースを使用するようにストレージ・セルを変更します。

  7. ストレージ・セルとOracle RACクラスタを再起動して、Grid Infrastructureとデータベースが機能することを確認します。この一連の手順では、Oracle RACクラスタで多少のダウンタイムが発生します。この手順のときにダウンタイムが発生します。

この項では、各手順について詳しく説明します。

  1. pkeyインタフェースによって使用されるIPアドレスを割り当てます。

    クラスタにInfiniBandパーティションが実装されたときに、クラスタpkeyインタフェースおよびストレージpkeyインタフェースで使用される各Oracle VM RACクラスタのIPアドレスとネットマスクのセットを計画して割り当てます。

    Oracle VM RACクラスタ内では、クラスタpkey IPアドレスおよびネットマスクは、ストレージpkey IPアドレスおよびネットマスクとは別のサブネット上に存在する必要があります。

    参考として、次の表に、ある特定のRACクラスタのものを示します。

    表5-1 既存の構成

    インタフェース名 IPアドレス ネットマスク

    ib0

    192.168.12.153

    255.255.248.0

    ib1

    192.168.12.154

    255.255.248.0

    次の表に、この1つのOracle RACクラスタに対してこのドキュメントの手順を実行したときにpkeyインタフェースによって要求される新しいIPアドレスとネットマスクを示します。

    表5-2 pkeyインタフェースによって要求される新しいIPアドレスとネットマスク

    インタフェース名 IPアドレス ネットマスク

    clib0

    192.168.112.1

    255.255.248.0

    clib1

    192.168.112.2

    255.255.248.0

    stib0

    192.168.114.1

    255.255.240.0

    stib1

    192.168.114.2

    255.255.240.0

  2. InfiniBandスイッチでパーティション鍵を作成して構成します。

    1. rootユーザー用に、いずれかのdom0ノードからInfiniBandファブリックのすべてのスイッチへのパスワードなしのSSH等価を有効化します。これは、この手順のすべてのスクリプトを実行するために使用するノードです。この手順では、このノードをドライバdom0と呼びます。

      これを行うには、スクリプトを実行するために使用されるdom0ノードから、次のdcliコマンドを実行します。

      # dcli –g ib_switch_list -l root –k

      ib_switch_listは、ファブリックのすべてのInfiniBandスイッチが1つずつ個々の行に記載されたリストが含まれるファイルを示します。

    2. ExadataでのOVM RACクラスタ間のInfiniBandパーティションの実装(My Oracle SupportのドキュメントID 2075398.1)に従って、create_pkeys.tarをドライバdom0ノードにダウンロードして解凍します。tarファイルを解凍すると、3つのファイルが表示されます。

      • create_pkeys_on_switch.sh

      • run_create_pkeys.sh

      • create_pkey_files.sh

    3. ドライバdom0からスクリプトcreate_pkeys_on_switch.shを実行して、InfiniBandスイッチでパーティション鍵を作成して構成します。

      注意:

      create_pkeys_on_switch.shを1回実行すると、1つのパーティションが作成されます。作成するパーティションごとにスクリプトを1回実行する必要があります。たとえば、2つのOracle VM RACクラスタを含む環境に、1つのストレージ・パーティションと2つのクラスタ・パーティション(Oracle RACクラスタごとに1つ)の合計3つのパーティションを作成するとします。この例では、create_pkeys_on_switch.shを3回実行する必要があります。

      このスクリプトは、1つのみのノード(ドライバdom0)から実行する必要があります。これにより、スクリプトの実行中に入力として指定されたすべてのスイッチにパーティションが作成されます。

      スクリプトの完了後に、すべてのスイッチでパーティションが作成されたことを確認します。

      # /usr/local/sbin/smpartition list active no-page

      この段階で、すべての必要なパーティションを作成したことを確認します。

  3. パーティション鍵を使用するために、Oracle VM RACクラスタ・ノードを構成します。

    注意:

    この手順では、Oracle VM RACクラスタ・ノードに次の変更を加えます。

    • 次のファイルを変更します。

      • /etc/sysconfig/network-scripts/ifcfg-ib0

      • /etc/sysconfig/network-scripts/ifcfg-ib1

    • 次のファイルを削除します。

      • /etc/sysconfig/network-scripts/rule-ib0

      • /etc/sysconfig/network-scripts/rule-ib1

      • /etc/sysconfig/network-scripts/route-ib0

      • /etc/sysconfig/network-scripts/route-ib1

    • 前述のファイルを変更または削除する前に、スクリプトでこれらを/etc/sysconfig/network-scripts/backup-for-pkeysディレクトリにバックアップします。この手順が失敗した場合は、この手順を再実行する前に、/etc/sysconfig/network-scripts/backup-for-pkeysから/etc/sysconfig/network-scriptsにすべてのファイルをリストアします。

    • /etc/sysconfig/network-scriptsに次の新しいファイルを作成します。

      • ifcfg-clib0

      • ifcfg-clib1

      • rule-clib0

      • rule-clib1

      • route-clib0

      • route-clib1

      • ifcfg-stib0

      • ifcfg-stib1

      • rule-stib0

      • rule-stib1

      • route-stib0

      • route-stib1

    この手順が失敗し、前述のファイルが作成された場合は、この手順を再実行する前にこれらのファイルを削除する必要があります。

    1. 手順1で使用したドライバdom0ノードからの、パーティション鍵に対して構成する必要があるすべてのOracle RACクラスタ・ノードおよびストレージ・セルへのパスワードなしのSSHが設定されていることを確認します。

    2. run_create_pkeys.shおよびcreate_pkey_files.shが実行可能で、これらがドライバdom0ノードの同じディレクトリに存在することを確認します。

    3. run_create_pkeys.shを実行します。このスクリプトの構文は次のとおりです。

      run_create_pkeys.sh <node_name> <interface_name> <pkey_id> <node_type> <pkey_ipaddr> <pkey_netmask> <pkey_interfaceType>

      <node_name>にノード名を指定します。

      <interface_name>はib0またはib1のいずれかです。

      <pkey_id>に、0xの接頭辞を除いたpkeyを指定します。

      <node_type>はcomputeまたはcellのいずれかです。

      <pkey_ipaddr>にIPアドレスを指定します。

      <pkey_netmask>に、/21などのCIDR形式のネットマスクを指定します。

      <pkey_interfaceType>は、computeノード・タイプの場合はclusterまたはstorage、cellノード・タイプの場合はstorageです。

      注意:

      クラスタpkeyインタフェースのpkey_ipaddrおよびpkey_netmaskは、ストレージpkeyインタフェースのpkey_ipaddrおよびpkey_netmaskとは異なるサブネット上に存在する必要があります。

      クラスタ・ノードの場合は、computeのノード・タイプ値を使用して、それぞれのクラスタ・ノードに対して合計4回スクリプトを実行する必要があります。

      <pkey_id>は、手順2で入力したクラスタのpkey_idの値から導出されたクラスタのパーティション鍵です。

      次のコマンドを使用すると、手順2で入力したpkey_idの値から、前述のコマンドに入力するパーティション鍵の値を導出できます。

      FinalHexValue=$(echo "obase=16;ibase=2;$(expr 1000000000000000 + $(echo "obase=2;ibase=16;$(echo $HexValue|tr [:lower:] [:upper:])"|bc))"|bc|tr [:upper:] [:lower:])

      FinalHexValueはここでコマンドに入力される値で、HexValueは手順2で入力したpkey_idの値です。

      次の表で、4回の実行について説明します。

      表5-3 クラスタ・ノードに対する4回の実行

      実行 インタフェース名 pkey_id node_type pkey_ipaddress pkey_netmask pkey_interfaceType

      1

      ib0

      クラスタpkey ID

      compute

      ib0のクラスタpkey IPアドレス

      ib0のクラスタpkeyネットマスク

      cluster

      2

      ib1

      クラスタpkey ID

      compute

      ib1のクラスタpkey IPアドレス

      ib1のクラスタpkeyネットマスク

      cluster

      3

      ib0

      ストレージpkey ID

      compute

      ib0のストレージpkey IPアドレス

      ib0のストレージpkeyネットマスク

      storage

      4

      ib1

      ストレージpkey ID

      compute

      ib1のストレージpkey IPアドレス

      ib1のストレージpkeyネットマスク

      storage

      次に例を示します。

      # ./run_create_pkeys.sh vm-guest-1 ib0 a000 compute 192.168.12.153 /21 cluster
      
      # ./run_create_pkeys.sh vm-guest-1 ib1 a000 compute 192.168.12.154 /21 cluster
      
      # ./run_create_pkeys.sh vm-guest-1 ib0 aa00 compute 192.168.114.15 /20 storage
      
      # ./run_create_pkeys.sh vm-guest-1 ib1 aa00 compute 192.168.114.16 /20 storage
      

      この段階で、Oracle VM RACクラスタ・ノードの新しいpkey対応ネットワーク・インタフェースに対して、次に示す、すべての必要なネットワーク・ファイルが作成されています。

      • /etc/sysconfig/network-scripts/ifcfg-clib0

      • /etc/sysconfig/network-scripts/ifcfg-clib1

      • /etc/sysconfig/network-scripts/ifcfg-stib0

      • /etc/sysconfig/network-scripts/ifcfg-stib1

      • /etc/sysconfig/network-scripts/rule-clib0

      • /etc/sysconfig/network-scripts/rule-clib1

      • /etc/sysconfig/network-scripts/rule-stib0

      • /etc/sysconfig/network-scripts/rule-stib1

      • /etc/sysconfig/network-scripts/route-clib0

      • /etc/sysconfig/network-scripts/route-clib1

      • /etc/sysconfig/network-scripts/route-stib0

      • /etc/sysconfig/network-scripts/route-stib1

      Oracle Grid Infrastructureも変更され、再起動時に新しいネットワーク・インタフェースを使用するようになりました。$GRID_HOME/bin/oifcfg getifで、cluster_interconnectに使用されるインタフェースのリストにclib0とclib1が表示されます。

  4. Oracle ASMおよびOracle RAC CLUSTER_INTERCONNECTSパラメータを変更します。

    1. SYSとしてSQL*Plusを使用してOracle RACクラスタの各Oracle ASMインスタンスにログインし、次のコマンドを実行します。

      alter system set cluster_interconnects='<cluster pkey IP address of ib0>:<cluster pkey IP address of ib1>'
        scope=spfile  sid='<name of the current ASM instance>';

      次に例を示します。

      alter system set cluster_interconnects='192.168.12.153:192.168.12.154'
        scope=spfile  sid='<name of the current ASM instance>';
    2. SQL*Plusを使用してOracle RACクラスタの各データベース・インスタンスにログインし、次のコマンドを実行します。

      alter system set cluster_interconnects='<cluster pkey IP address of ib0>:<cluster pkey IP address of ib1>'
        scope=spfile  sid='<name of the current RDBMS instance>';

      次に例を示します。

      alter system set cluster_interconnects='192.168.12.153:192.168.12.154'
        scope=spfile  sid='<name of the current RDBMS instance>';
    3. すべてのOracle RACクラスタ・ノードでCRS自動起動を停止して無効化します。

      # $GRID_HOME/bin/crsctl stop crs
      
      # $GRID_HOME/bin/crsctl disable crs

    この段階で、Oracle Grid Infrastructure、Oracle ASMインスタンスおよびOracle Databaseインスタンスが、新しく作成したネットワーク・インタフェースを使用するように変更されました。

  5. すべてのクラスタ・ノード(ユーザー・ドメイン)のcellip.oracellinit.oraを変更します。

    1. すべてのOracle RACクラスタ・ノードの/etc/oracle/cell/network-config/cellip.oraを手動で編集して、既存のIPアドレスを、手順6で設定するすべてのストレージ・セルの2つのストレージpkey IPアドレスに置き換えます。;を使用して2つのIPアドレスを区切ります。

      次に、/etc/oracle/cell/network-config/cellip.oraファイルの例を示します。

      cell="192.168.114.1;192.168.114.2"
      
      cell="192.168.114.3;192.168.114.4"
      
      cell="192.168.114.5;192.168.114.6"
      
      cell="192.168.114.7;192.168.114.8"
      
      cell="192.168.114.9;192.168.114.10"
      
      cell="192.168.114.11;192.168.114.12"
      
      cell="192.168.114.13;192.168.114.14"
      

      この手順の目的を達成するために、次の手順をお薦めします。クラスタのいずれかのデータベース・サーバー・ノード(Oracle VM RACクラスタのユーザー・ドメイン)で、次の手順を実行します。

      1. 次のコマンドを実行します。

        # cd /etc/oracle/cell/network-config
        # cp cellip.ora cellip.ora-bak
        
      2. cellip.ora-bakを変更します。

      3. rootユーザー用にすべてのクラスタ・ノードからこのクラスタ・ノードへのSSH等価が設定されていることを確認します。

      4. 次のコマンドを実行します。<cluster_nodes>は、Oracle VM RACクラスタのすべてのOracle RACクラスタ・ノードの名前が含まれるファイルで、個々の行で各ノードを示します。

        # /usr/local/bin/dcli -g <cluster_nodes> –l root "/bin/cp /etc/oracle/cell/network-config/cellip.ora /etc/oracle/cell/network-config/cellip-orig.ora"
        
        # /usr/local/bin/dcli -g <cluster_nodes> –l root –f cellip.ora-bak –d /etc/oracle/cell/network-config/cellip.ora
        
    2. /etc/oracle/cell/network-config/cellinit.ora/etc/oracle/cell/network-config/cellinit.ora-bakにバックアップします。

    3. /etc/oracle/cell/network-config/cellinit.oraを手動で編集して、既存のIPアドレスおよびネットマスクを、手順3で使用したクラスタ・ノードの2つのストレージpkey IPアドレスおよびネットマスクに置き換えます。このIPアドレスとネットマスクは、手順3の3回目と4回目の実行で使用されています。

  6. dom0のすべての関連するvm.cfgファイルを変更します。この手順はOracle VM環境にのみ適用できます。

    すべてのdom0にログインして、手順2で作成したパーティション鍵を含めるように/EXAVMIMAGES/GuestImages/<user domain name>/vm.cfgを手動で編集します。次の例を参照してください。

    次の行を変更します。

    ib_pkeys = [{'pf':'40:00.0','port':'1','pkey':['0xffff',]},{'pf':'40:00.0','port':'2','pkey':['0xffff',]},]

    変更後:

    ib_pkeys = [{'pf':'40:00.0','port':'1','pkey':['0xa000','0xaa00',]},{'pf':'40:00.0','port':'2','pkey':['0xa000','0xaa00',]},]

    前述の例では、0xa000が手順2で入力したクラスタpkey_id値から導出されたクラスタのパーティション鍵で、0xaa00がストレージpkey_id値から導出されたストレージのパーティション鍵です。

    次のコマンドを使用すると、手順2で入力したpkey_idの値から、前述のvm.cfgに入力するパーティション鍵の値を導出できます。

    FinalHexValue=$(echo "obase=16;ibase=2;$(expr 1000000000000000 + $(echo "obase=2;ibase=16;$(echo $HexValue|tr [:lower:] [:upper:])"|bc))"|bc|tr [:upper:] [:lower:])

    FinalHexValueはvm.cfgに入力される値で、HexValueは手順2で入力したpkey_idの値です。

    注意:

    環境内に複数のOracle VM RACクラスタがある場合は、すべてのOracle VM RACクラスタに対して手順3から6を実行した後で、手順7と手順8を1回のみ実行する必要があります。

  7. パーティション鍵を使用するために、ストレージ・セルを構成します。

    1. 手順2でrun_create_pkeys.shおよびcreate_pkey_files.shを使用可能にしてあり、かつ、これらが手順2で使用した同じdom0ノードの同じディレクトリに存在することを確認します。

    2. 手順2で使用したdom0ノードからの、パーティション鍵に対して構成する必要があるすべてのストレージ・セルへのパスワードなしのSSHが設定されていることを確認します。

    3. そのdom0ノードからrun_create_pkeys.shを実行します。ストレージ・セルのこのスクリプトの構文は次のとおりです。

      run_create_pkeys.sh <node_name> <interfaceName> <pkey_id> <node_type> <pkey_ipaddr> <pkey_netmask> <pkey_interfaceType> 

      <node_name>にノード名を指定します。

      <interface_name>はib0またはib1のいずれかです。

      <pkey_id>に、0xの接頭辞を除いたpkeyを指定します。

      <node_type>はcomputeまたはcellのいずれかです。

      <pkey_ipaddr>にIPアドレスを指定します。

      <pkey_netmask>に、/21などのCIDR形式のネットマスクを指定します。

      <pkey_interfaceType>は、computeノード・タイプの場合はclusterまたはstorage、cellノード・タイプの場合はstorageです。

      注意:

      前述のコマンドの<pkey_id>は、手順2で入力したストレージのpkey_idの値から導出されたストレージのパーティション鍵です。

      次のコマンドを使用すると、手順2で入力したpkey_idの値から、前述のコマンドに入力するパーティション鍵の値を導出できます。

      FinalHexValue=$(echo "obase=16;ibase=2;$(expr 1000000000000000 + $(echo "obase=2;ibase=16;$(echo $HexValue|tr [:lower:] [:upper:])"|bc))"|bc|tr [:upper:] [:lower:])

      FinalHexValueはコマンドに入力される値で、HexValueは手順2で入力したpkey_idの値です。

      ストレージ・セルの場合は、次の表に示すように、cellのnode_typeを使用して、それぞれのストレージ・セルに対して2回スクリプトを実行する必要があります。

      表5-4 ストレージ・セルに対する2回の実行

      実行 インタフェース名 pkey_id node_type pkey_ipaddress pkey_netmask pkey_interfaceType

      1

      ib0

      ストレージpkey ID

      cell

      ib0のストレージpkey IPアドレス

      ib0のストレージpkeyネットマスク

      storage

      2

      ib1

      ストレージpkey ID

      cell

      ib1のストレージpkey IPアドレス

      ib1のストレージpkeyネットマスク

      storage

      次に例を示します。

      # ./run_create_pkeys.sh cell-1 ib0 aa00 cell 192.168.114.1 /20 storage
      
      # ./run_create_pkeys.sh cell-1 ib1 aa00 cell 192.168.114.2 /20 storage

      注意:

      スクリプトからの次のメッセージは無視できます。手順9のストレージ・セルの再起動でこれらの項目が考慮されます。

      ネットワーク構成が変更されました。次のコマンドをルートで発行して、ネットワークを再起動し、IBスタックをオープンしてください:

      service openibd restart

      service network restart

      新しいネットワーク構成を有効にするには、すべてのサービスを再起動する必要があります。MS-CELLSRV通信は、再起動されるまで行えない場合があります。

      この段階で、ストレージ・セルが、再起動時に新しいネットワーク・インタフェースを使用するように変更されました。

  8. ストレージ・セルの/opt/oracle.cellos/cell.confを変更して、ストレージ・セルを再起動します。

    1. /opt/oracle.cellos/cell.confをバックアップします。

      # cp /opt/oracle.cellos/cell.conf /opt/oracle.cellos/cell.conf-prepkey
      
    2. /opt/oracle.cellos/cell.confの次の行を変更します。

      次の行を変更します。

      <Pkeyconfigured>no</Pkeyconfigured>

      変更後:

      <Pkeyconfigured>yes</Pkeyconfigured>

      2つのプライベート・インタフェース、ib0とib1について、次の行を変更します。

      <IP_enabled>yes</IP_enabled>

      変更後:

      <IP_enabled>no</IP_enabled>
    3. すべてのOracle VM RACノードでGrid Infrastructureが停止されていることを確認します。

    4. すべてのストレージ・セル・サーバーを再起動します。

    5. ストレージ・セルが再度稼働したら、新しいpkey対応ネットワーク・インタフェースが使用中であることを確認します。

      # cellcli -e list cell detail | egrep 'interconnect|ipaddress'

      これにより、新しいpkey対応インタフェース(stib0およびstib1)が新しいIPアドレスのセットとともに表示されます。

  9. クラスタ・ノードを再起動します。

    1. 各ユーザー・ドメイン・ノードの対応するdom0にログインします。

    2. 次のコマンドを実行します。

      # xm shutdown <user domain name>
      
      # xm create /EXAVMIMAGES/GuestImages/<user domain name>/vm.cfg
  10. すべてのクラスタ・ノードで、Oracle Grid Infrastructureスタックを起動し、完全に稼働していることを確認します。

    1. すべてのOracle RACクラスタ・ノードで、Grid Infrastructureスタックを起動し、自動起動を有効化します。

      # $GRID_HOME/bin/crsctl start crs
      
      # $GRID_HOME/bin/crsctl enable crs
    2. すべてのノードでOracle Grid Infrastructureが起動したら、新しく構成したpkeyインタフェースを使用するようにcluster_interconnectsパラメータが設定されていることを確認します。

      SQL> select inst_id, value from gv$parameter where name = 'cluster_interconnects'
    3. OCRから、古いクラスタ相互接続インタフェースを削除します。

      # $GRID_HOME/bin/oifcfg delif –global ib0/<old subnet>
      
      # $GRID_HOME/bin/oifcfg delif –global ib1/<old subnet>

5.22.3 OVM RACクラスタ間のInfiniBandパーティションの実装: 制限されたメンバーシップの設定

2016年10月の12.1.0.2データベース・バンドル・パッチでセキュリティ拡張機能が導入され、2016年10月の12.1.0.2バンドル・パッチより前に使用されていた完全なメンバーシップのかわりに、制限されたメンバーシップを使用して、データベース・ノードのGUIDをストレージpkeyに割り当てることができます。これは、ストレージpkeyインタフェースを使用するとあるRACクラスタのあるRACノードが別のRACクラスタのRACノードと通信できるセキュリティ上の問題の対策になります。

完全なメンバーシップと制限されたメンバーシップ

InfiniBandパーティションは、相互の通信を許可されるInfiniBandノードのグループを定義します。InfiniBandパーティションで、マスター・サブネット・マネージャによって管理されるカスタムまたは一意のパーティション鍵を定義して、カスタムのパーティション鍵にメンバーを割り当てます。同じパーティション鍵を持つメンバーのみが相互に通信できます。1つのパーティション鍵のメンバーは、別のパーティション鍵を持つメンバーとは、メンバーシップのタイプにかかわらず、通信できません。1つのクラスタのOVM RACクラスタ・ノードには、クラスタウェア通信用の1つのパーティション鍵と、ストレージ・セルとの通信用の別のパーティション鍵が割り当てられます。このように、RACクラスタのノードは、異なるパーティション鍵が割り当てられた別のRACクラスタのノードとは通信できません。このことは、イーサネットの分野のタグ付けされたVLANと概念的に非常に似ています。

パーティション鍵(pkey)は15ビットの整数で、0x1から0x7FFFの値を持ちます。追加のビットであるメンバーシップ・ビットによって、パーティションのメンバーのメンバーシップが識別されます。メンバーシップは次のとおりです。

  • 完全: メンバーシップ・ビットは1に設定されます。完全なメンバーシップを持つメンバーは、相互に通信できることに加えて、同じパーティション鍵内の制限されたメンバーシップを持つメンバーと通信できます。

  • 制限: メンバーシップ・ビットは0に設定されます。パーティション内の制限されたメンバーシップを持つメンバーは、相互に通信できません。ただし、同じパーティション内の完全なメンバーシップを持つ他のメンバーと通信できます。

pkeyとメンバーシップ・ビットが組み合されて16ビットの整数を構成します。最も重要なビットはメンバーシップ・ビットです。

デフォルトで、InfiniBandサブネット・マネージャは、パーティション鍵0x7FFF (制限されたメンバーシップ)または0xFFFF (完全なメンバーシップ)により識別される単一パーティションを提供します。

HCAポートは、最大で128個のパーティションに参加できます。それぞれのパーティション鍵で新しいIPoIBネットワーク・インタフェースが提供されます。たとえば、パーティション鍵0xa001を持つInfiniBandポート1が新しいネットワーク・インタフェースになります。これらのインタフェースには、ifcfg-<interface>ファイル・パラメータによって意味のある名前が付けられます。

1つのInfiniBandノードを複数のパーティションのメンバーにできます。パケットがデータベース・ノードに到着すると、パケットのパーティション鍵(pkey)がサブネット・マネージャ構成と照合されます。この検証により、データベース・ノードが、それがメンバーになっているパーティションの外部の別のデータベース・ノードと通信できなくなります。

InfiniBandファブリック内のすべてのノードには、/sys/class/infiniband/mlx4_0/ports/[1-2]/pkeysで確認できるパーティション鍵の表があります。ノードのそれぞれのキュー・ペア(QP)には、その表の1つのエントリにマッピングされる索引(pkey)が関連付けられています。QPの送信キューからパケットが送信される場合は、索引付きのpkeyが添付されます。QPの受信キューでパケットを受信した場合は、索引付きのpkeyが受信パケットのものと比較されます。一致しない場合、パケットは警告なしで破棄されます。受信チャネル・アダプタはその到着を認識せず、同様に送信チャネル・アダプタも受信確認を取得しません。送信済パケットは単に失われたパケットとして示されます。受信パケットのpkeyがQPの受信キューの索引付きのpkeyと一致した場合にのみ、ハンドシェイクが行われてパケットが受け入れられ、送信チャネル・アダプタに確認が送信されます。このようにして、同じパーティションのメンバーのみが相互に通信でき、そのパーティションのメンバーではないホスト(つまり、パーティション表にそのpkeyを持たないホスト)とは通信できないようになっています。

次の手順で、2016年10月の12.1.0.2データベース・バンドル・パッチが適用されたpkey対応環境でこの拡張機能を設定する方法について説明します。次で説明するように、考えられるシナリオは2つあります。

ケース1.ローリング形式によるpkey対応環境での機能の実装

このケースでは、すでに2016年10月の12.1.0.2データベース・バンドル・パッチを適用しています。

次の手順を、1回に1つのノードに実行します。

  1. ノードでグリッド・インフラストラクチャを停止します。

    # $GI_HOME/bin/crsctl stop crs
  2. このユーザー・ドメインのOVM RACクラスタ・ノードを管理するdom0 (制御ドメイン)の2つのポートのGUIDを特定します。

    # /usr/sbin/ibstat | grep Port
  3. SMマスターがrootとして実行されているInfiniBandスイッチにログインします。

  4. InfiniBandスイッチで次のコマンドを実行します。

    # /usr/local/sbin/smpartition start
    
    # /usr/local/sbin/smpartition modify -n <storage pkey name> -port <Port GUID1 of the dom0 from step 2> -m limited
    
    # /usr/local/sbin/smpartition modify -n <storage pkey name> -port <Port GUID2 of the dom0 from step 2> -m limited
    
    # /usr/local/sbin/smpartition commit
  5. dom0のこのOVM RACユーザー・ドメイン・ノードのvm.cfgファイルを変更します。

    1. rootとしてdom0にログインします。

    2. /EXAVMIMAGES/GuestImages/<user domain name>/vm.cfgを編集して、次の例に示すようにパーティション鍵を変更します。

      次の行を変更します。

      ib_pkeys = [{'pf':'40:00.0','port':'1','pkey':[ '0xclpkey','0x<stpkey>',]},{'pf':'40:00.0','port':'2','pkey':[ '0xclpkey','0x<stpkey>',]},]

      次のように変更します。

      ib_pkeys = [{'pf':'40:00.0','port':'1','pkey':[ '0xclpkey','0x<mod_stpkey>',]},{'pf':'40:00.0','port':'2','pkey':[ '0xclpkey','0x<mod_stpkey>',]},]

      <mod_stpkey>は、次の式を使用して<stpkey>から導出されます。

      mod_stpkey=$(echo "obase=16;ibase=2;$(expr $(echo "obase=2;ibase=16;$(echo $stpkey|tr [:lower:] [:upper:])"|bc) - 1000000000000000)"|bc|tr [:upper:] [:lower:])

      前述の式の<stpkey><mod_stpkey>は、0xの接頭辞なしで指定されています。

  6. ユーザー・ドメインのRACノードの/etc/sysconfig/network-scripts/ifcfg-stib*ファイルを変更します。

    次の式を使用して、これらのファイルのPKEY_IDを編集します。

    mod_stpkey=$(echo "obase=16;ibase=2;$(expr $(echo "obase=2;ibase=16;$(echo $stpkey|tr [:lower:] [:upper:])"|bc) - 1000000000000000)"|bc|tr [:upper:] [:lower:])

    mod_stpkeyが新しいPKEY_IDで、stpkeyが古いPKEY_IDです。

    前述の式の<stpkey><mod_stpkey>は、0xの接頭辞なしで指定されています。

  7. ユーザー・ドメインのRACノードの/opt/oracle.cellos/pkey.confを変更します。

    ストレージ・ネットワークpkeyインタフェース(stib*)のPkeyを編集します。

    変更前:

    <Pkey>0xstpkey</Pkey>

    変更後:

    <Pkey>0xmod_stpkey</Pkey>

    mod_stpkeyは、次の式を使用してstpkeyから導出されます。

    mod_stpkey=$(echo "obase=16;ibase=2;$(expr $(echo "obase=2;ibase=16;$(echo $stpkey|tr [:lower:] [:upper:])"|bc) - 1000000000000000)"|bc|tr [:upper:] [:lower:])

    前述の式で使用されているstpkeymod_stpkeyは、0xの接頭辞なしで指定されています。

  8. OVM RACユーザー・ドメイン・ノードを再起動します。

    1. rootとしてdom0にログインします。

    2. 次のコマンドを実行します。

      # xm shutdown <user domain name>
      
      # xm create /EXAVMIMAGES/GuestImages/<user domain name>/vm.cfg
  9. クラスタ・ノードでGrid Infrastructureスタックが完全に稼働していることを確認します。

  10. 残りのクラスタ・ノードに対して、1回に1つのノードでこの手順を繰り返します。

ケース2.ローリング形式による2016年10月の12.1.0.2データベース・バンドル・パッチの適用中のpkey対応環境での機能の実装

次の手順を、1回に1つのノードに実行します。

  1. クラスタ・ノードで2016年10月の12.1.0.2データベース・バンドル・パッチを適用します。

  2. パッチが適用されたノードで前述のケース1の手順1から10を繰り返します。

  3. 次のクラスタ・ノードに進み、前述の手順1および2を繰り返します。

注意:

dom0のGUIDが制限されたメンバーシップに変換された後、すべての新しいクラスタのデプロイメントには、2016年10月のデータベース・バンドル・パッチが前提条件として含められるようになります。

5.23 Oracle VM環境でのOracle EXAchkの実行

Oracle Exadata Database Machineでの仮想化は、Oracle EXAchkバージョン12.1.0.2.2以降でサポートされています。

Oracle Exadata Database Machine Oracle VM環境でOracle EXAchk監査チェックの完全なセットを実行するには、Oracle EXAchkをインストールして、次のように複数の場所から実行する必要があります。

  • 1つの管理ドメイン(dom0)から

  • Oracle VM Oracle Real Application Clusters (Oracle RAC)クラスタごとに1つのユーザー・ドメイン(domU)から

たとえば、4つのOracle VM Oracle RACクラスタを含む2つのデータベース・サーバー(両方のデータベース・サーバーで合計8つのdomU、クラスタごとに2つのノード)を搭載しているOracle Exadata Database Machineクオータ・ラックでは、次のようにOracle EXAchkを個別に5回実行する必要があります。

  1. 最初のクラスタの最初のユーザー・ドメイン(domU)でOracle EXAchkを実行します。

  2. 2番目のクラスタの最初のユーザー・ドメイン(domU)でOracle EXAchkを実行します。

  3. 3番目のクラスタの最初のユーザー・ドメイン(domU)でOracle EXAchkを実行します。

  4. 4番目のクラスタの最初のユーザー・ドメイン(domU)でOracle EXAchkを実行します。

  5. 最初の管理ドメイン(dom0)でOracle EXAchkを実行します。

Oracle EXAchkによって実行される監査チェックは、次の表に指定されています。

表5-5 Oracle EXAchkによって実行される監査チェック

Oracle EXAchkのインストールおよび実行先 実行される監査チェック

管理ドメイン(dom0)

ハードウェアおよびオペレーティング・システム・レベルのチェック対象:

  • データベース・サーバー(管理ドメイン)

  • ストレージ・サーバー

  • InfiniBandファブリック

  • InfiniBandスイッチ

ユーザー・ドメイン(domU)

ユーザー・ドメインのオペレーティング・システム・レベル・チェックおよびOracle Grid InfrastructureおよびOracle Databaseのチェック

Oracle EXAchkコマンドラインのオプション

Oracle EXAchkには、専用のコマンドライン・オプションが不要です。Oracle Exadata Database Machine Oracle VM環境で実行されていることと、管理ドメインとユーザー・ドメインのどちらで実行されているのかを自動的に検出し、適用可能な監査チェックを実行します。たとえば、最も簡単なケースとして、コマンドライン・オプションなしでOracle EXAchkを実行できます。

./exachk

Oracle EXAchkが管理ドメインで実行されると、すべてのデータベース・サーバー、ストレージ・サーバー、およびInfiniBandネットワーク経由でアクセス可能なInfiniBandスイッチで監査チェックを実行します。

サーバーまたはスイッチのサブセットでOracle EXAchkを実行するには、次のコマンドライン・オプションを使用します。

表5-6 Oracle EXAchkのコマンドライン・オプション

オプション 説明

-clusternodes

データベース・サーバーのカンマ区切りリストを指定します。

-cells

ストレージ・サーバーのカンマ区切りリストを指定します。

-ibswitches

InfiniBandスイッチのカンマ区切りリストを指定します。

たとえば、最初のクオータ・ラックのみが仮想化用に構成されているが、InfiniBandネットワーク経由ですべてのコンポーネントにアクセス可能なOracle Exadata Database Machineフル・ラックの場合、データベース・サーバーdm01adm01から次のようなコマンドを実行できます。

./exachk -clusternodes dm01adm01,dm01adm02
         -cells dm01celadm01,dm01celadm02,dm01celadm03
         -ibswitches dm01swibs0,dm01sw-iba0,dm01sw-ibb0