この章のトピックは、次のとおりです:
注意:
読みやすさを考慮して、Oracle Exadata Database MachineとOracle Exadata Storage拡張ラックの両方に言及する場合、「Oracle Exadataラック」という名前を使用します。
データベース・サーバー上で実行される管理サーバー(MS)は監視やアラートなどの管理機能を提供します。DBMCLIコマンドライン管理ツールも提供します。
関連項目:
Oracle Exadata Database Machineシステム概要ガイドのデータベース・サーバー上の管理サーバー
物理ディスクを修理する際には、Oracle Exadata Database Machineのデータベース・サーバーをシャットダウンする必要はありません。ラックの停止時間は必要ありませんが、個別のサーバーが停止して、一時的にクラスタの外部で処理される場合があります。
この項の内容は次のとおりです。
関連項目:
修理手順は、「Oracle Database Serverの部品」を参照してください。
LEDの詳細は、「LEDステータスの説明」を参照してください
各データベース・サーバーのディスク・ドライブは、LSI MegaRAID SAS 9261-8iまたは9361-8iディスク・コントローラによって管理されます。
ディスクの構成はRAID-5構成です。Oracle Exadata Database Machine X6-2、Oracle Exadata Database Machine X5-2、Oracle Exadata Database Machine X4-2、Oracle Exadata Database Machine X3-2およびOracle Exadata Database Machine X2-2の各データベース・サーバーには4つのディスク・ドライブがあります。各Oracle Exadata Database Machine X4-8フル・ラック・データベース・サーバーには、7つのドライブがあります。デフォルトでは、1つのグローバル・ホット・スペア・ドライブを搭載した1つの6ディスクRAID-5として構成されます。Oracle Exadata Database Machine X5-8およびOracle Exadata Database Machine X3-8にはそれぞれ8つのディスク・ドライブがあります。RAIDセットには、仮想ドライブが1つ作成されています。
データベース・サーバーRAIDデバイスのステータスを確認して、パフォーマンスへの影響がないか、または停止しないようにすることをお薦めします。RAIDデバイスの検証による影響は最小です。是正処置による影響は未対応の特定の問題によって異なり、単純な再構成から停止が必要になる場合があります。
次のコマンドを使用して、データベース・サーバーのディスク・コントローラ構成を確認します。
/opt/MegaRAID/MegaCli/MegaCli64 -AdpAllInfo -aALL | grep "Device Present" -A 8
次に、Oracle Exadata Database Machine X3-2またはOracle Exadata Database Machine X2-2の場合のコマンドの出力例を示します。
Device Present ================ Virtual Drives : 1 Degraded : 0 Offline : 0 Physical Devices : 5 Disks : 4 Critical Disks : 0 Failed Disks : 0
次に、Oracle Exadata Database Machine X4-8フル・ラックのコマンドの出力例を示します。
Device Present ================ Virtual Drives : 1 Degraded : 0 Offline : 0 Physical Devices : 8 Disks : 7 Critical Disks : 0 Failed Disks : 0
次に、Oracle Exadata Database Machine X5-8フル・ラックのコマンドの出力例を示します。
Device Present ================ Virtual Drives : 1 Degraded : 0 Offline : 0 Physical Devices : 9 Disks : 8 Critical Disks : 0 Failed Disks : 0
Oracle Exadata Database Machine X4-2、Oracle Exadata Database Machine X3-2およびOracle Exadata Database Machine X2-2の場合、予想される出力は仮想ドライブ1、パフォーマンス低下0、オフライン0、物理デバイス5 (1つのコントローラ + 4つのディスク)、ディスク4、クリティカル・ディスク0、障害が発生したディスク0です。
Oracle Exadata Database Machine X3-8フル・ラックおよびOracle Exadata Database Machine X2-8フル・ラックの場合、予想される出力は仮想ドライブ1、パフォーマンス低下0、オフライン0、物理デバイス11 (1つのコントローラ1 + 2つのSAS2拡張ポート + 8つのディスク)、ディスク8、クリティカル・ディスク0、障害が発生したディスク0です。
出力が異なる場合は、問題点を調査して修正します。パフォーマンスが低下した仮想ドライブは、通常は存在しない物理ディスクまたは障害が発生したディスクです。ノードで障害が発生したディスクの数が、システムの動作を維持するのに必要な数を超えた場合は、データ損失のリスクを回避するために、クリティカル・ディスクをすぐに交換してください。障害が発生したディスクもすぐに交換してください。
注意:
その他の仮想ドライブまたはホット・スペアが存在する場合は、デプロイ時にディスク再利用手順が実行されなかったか、dualboot=no
修飾子を使用せずにベア・メタル・リストア手順が実行された可能性があります。詳細または是正処置は、My Oracle Supportノート1323309.1を参照してください。
ホット・スペアがあるデータベース・サーバーをOracle Exadata Storage Server Softwareリリース11.2.3.2.0以上にアップグレードする場合、ホット・スペアは削除され、アクティブ・ドライブとしてRAID構成に追加されます。データベース・サーバーはRAID 5冗長性の観点では同じ可用性で稼働し続け、ドライブが1つ失われても存続できます。ドライブで障害が発生した場合は、自動サービス・リクエストにより、そのドライブをできるだけ早く交換するように求める通知が送信されます。
仮想ドライブの構成を検証するには、次のコマンドを使用して、仮想ドライブの構成を検証します。
/opt/MegaRAID/MegaCli/MegaCli64 CfgDsply -aALL | grep "Virtual Drive:"; \ /opt/MegaRAID/MegaCli/MegaCli64 CfgDsply -aALL | grep "Number Of Drives"; \ /opt/MegaRAID/MegaCli/MegaCli64 CfgDsply -aALL | grep "^State"
次に、Oracle Exadata Database Machine X4-2、Oracle Exadata Database Machine X3-2およびOracle Exadata Database Machine X2-2の場合の出力例を示します。仮想デバイス0は4つのドライブを持ち、状態はOptimal
です。
Virtual Drive : 0 (Target Id: 0) Number Of Drives : 4 State : Optimal
Oracle Exadata Database Machine X3-8フル・ラックおよびOracle Exadata Database Machine X2-8フル・ラックの場合は、仮想デバイスが8つのドライブを持ち、状態がOptimalであることを示す出力が表示されると予想されます。
注意:
データベース・サーバーでdualboot=no
オプションを使用しないでディスク交換がされた場合、データベース・サーバーには3つの仮想デバイスがある可能性があります。詳細または是正処置は、My Oracle Supportノート1323309.1を参照してください。
物理ドライブの構成を検証するには、次のコマンドを使用して、データベース・サーバーの物理ドライブの構成を検証します。
Linuxの場合は、次のコマンドを使用して、データベース・サーバーの物理ドライブの構成を検証します。
/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL | grep "Firmware state"
次に、Oracle Exadata Database Machine X4-2、Oracle Exadata Database Machine X3-2およびOracle Exadata Database Machine X2-2の場合の出力例を示します。ドライブはOnline, Spun Up
です。出力順序は重要ではありません。Oracle Exadata Database Machine X3-8フル・ラックまたはOracle Exadata Database Machine X2-8フル・ラックの場合は、Online, Spun Up
の状態を示す出力が8行になります。
Firmware state: Online, Spun Up Firmware state: Online, Spun Up Firmware state: Online, Spun Up Firmware state: Online, Spun Up
出力が異なる場合は、問題点を調査して修正します。
パフォーマンスが低下した仮想ドライブは、通常は存在しない物理ディスクまたは障害が発生したディスクです。ノードで障害が発生したディスクの数が、システムの動作を維持するのに必要な数を超えた場合は、データ損失のリスクを回避するために、クリティカル・ディスクをすぐに交換してください。障害が発生したディスクもすぐに交換してください。
データベース・サーバーのRAIDセットのドライブを交換した場合は、RAIDセットの再構築の進捗状況を監視する必要があります。
ディスクを交換したデータベース・サーバーで次のコマンドを使用します。コマンドはroot
ユーザーとして実行します。
/opt/MegaRAID/MegaCli/MegaCli64 -pdrbld -showprog -physdrv \ [disk_enclosure:slot_number] -a0
前述のコマンドで、disk_enclosureおよびslot_numberは、MegaCli64 -PDList
コマンドによって識別された交換ディスクを示します。次に、コマンドの出力例を示します。
Rebuild Progress on Device at Enclosure 252, Slot 2 Completed 41% in 13 Minutes.
Oracle Exadata Storage Server Softwareリリース12.1.2.1.0以上にアップグレードしたホット・スペア・ドライブがあるOracle Exadata Database Machinesは、reclaimdisks.sh
スクリプトを使用してドライブをリクレイムできません。手動でドライブをリクレイムする手順は、次のとおりです。
注意:
この手順の実行中に、データベース・サーバーが2度再起動されます。この項の手順では、サーバーの再起動の後、Grid Infrastructureの再起動が無効であることを前提としています。
ディスクが4つあるOracle Exadata Database Machine X2-2データベース・サーバーの出力例を、次に示します。エンクロージャ識別子、スロット番号などは、使用するシステムにより異なる場合があります。
Management Server (MS)には、データベース・サーバー内の/
(root)ディレクトリからファイルを削除するポリシーがあり、ファイル・システムの使用率が高い場合にトリガーされます。ファイルの削除はファイル使用率が80パーセントの場合にトリガーされ、削除開始前にアラートが送信されます。アラートには、ディレクトリの名前と、サブディレクトリの領域の使用率が含まれます。削除ポリシーは次のとおりです。
次に示すディレクトリ内のファイルは、ファイル変更のタイム・スタンプに基づいたポリシーを使用して削除されます。
/opt/oracle/dbserver/log
/opt/oracle/dbserver/dbms/deploy/config/metrics
/opt/oracle/dbserver/dbms/deploy/log
metricHistoryDays
属性によって設定された日数より古いファイルが最初に削除され、続けて古いファイルから変更タイムスタンプが10分以前のファイル、またはファイル・システムの使用率が75パーセントまでのファイルが削除されます。metricHistoryDays
属性は/opt/oracle/dbserver/dbms/deploy/config/metrics
内のファイルに適用されます。その他のログ・ファイルとトレース・ファイルには、diagHistoryDays
属性を使用します。
12.1.2.2.0以上では、ms-odl.trcファイルとms-odl.logファイルの領域の最大容量は、trcファイル用が100MB (20個の5MBファイル)、logファイル用が100MB (20個の5MBファイル)です。以前は、trcファイルとlogファイルの両方とも、50MB (10個の5MBファイル)でした。
ms-odl生成ファイルは5MBに達すると名前が変更され、100MBの領域を使い切ると、最も古いファイルが削除されます。
ディスクの追加手順は、次のとおりです。
注意:
ディスク拡張キットはOracle Exadata Database Machine X5-2およびX6-2システムでのみサポートされています。
Oracle Exadataソフトウェア12.1.2.3.0以上が必要です。
データベース・サーバーにはメモリーを追加できます。メモリーの追加手順は、次のとおりです。
注意:
Sun Server X4-2 Oracle Database ServerおよびSun Server X3-2 Oracle Database Server用のメモリーは、メモリー拡張キットを使用して最大512GBに拡張できます。
Sun Fire X4170 Oracle Database Serverのメモリーは、既存のメモリーを取り外して、3個のX2-2メモリー拡張キットと交換することで、最大144GBに拡張できます。
Sun Fire X4170 M2 Oracle Database Serverは、8GB DIMMを使用した18個のDIMMスロットのうち12個が搭載された96GBのメモリーで工場から出荷されます。オプションのX2-2メモリー拡張キットを使用すると、残りの6つの空スロットに16GB DIMMを使用して合計メモリーを192GB (12 x 8GBおよび6 x 16GB)に拡張できます。
メモリー拡張キットは、主に各データベース・サーバー上で多くのデータベースを実行する場合のワークロード統合用です。このシナリオでは、メモリー使用率が非常に高くても、CPU使用率が低いことがよくあります。
ただし、DIMMメモリーの周波数が1333MHzから800MHzに落ちるため、すべてのメモリー・スロットの使用量は減ります。メモリーのパフォーマンス効果が遅いので、CPU使用率が高くなったように感じます。CPU使用率を測定すると、通常、増加率は平均して5%から10%です。増加量はワークロードによって大きく異なります。テスト用ワークロードでは、複数ワークロードの場合、増加率はほぼゼロでしたが、1つのワークロードの場合の増加率は約20%でした。
Oracle Linuxを実行しているOracle Exadata Database Machineにメモリーを追加する場合、次の値を使用して/etc/security/limits.conf
ファイルを更新することをお薦めします。
oracle soft memlock 75% oracle hard memlock 75%
Oracle Exadataデータベース・サーバーX6-2では、マザーボードで高可用性の銅線10Gネットワークが提供され、スロット2のPCIカードを介して光学10Gネットワークが提供されます。オラクル社では、追加の接続を必要とするお客様のために追加のイーサネット・カードを用意しています。追加のカードにより、デュアル・ポートの10GEの銅線接続(部品番号7100488)またはデュアル・ポートの10GEの光学接続(部品番号X1109A-Z)が提供されます。Oracle Exadata X6-2データベース・サーバーのPCIeスロット1にこのカードを設置します。
設置してネットワークに接続すると、Exadataソフトウェア12.2.1.1.0は自動的に新しいカードを認識し、データベース・サーバーのeth6およびeth7インタフェースとして2つのポートを構成します。これらの追加のポートを使用して追加のクライアント・ネットワークを提供することも、個別のバックアップまたはデータ・リカバリ・ネットワークを作成することもできます。仮想マシンを実行するデータベース・サーバーでは、これを使用して2つの仮想マシンからトラフィックを分離できます。
データベース・サーバーにカードを追加した後、カードを構成する必要があります。次の項を参照してください。
ネットワーク・インタフェースを表示するには、ipconf.pl
コマンドを実行します。次に、ネットワーク・カードを追加していないX6-2データベース・サーバーの出力例を示します。
# cd /opt/oracle.cellos/ # ./ipconf.pl Logging started to /var/log/cellos/ipconf.log Interface ib0 is Linked. hca: mlx4_0 Interface ib1 is Linked. hca: mlx4_0 Interface eth0 is Linked. driver/mac: ixgbe/00:10:e0:8b:24:b6 Interface eth1 is ..... Linked. driver/mac: ixgbe/00:10:e0:8b:24:b7 Interface eth2 is ..... Linked. driver/mac: ixgbe/00:10:e0:8b:24:b8 Interface eth3 is ..... Linked. driver/mac: ixgbe/00:10:e0:8b:24:b9 Interface eth4 is Linked. driver/mac: ixgbe/90:e2:ba:ac:20:ec (slave of bondeth0) Interface eth5 is Linked. driver/mac: ixgbe/90:e2:ba:ac:20:ec (slave of bondeth0)
出力には2つのネットワーク・カードが示されます。
eth0からeth3のクアッド・ポート10Gbカード
eth4およびeth5のデュアル・ポート10Gbカード
キャパシティ・オンデマンドを使用して、Oracle Exadata Database Machineのアクティブ・コア数を増やすことができます。
Oracle Exadata Database Machine X4-2以降のシステムで実行されるデータベース・サーバー上のアクティブ・コア数を、インストール中に減らすことができます。追加の容量が必要な場合は、アクティブ・コア数を増やすことができます。これは、キャパシティ・オンデマンドと呼ばれます。
追加のコアは、Oracle Exadata Database Machine X4-2およびそれ以降のシステムでは2コア増分で、Oracle Exadata Database Machine X4-8フル・ラックおよびそれ以降のシステムでは8コア増分で増やします。次の表に、キャパシティ・オンデマンドのコア・プロセッサの構成を示します。
表2-1 キャパシティ・オンデマンドのコア・プロセッサの構成
Oracle Exadata Database Machine | 対象となるシステム | サーバー当たりの最小コア数 | サーバー当たりの最大コア数 | コアの増分 |
---|---|---|---|---|
Oracle Exadata Database Machine X6-2 |
エイス・ラック以外の構成 |
14 |
44 |
14から44、2の倍数。 14, 16, 18, ..., 42, 44 |
Oracle Exadata Database Machine X6-2 |
エイス・ラック |
8 |
22 |
8から22、2の倍数。 8, 10, 12, ..., 20, 22 |
Oracle Exadata Database Machine X5-2 |
エイス・ラック以外の構成 |
14 |
36 |
14から36、2の倍数。 14, 16, 18, ..., 34, 36 |
Oracle Exadata Database Machine X5-2 |
エイス・ラック |
8 |
18 |
8から18、2の倍数。 8, 10, 12, ..., 16, 18 |
Oracle Exadata Database Machine X6-8およびX5-8 |
任意の構成 |
56 |
144 |
56から144、8の倍数。 56, 64, 72, ..., 136, 144 |
Oracle Exadata Database Machine X4-2 |
フル・ラック ハーフ・ラック クオータ・ラック |
12 |
24 |
12から24、2の倍数。 12, 14, 16, ..., 22, 24 |
Oracle Exadata Database Machine X4-8 |
フル・ラック |
48 |
120 |
48から120、8の倍数。 48, 56, 64, ..., 112, 120 |
注意:
フェイルオーバーに備えて、各サーバーに同数のコアをライセンスすることをお薦めします。
追加できるデータベース・サーバーは一度に1つずつで、キャパシティ・オンデマンドは個別のデータベース・サーバーに適用されます。このオプションはOracle Exadata Database Machine X5-2エイス・ラックでも使用できます。
追加したコアを有効化してから、データベース・サーバーを再起動する必要があります。データベース・サーバーがクラスタの一部の場合、ローリング方式で有効化されます。
関連トピック
注意:
この項は、2ソケットのx86サーバーにのみ適用されます。8ソケット・サーバーおよびSPARCサーバーには適用されません。
ベア・メタルOracle RACクラスタからOracle VMのOracle RACクラスタへの移行は次の方法で実行できます。
既存のベア・メタルOracle RACクラスタを使用して、Oracle VMにOracle RACクラスタを移行します。ダウンタイムは発生しません
Oracle VMに新しいOracle RACクラスタを作成して、Oracle VMにOracle RACクラスタを移行します。多少のダウンタイムが発生します
Oracle Data Guardを使用してOracle VMにOracle RACクラスタに移行します。多少のダウンタイムが発生します
RMANバックアップとリストアを使用してOracle VMのOracle RACクラスタに移行します。ダウンタイムが発生します
ベア・メタルOracle RACクラスタからOracle VMのOracle RACクラスタに変換することは、次のことを示唆します。
各データベース・サーバーがOracle Virtual Serverに変更されます。Oracle Virtual Serverには管理ドメインと、デプロイされるOracle RACクラスタの数に応じて1つ以上のユーザー・ドメインが作成されます。データベース・サーバー上の各ユーザー・ドメインは特定のOracle RACクラスタに所属します。
変換手順の一環として、ベア・メタルOracle RACクラスタが、Oracle VM内の1つのOracle RACクラスタに変換されます。データベース・サーバーごとに1つのユーザー・ドメインがあります。
変換が終わった後のストレージ・セルのセル・ディスクとグリッド・ディスクの構成は、変換の開始時の構成と同じになります。
各データベース・サーバー上で管理ドメインによって使用されるシステム・リソースの量は同じになります。通常、管理ドメインでは8GBのメモリーと4つの仮想CPUが使用されます。この点を考慮してOracle VMのOracle RACクラスタで実行するデータベースのSGAのサイズを決定してください。
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-*
この項では、次の項目について説明します。
Oracle Grid InfrastructureおよびOracle Databaseの存在しないユーザー・ドメインの作成
Oracle ExadataでのOracle VM Oracle RACクラスタ間のInfiniBandパーティションの実装
注意:
特に明記された場合を除き、前述の手順で実行するすべてのコマンドはroot
ユーザーとして実行します。
Oracle VMユーザー・ドメインでのOracleデータベースのバックアップとリストアは、物理ノードでのOracleデータベースのバックアップとリストアと同じです。
次の手順では、ユーザー・ドメインに割り当てられたメモリーを変更する方法について説明します。
注意:
ユーザー・ドメインに割り当てられるメモリーの量を減らす場合は、ユーザー・ドメインで実行中のデータベースのSGAサイズおよび対応するヒュージ・ページ・オペレーティング・システム構成を最初に確認して調整する必要があります。そうしない場合、Linuxオペレーティング・システムのブート中に、多すぎるメモリーがヒュージ・ページに予約されるため、ユーザー・ドメインを起動できなくなることがあります。詳細は、My Oracle Supportノート361468.1を参照してください。
注意:
この手順では、ユーザー・ドメインを再起動する必要があります。メモリー割当てを変更する場合、xm mem-set
コマンドはサポートされていません。
ユーザー・ドメインに割り当てられた仮想CPU数を変更するためのすべてのアクションは、管理ドメインで実行されます。
ユーザー・ドメインに可能な仮想CPU数は、ユーザー・ドメインのmaxvcpus
パラメータで設定される値の範囲内で、動的に増減します。
仮想CPUをオーバーコミットすると、すべてのドメインに割り当てられた仮想CPUを、システム上の物理CPU数より多く割り当てることができます。ただし、CPUのオーバーコミットは、過剰に収容されたリソースへの競合するワークロードが十分理解され、同時に発生する要求が物理能力を超えない場合にのみ、実行する必要があります。
次の手順では、ユーザー・ドメインに割り当てられた仮想CPU数を変更する方法について説明します。
次の手順に従い、物理CPU数を判別します。
管理ドメインで、次のコマンドを実行します。
# 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スレッド)です。
次のコマンドを実行して、ユーザー・ドメインに構成されオンラインである仮想CPUの現在の設定を判別します。
# xm list DomainName -l | grep vcpus
(vcpus 4)
(online_vcpus 2)
前述のコマンドで、DomainNameはユーザー・ドメインの名前です。コマンドの出力例では、ユーザー・ドメインの仮想CPUの最大数は4で、現在のオンライン仮想CPUは2です。このユーザー・ドメインのオンラインの仮想CPUの数は、ユーザー・ドメインがオンラインの間に、vcpus
パラメータよりも大きくない数に調整されます。オンラインの仮想CPUの数をvcpus
パラメータよりも大きい値に増やすには、ユーザー・ドメインをオフラインにする必要があります。
次の手順に従い、仮想CPU数を小さくするまたは大きくします。
仮想CPU数を減らす手順は、次の通りです。
次のコマンドを使用して、ユーザー・ドメインに現在割り当てられている仮想CPUの数を判別します。
# xm list DomainName
次のコマンドを使用して、現在割り当てられている仮想CPU数を減らします。
# xm vcpu-setDomainName
vCPUs_preferred
前述のコマンドで、vCPUs_preferredは、推奨される仮想CPU数の値です
仮想CPU数を増やす手順は、次の通りです。
次のコマンドを使用して、vcpus
パラメータの現在の設定を判別します。
# xm list DomainName -l | grep vcpus
(vcpus 4)
(online_vcpus 2)
推奨される仮想CPU数が、vcpus
パラメータの値より小さいか等しい場合、次のコマンドを実行して、オンライン仮想CPU数を増やします。
# xm vcpu-set DomainName vCPUs_preferred
前述のコマンドで、vCPUs_preferredは、推奨される仮想CPU数の値です
推奨される仮想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.ユーザー・ドメインを開始します。
次の手順では、新LVMディスクをユーザー・ドメインに追加して、ユーザー・ドメイン内で使用できるLVMディスク領域の量を増やす方法について説明します。この手順を実行すると、ファイル・システムまたはスワップLVMパーティションのサイズを増やすことができます。これはシステムがオンラインの場合に実行できます。
注意:
この手順は、管理ドメイン(Domain-0)およびユーザー・ドメイン内で実行する必要があります。
すべての手順を、root
ユーザーとして実行してください。
この手順では、システム・パーティションおよび/
(ルート)ファイル・システムのサイズを増やす方法について説明します。
これはファイル・システムがオンラインの場合に実行できます。
注意:
2種類のシステム・パーティション、LVDbSys1
およびLVDbSys2
が使用できます。片方のパーティションがアクティブでマウントされます。もう一方のパーティションは非アクティブで、アップグレード中、バックアップする場所として使用します。この2つのシステム・パーティションは、サイズが等しい必要があります。
VGExaDb
ボリューム・グループ内に、少なくとも1GBの空き領域が必要です。空き領域は、ソフトウェア保守の際に、dbnodeupdate.sh
ユーティリティで作成したLVMスナップショットで使用します。「Oracle Linuxデータベース・サーバーのスナップショット・ベースのバックアップの作成」の手順に従い、/
(root)および/u01
ディレクトリのバックアップをスナップショット・ベースで作成する場合、VGExaDb
ボリューム・グループに少なくとも6GBの空き領域が必要です。
関連トピック
この手順では、/u01
ファイル・システムのサイズを増やす方法について説明します。
これはファイル・システムがオンラインの場合に実行できます。
注意:
VGExaDb
ボリューム・グループ内に、少なくとも1GBの空き領域が必要です。空き領域は、ソフトウェア保守の際に、dbnodeupdate.sh
ユーティリティで作成したLVMスナップショットで使用します。「Oracle Linuxデータベース・サーバーのスナップショット・ベースのバックアップの作成」の手順に従い、/
(root)および/u01
ディレクトリのバックアップをスナップショット・ベースで作成する場合、VGExaDb
ボリューム・グループに少なくとも6GBの空き領域が必要です。
関連トピック
Oracle Grid InfrastructureホームおよびOracle Databaseソフトウェア・ホームのために、それぞれのディスク・イメージ・ファイルが管理ドメインに作成されます。ディスク・イメージ・ファイルの場所は、/EXAVMIMAGES/GuestImages/DomainName/
ディレクトリです。ディスク・イメージ・ファイルは、仮想マシンの起動中に自動的にユーザー・ドメインに関連付けられ、別個にLVMではないファイル・システムとしてユーザー・ドメインにマウントされます。
次の手順では、ユーザー・ドメインにおけるデータベース・ホーム・ファイル・システムのサイズを増やす方法について説明します。グリッド・ホームのサイズを増やすには、同様の手順を使用します。
データベース・サーバーにディスク拡張キットを追加するときには、適切な手順に従って、新しい領域を/EXAVMIMAGES
ファイル・システムに追加することが重要です。
デプロイメント中、データベース・サーバー上の使用可能なディスク領域はすべてdom0に割り当てられ、その領域のほとんどがユーザー・ドメイン・ストレージ用の/EXAVMIMAGES
に割り当てられます。
次の例では、dm01db01
がdom0管理ドメインの名前で、dm01db01vm01
がゲスト・ユーザー・ドメインです。
この手順では、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デプロイメント・ファイルが、使用可能である。
Oracle Exadata Deployment Assistant (OEDA)を使用しゲスト・ドメインを追加して、Oracle VM上の既存のOracle RACクラスタを拡張できます。
注意:
この手順の実行中、既存のOracle RACクラスタ・ノードとそのデータベース・インスタンスでは、停止時間は発生しません。
この手順のユースケースは次のとおりです。
Exadataラックのデータベース・サーバーのサブセットのみを使用する既存のOracle RACクラスタがあり、現在クラスタによって使用されていないノードが使用候補になった場合。
新しいOracle Virtual Serverノードまたは個別のExadataラックと最近相互ラック接続された既存のOracle RACクラスタがExadata上にある場合。
ユーザー・ドメインは、システムにOracle Grid InfrastructureおよびOracle Databaseをインストールせずに作成することができます。新しいユーザー・ドメインの要素は、次の通りです。
オペレーティング・システム・イメージがOracle Linuxである。
管理ネットワーク、クライアント・ネットワークおよびInfiniBandネットワークへアクセスできる。
Oracle Grid InfrastructureおよびOracle Databaseがインストールされていない。
Oracle Grid InfrastructureおよびOracle Databaseの存在しないユーザー・ドメインを作成する手順は、次の通りです。
未使用の新規IPアドレスおよびホスト名を新しいユーザー・ドメインに割り当てます。IPアドレスおよびホスト名は、管理ネットワーク、クライアント(SCAN)ネットワークおよびプライベートInfiniBandネットワークで必要です。
注意:
アドレスごとにping
コマンドを使用して、該当のInfiniBandネットワークのIPアドレスが使用されていないことを確認します。ibhosts
コマンドには、ユーザー・ドメインのエントリが含まれていないため、このコマンドを使用して、すべてのInfiniBandネットワークのIPアドレスが使用されていることを確認することはできません。
必要に応じて、更新されたユーザー・ドメイン(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を参照してください。
次のコマンドを使用して、管理ドメインで、既存の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
管理ドメインで、次のようにして、新しいXMLファイルを編集します。
すべての<Hostname>
タグを変更して、対応するネットワークの新しいホスト名に一致させます。
すべての<IP_address>
タグを変更して、対応するネットワークの新しいIPアドレスに一致させます。
<virtualMachine>
タグを変更して、新しいホスト名を含めます。
<hostName>
タグを変更して、新しいホスト名を含めます。
すべてのサブ要素を含む、<disk id="disk_2">
および<disk id="disk_3">
要素全体を削除します。開始<disk>
タグから対応する終了</disk>
の間のエントリ全体を削除する必要があります。
管理ドメインで、/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
管理ドメインで、/opt/exadata_ovm/exadata.img.domu_maker
コマンドを使用して、新しいユーザー・ドメインを作成します。
# /opt/exadata_ovm/exadata.img.domu_maker start-domain \ /EXAVMIMAGES/conf/final-newDomainName-vm.xml
ターゲット・データベース・サーバーに、同一リリースのOracle Exadata Storage Server SoftwareおよびOracle VMがインストールされている。
ターゲット・データベース・サーバーに、同一のネットワークが表示されている。
ターゲット・データベース・サーバーは、同一のExadata Storage Serversにアクセスできる。
ターゲット・データベース・サーバーで、ユーザー・ドメインの操作に必要な十分な空きリソース(メモリー、CPUおよびローカル・ディスク領域)が使用可能である。
仮想CPUをオーバーコミットすると、すべてのドメインに割り当てられた仮想CPUを、システム上の物理CPU数より多く割り当てることができます。CPUのオーバーコミットは、過剰に収容されたリソースへの競合するワークロードが十分理解され、同時に発生する要求が物理能力を超えない場合にのみ、実行する必要があります。
メモリーをオーバーコミットすることはできません。
ディスク・イメージをターゲット・データベース・サーバーにコピーすると、ディスク・イメージ・ファイルの領域の割当てが増加する場合があります。これは、コピーされたファイルは、OCFS2 reflinkを利用してディスク領域を省略できないためです。
ユーザー・ドメイン名は、ターゲット・データベース・サーバーで未使用の名前にする必要があります。
次の手順に従い、ユーザー・ドメインを同一のOracle Exadata Storage Server Software構成内の新しいデータベース・サーバーに移動します。すべての手順は、管理ドメインで実行してください。
クラスタ内で実行中のデータベースおよびこのデータベースで使用中のOracle Exadata Storage Serverで保存するすべてのデータを含む、Oracle VMクラスタのすべてのOracle RACノードを削除します。
Oracle VMクラスタの一部のユーザー・ドメインを削除する場合、次の項を参照してください。
Oracle VMクラスタを削除する手順は、主に2つあります。
ユーザー・ドメイン・ファイルを管理ドメインから削除する。
使用していないOracle Exadataグリッド・ディスクを削除する。
注意:
Oracle Exadata Deployment Assistant xml
構成ファイルを後で再び使用する場合、削除されたユーザー・ドメインの定義がOracle Exadata Deployment Assistantファイル内に残っているため、それらの構成ファイルは同期できません。
Oracle VMクラスタから1つのOracle RACノードを削除できます。
Oracle Exadataグリッド・ディスクは、クラスタ内に残っているノードで使用中のため、削除しないでください。
注意:
Oracle Exadata Deployment Assistant xml
構成ファイルを後で再び使用する場合、削除されたユーザー・ドメインの定義がOracle Exadata Deployment Assistantファイル内に残っているため、それらの構成ファイルは同期できません。
関連トピック
このトピックでは、Exadata上のOracle VM環境でのタグVLANインタフェースの実装について説明します。
Oracle Exadata Database Machine上のOracle VMゲストで稼働しているOracleデータベースは、Oracle Exadata Deployment Assistant (OEDA)構成ツールで定義されたクライアントEthernetネットワークを介してアクセスされます。管理ドメイン(dom0)およびユーザー・ドメイン(domU's)の両方で、クライアント・ネットワーク構成は、初回のデプロイメント中にOEDAインストール・ツールが最初のユーザー・ドメインを作成すると、自動的に実行されます。
次の図に、デフォルトの結合クライアント・ネットワーク構成を示します。
ネットワークは、次のように構成されます:
dom0では、OEDAで定義されて、domUクライアントへのアクセスが許可されているethスレーブ・インタフェース(たとえば、eth1とeth2またはeth4とeth5)が、検出、構成されて、起動しますが、IPは割り当てられません。
dom0では、bondeth0マスター・インタフェースが構成され、起動しますが、IPは割り当てられません。
dom0では、ブリッジ・インタフェースvmbondeth0が構成されますが、IPは割り当てられません。
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タグ付けをしたクライアント・ネットワーク構成を示します。
図2-4 VLANタグ付けをしたOracle Virtual EnvironmentのNICレイアウト
このようなクライアント・ネットワーク上の追加のタグ付けされたVLANインタフェースの構成方法および使用方法の手順は、My Oracle Supportノート2018550.1を参照してください。これらの手順の実行の前後に、Access VLANが継続して稼働および構成されている必要があります。Access VLANが無効にされることはありません。
セキュリティの見地から、結合システムの重要な要件の1つは、結合システム内の複数の環境間のネットワーク分離です。Oracle Exadata上でOracle VM 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クラスタのノードは、異なるパーティションに属する別のRACクラスタのノードと通信できます。それぞれのOracle RACクラスタのノードには、それらに割り当てられた異なるパーティション鍵があります。
デフォルトで、InfiniBandサブネット・マネージャは、パーティション鍵0x7FFF (制限されたメンバーシップ)または0xFFFF (完全なメンバーシップ)により識別される単一パーティションを提供します。カスタムのInfiniBandパーティションを使用していないOracle Exadata上のOracle VMデプロイメントでは、すべてのユーザー・ドメイン間で、パーティション鍵0xFFFFが使用されます。
図2-5 クラスタ間でInfiniBandネットワーク分離がないOracle Exadata上のOracle VM Oracle RACクラスタ
Oracle VM Oracle RACクラスタ間の分離の実装のかわりのデフォルトではないカスタム・パーティションを使用すると、構成は、図2-6に示すように変更されます。新しいインタフェースclib0、clib1 (クラスタpkey用)およびstib0、stib1 (ストレージpkey用)が、それぞれのユーザー・ドメイン(domU's)に存在します。
管理ドメイン(dom0)では、InfiniBandインタフェースの変更はありません。
図2-6 InfiniBandパーティションを使用してクラスタ間でInfiniBandネットワーク分離があるOracle Exadata上のOracle VM Oracle RACクラスタ
InfiniBandパーティションの構成前に、次のことを確認します。
ExadataシステムでOVMを構成しました。
すべてのユーザー・ドメインとストレージ・セルで、デフォルトのパーティション鍵0xFFFFを使用しています。
rootユーザー用に、いずれかの管理ドメイン(dom0ノード)からすべてのOVM RACクラスタ・ノード、ストレージ・セルおよびInfiniBandスイッチへの、パスワードなしのセキュア・シェル(SSH)・アクセスを設定しました。
InfiniBandスイッチがファームウェア・バージョン2.0.4以上で設置されています。
InfiniBandパーティションについて理解しています。
InfiniBandパーティションを実装するには、次の大まかな手順を実行します。
InfiniBandスイッチで、クラスタウェアで使用されるそれぞれのOVM RACクラスタに対して、専用パーティション(クラスタpkey)を作成します。
InfiniBandスイッチで、RACクラスタ・ノードとストレージ・セルとの通信のために、すべてのOVM RACクラスタおよびストレージ・セルで使用される1つのパーティション(ストレージpkey)を作成します。
パーティションごとに、新しいIPoIBネットワーク・インタフェースが必要です。OVM RACノードとストレージ・セルで、新しいIPoIBインタフェースのすべての関連するネットワーク構成ファイルを生成します(前の図のclib0、clib1、stib0、stib1)。
新しく作成したIPoIBインタフェースを使用するように、すべてのOVM RACクラスタのOVM RACクラスタ・ノードとグリッド・インフラストラクチャ構成を変更します。
管理ドメイン(dom0)で、各ユーザー・ドメインのユーザー・ドメイン構成ファイルを、そのユーザー・ドメインに該当するパーティション鍵を使用するように変更します。
新しく作成したIPoIBインタフェースを使用するようにストレージ・セルを変更します。
ストレージ・セルとRACクラスタを再起動して、グリッド・インフラストラクチャとデータベースが機能することを確認します。この一連の手順では、RACクラスタで多少のダウンタイムが発生します。この手順のときにダウンタイムが発生します。
この項では、各手順について詳しく説明します。
pkeyインタフェースによって使用されるIPアドレスを割り当てます。
クラスタにInfiniBandパーティションが実装されたときに、クラスタpkeyインタフェースおよびストレージpkeyインタフェースで使用される各OVM RACクラスタのIPアドレスとネットマスクのセットを計画して割り当てます。
OVM RACクラスタ内では、クラスタpkey IPアドレスおよびネットマスクは、ストレージpkey IPアドレスおよびネットマスクとは別のサブネット上に存在する必要があります。
参考として、次の表に、ある特定のRACクラスタのものを示します。
表2-2 既存の構成
インタフェース名 | IPアドレス | ネットマスク |
---|---|---|
ib0 |
192.168.12.153 |
255.255.248.0 |
ib1 |
192.168.12.154 |
255.255.248.0 |
次の表に、この1つのRACクラスタに対してこのドキュメントの手順を実行したときにpkeyインタフェースによって要求される新しいIPアドレスとネットマスクを示します。
表2-3 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 |
InfiniBandスイッチでパーティション鍵を作成して構成します。
rootユーザー用に、いずれかのdom0ノードからInfiniBandファブリックのすべてのスイッチへのパスワードなしのSSH等価を有効化します。これは、この手順のすべてのスクリプトを実行するために使用するノードです。この手順では、このノードをドライバdom0と呼びます。
これを行うには、スクリプトを実行するために使用されるdom0ノードから、次のdcliコマンドを実行します。
# dcli –g <ib_switch_list> -l root –k
<ib_switch_list>
は、ファブリックのすべてのInfiniBandスイッチが1つずつ個々の行に記載されたリストが含まれるファイルを示します。
My Oracle Supportノート2075398.1から、create_pkeys.tar
をドライバdom0ノードにダウンロードして解凍します。tarファイルを解凍すると、3つのファイルが表示されます。
create_pkeys_on_switch.sh
run_create_pkeys.sh
create_pkey_files.sh
ドライバdom0からスクリプトcreate_pkeys_on_switch.sh
を実行して、InfiniBandスイッチでパーティション鍵を作成して構成します。
注意:
create_pkeys_on_switch.sh
を1回実行すると、1つのパーティションが作成されます。作成するパーティションごとにスクリプトを1回実行する必要があります。たとえば、2つのOVM RACクラスタを含む環境に、1つのストレージ・パーティションと2つのクラスタ・パーティション(RACクラスタごとに1つ)の合計3つのパーティションを作成するとします。この例では、create_pkeys_on_switch.sh
を3回実行する必要があります。
このスクリプトは、1つのみのノード(ドライバdom0)から実行する必要があります。これにより、スクリプトの実行中に入力として指定されたすべてのスイッチにパーティションが作成されます。
スクリプトの完了後に、すべてのスイッチでパーティションが作成されたことを確認します。
# /usr/local/sbin/smpartition list active no-page
この段階で、すべての必要なパーティションを作成したことを確認します。
パーティション鍵を使用するために、OVM RACクラスタ・ノードを構成します。
注意:
この手順では、OVM 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で使用したドライバdom0ノードからの、パーティション鍵に対して構成する必要があるすべてのRACクラスタ・ノードおよびストレージ・セルへのパスワードなしのSSHが設定されていることを確認します。
run_create_pkeys.sh
およびcreate_pkey_files.sh
が実行可能で、これらがドライバdom0ノードの同じディレクトリに存在することを確認します。
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回の実行について説明します。
表2-4 クラスタ・ノードに対する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
この段階で、OVM 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
グリッド・インフラストラクチャも変更され、再起動時に新しいネットワーク・インタフェースを使用するようになりました。$GI_HOME/bin/oifcfg getif
で、cluster_interconnectに使用されるインタフェースのリストにclib0とclib1が表示されます。
ASMとRDBMSのcluster_interconnectsパラメータを変更します。
SYSとしてsqlplusを使用してRACクラスタの各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>';
sqlplusを使用してRACクラスタの各RDBMSインスタンスにログインし、次のコマンドを実行します。
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>';
すべてのRACクラスタ・ノードでCRS自動起動を停止して無効化します。
# $GI_HOME/bin/crsctl stop crs # $GI_HOME/bin/crsctl disable crs
この段階で、グリッド・インフラストラクチャ、ASMインスタンスおよびRDBMSインスタンスが、新しく作成したネットワーク・インタフェースを使用するように変更されました。
すべてのクラスタ・ノード(ユーザー・ドメイン)のcellip.ora
とcellinit.ora
を変更します。
すべての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"
この手順の目的を達成するために、次の手順をお薦めします。クラスタのいずれかのデータベース・サーバー・ノード(OVM RACクラスタのユーザー・ドメイン)で、次の手順を実行します。
次のコマンドを実行します。
# cd /etc/oracle/cell/network-config # cp cellip.ora cellip.ora-bak
cellip.ora-bak
を変更します。
rootユーザー用にすべてのクラスタ・ノードからこのクラスタ・ノードへのSSH等価が設定されていることを確認します。
次のコマンドを実行します。<cluster_nodes>
は、OVM RACクラスタのすべての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
/etc/oracle/cell/network-config/cellinit.ora
を/etc/oracle/cell/network-config/cellinit.ora-bak
にバックアップします。
/etc/oracle/cell/network-config/cellinit.ora
を手動で編集して、既存のIPアドレスおよびネットマスクを、手順3で使用したクラスタ・ノードの2つのストレージpkey IPアドレスおよびネットマスクに置き換えます。このIPアドレスとネットマスクは、手順3の3回目と4回目の実行で使用されています。
dom0のすべての関連するvm.cfg
ファイルを変更します。この手順はOVM環境にのみ適用できます。
すべての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の値です。
注意:
環境内に複数のOVM RACクラスタがある場合は、すべてのOVM RACクラスタに対して手順3から6が実行された後で、手順7と手順8を1回のみ実行する必要があります。
パーティション鍵を使用するために、ストレージ・セルを構成します。
手順2でrun_create_pkeys.sh
およびcreate_pkey_files.sh
を使用可能にしてあり、かつ、これらが手順2で使用した同じdom0ノードの同じディレクトリに存在することを確認します。
手順2で使用したdom0ノードからの、パーティション鍵に対して構成する必要があるすべてのストレージ・セルへのパスワードなしのSSHが設定されていることを確認します。
その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回スクリプトを実行する必要があります。
表2-5 ストレージ・セルに対する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のストレージ・セルの再起動でこれらの項目が考慮されます。
Network configuration altered. Please issue the following commands as root to restart the network and open IB stack:
service openibd restart
service network restart
A restart of all services is required to put new network configuration into effect. MS-CELLSRV communication may be hampered until restart.
この段階で、ストレージ・セルが、再起動時に新しいネットワーク・インタフェースを使用するように変更されました。
ストレージ・セルの/opt/oracle.cellos/cell.conf
を変更して、ストレージ・セルを再起動します。
/opt/oracle.cellos/cell.conf
をバックアップします。
# cp /opt/oracle.cellos/cell.conf /opt/oracle.cellos/cell.conf-prepkey
/opt/oracle.cellos/cell.conf
の次の行を変更します。
次の行を変更します。
<Pkeyconfigured>no</Pkeyconfigured>
変更後:
<Pkeyconfigured>yes</Pkeyconfigured>
2つのプライベート・インタフェース、ib0とib1について、次の行を変更します。
<IP_enabled>yes</IP_enabled>
変更後:
<IP_enabled>no</IP_enabled>
すべてのOVM RACノードでグリッド・インフラストラクチャが停止していることを確認します。
すべてのストレージ・セル・サーバーを再起動します。
ストレージ・セルが再度稼働したら、新しいpkey対応ネットワーク・インタフェースが使用中であることを確認します。
# cellcli -e list cell detail | egrep 'interconnect|ipaddress'
これにより、新しいpkey対応インタフェース(stib0およびstib1)が新しいIPアドレスのセットとともに表示されます。
クラスタ・ノードを再起動します。
各ユーザー・ドメイン・ノードの対応するdom0にログインします。
次のコマンドを実行します。
# xm shutdown <user domain name> # xm create /EXAVMIMAGES/GuestImages/<user domain name>/vm.cfg
すべてのクラスタ・ノードで、Grid Infrastructureスタックを起動し、完全に稼働していることを確認します。
すべてのRACクラスタ・ノードで、Grid Infrastructureスタックを起動し、自動起動を有効化します。
# $GI_HOME/bin/crsctl start crs # $GI_HOME/bin/crsctl enable crs
すべてのノードでグリッド・インフラストラクチャが完全に稼働したら、新しく構成したpkeyインタフェースを使用するようにcluster_interconnects
パラメータが設定されていることを確認します。
SQL> select inst_id, value from gv$parameter where name = 'cluster_interconnects'
OCRから、古いクラスタ相互接続インタフェースを削除します。
# $GI_HOME/bin/oifcfg delif –global ib0/<old subnet> # $GI_HOME/bin/oifcfg delif –global ib1/<old subnet>
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つのノードに実行します。
ノードでグリッド・インフラストラクチャを停止します。
# $GI_HOME/bin/crsctl stop crs
このユーザー・ドメインのOVM RACクラスタ・ノードを管理するdom0 (制御ドメイン)の2つのポートのGUIDを特定します。
# /usr/sbin/ibstat | grep Port
SMマスターがrootとして実行されているInfiniBandスイッチにログインします。
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
dom0のこのOVM RACユーザー・ドメイン・ノードのvm.cfg
ファイルを変更します。
rootとしてdom0にログインします。
/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
の接頭辞なしで指定されています。
ユーザー・ドメインの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
の接頭辞なしで指定されています。
ユーザー・ドメインの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:])
前述の式で使用されているstpkey
とmod_stpkey
は、0x
の接頭辞なしで指定されています。
OVM RACユーザー・ドメイン・ノードを再起動します。
rootとしてdom0にログインします。
次のコマンドを実行します。
# xm shutdown <user domain name> # xm create /EXAVMIMAGES/GuestImages/<user domain name>/vm.cfg
クラスタ・ノードでGrid Infrastructureスタックが完全に稼働していることを確認します。
残りのクラスタ・ノードに対して、1回に1つのノードでこの手順を繰り返します。
ケース2.ローリング形式による2016年10月の12.1.0.2データベース・バンドル・パッチの適用中のpkey対応環境での機能の実装
次の手順を、1回に1つのノードに実行します。
クラスタ・ノードで2016年10月の12.1.0.2データベース・バンドル・パッチを適用します。
パッチが適用されたノードで前述のケース1の手順1から10を繰り返します。
次のクラスタ・ノードに進み、前述の手順1および2を繰り返します。
注意:
dom0のGUIDが制限されたメンバーシップに変換された後、すべての新しいクラスタのデプロイメントには、2016年10月のデータベース・バンドル・パッチが前提条件として含められるようになります。
Exadataでの仮想化は、Oracle EXAchkバージョン12.1.0.2.2以上でサポートされています。
Oracle Exadata Oracle VM環境でOracle EXAchk監査チェックの完全なセットを実行するには、Oracle EXAchkをインストールして、次のように複数の場所から実行する必要があります。
1つの管理ドメイン(dom0)から
Oracle VM 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の最初のユーザー・ドメイン(domU)でOracle EXAchkを実行します。
クラスタ#3の最初のユーザー・ドメイン(domU)でOracle EXAchkを実行します。
クラスタ#4の最初のユーザー・ドメイン(domU)でOracle EXAchkを実行します。
最初の管理ドメイン(dom0)でOracle EXAchkを実行します。
Oracle EXAchkによって実行される監査チェックは、次の表に指定されています。
表2-6 Oracle EXAchkによって実行される監査チェック
Oracle EXAchkのインストールおよび実行先 | 実行される監査チェック |
---|---|
管理ドメイン(dom0) |
ハードウェアおよびオペレーティング・システム・レベルのチェック対象:
|
ユーザー・ドメイン(domU) |
ユーザー・ドメインのオペレーティング・システム・レベル・チェックおよびOracle Grid InfrastructureおよびOracle Databaseのチェック |
Oracle EXAchkコマンドラインのオプション
Oracle EXAchkには、専用のコマンドライン・オプションが不要です。Oracle Exadata Oracle VM環境で実行されていること、および管理ドメインまたはユーザー・ドメインで実行されているかどうかを自動的に検出し、適用可能な監査チェックを実行します。たとえば、最も簡単なケースとして、コマンドライン・オプションなしでOracle EXAchkを実行できます。
./exachk
Oracle EXAchkが管理ドメインで実行されると、すべてのデータベース・サーバー、ストレージ・サーバー、およびInfiniBandネットワーク経由でアクセス可能なInfiniBandスイッチで監査チェックを実行します。
サーバーまたはスイッチのサブセットでOracle EXAchkを実行するには、次のコマンドライン・オプションを使用します。
表2-7 Oracle EXAchkのコマンドライン・オプション
オプション | 説明 |
---|---|
|
データベース・サーバーのカンマ区切りリストを指定します。 |
|
ストレージ・サーバーのカンマ区切りリストを指定します。 |
|
InfiniBandスイッチのカンマ区切りリストを指定します。 |
たとえば、最初のクオータ・ラックのみが仮想化用に構成されているが、InfiniBandネットワーク経由ですべてのコンポーネントにアクセス可能なOracle Exadata Database Machineのフル・ラックの場合、データベース・サーバーdm01adm01
から次のようなコマンドを実行できます。
./exachk -clusternodes dm01adm01,dm01adm02 -cells dm01celadm01,dm01celadm02,dm01celadm03 -ibswitches dm01swibs0,dm01sw-iba0,dm01sw-ibb0
関連トピック
この項では、データベース・サーバー内の論理ボリューム・マネージャ(LVM)パーティションについて説明します。LVMにはパーティションを再編成する柔軟性があります。
注意:
ソフトウェア保守の際にdbnodeupdate.shユーティリティで作成されるLVMスナップショットのために、VGExaDb
ボリューム・グループ内に、少なくとも1GBの空き領域が必要です。「Oracle Linuxデータベース・サーバーのスナップショット・ベースのバックアップの作成」の手順に従い、/
(root)および/u01
ディレクトリのバックアップをスナップショット・ベースで作成する場合、VGExaDb
ボリューム・グループに少なくとも6GBの空き領域が必要です。
この項では、次の項目について説明します。
ルートLVMパーティションを拡張する手順は、Oracle Exadata Storage Server Softwareのリリースにより異なります。次の各項では、手順をリリースごとに説明します。
次の手順では、Oracle Exadata Storage Server Softwareリリース11.2.3.2.1以上を実行するシステム上で、ルート(/
)パーティションのサイズを拡大する方法について説明します。
注意:
この手順では、サーバーを停止する必要はありません。
dom0システムの場合、アクティブのSys LVMと非アクティブのSys LVMは、LVDbSys1とLVDbSys2ではなく、LVDbSys2とLVDbSys3です。
LVDbSys1およびLVDbSys2のサイズが同じに設定されていることを確認します。
次のように、現在の環境に関する情報を収集します。
次のように、df
コマンドを使用して、rootパーティション(/
)内の空き領域および使用済領域の容量を確認します。
# df -h /
次に、コマンドの出力例を示します。
Filesystem Size Used Avail Use% Mounted on /dev/mapper/VGExaDb-LVDbSys1 30G 22G 6.2G 79% /
注意:
アクティブなrootパーティションは、それ以前の保守アクティビティによりLVDbSys1
またはLVDbSys2
のいずれかに決定されます。
lvs
コマンドを使用して、現在のボリューム構成を表示します。
# lvs -o lv_name,lv_path,vg_name,lv_size
次に、コマンドの出力例を示します。
LV Path VG LSize LVDbOra1 /dev/VGExaDb/LVDbOra1 VGExaDb 100.00g LVDbSwap1 /dev/VGExaDb/LVDbSwap1 VGExaDb 24.00g LVDbSys1 /dev/VGExaDb/LVDbSys1 VGExaDb 30.00g LVDbSys2 /dev/VGExaDb/LVDbSys2 VGExaDb 30.00g LVDoNotRemoveOrUse /dev/VGExaDb/LVDoNotRemoveOrUse VGExaDb 1.00g
tune2fs
コマンドを使用して、オンラインのサイズ変更オプションを確認します。
tune2fs -l /dev/mapper/vg_name-lv_name | grep resize_inode
次に例を示します。
tune2fs -l /dev/mapper/VGExaDb-LVDbSys1 | grep resize_inode
resize_inode
オプションが、コマンド出力に表示されます。オプションが表示されない場合、パーティションのサイズ変更の操作をする以前に、ファイル・システムがアンマウントしています。「Oracle Exadata Storage Server Softwareリリース11.2.3.2.1より前のリリースを実行するシステムでの、ルートLVMパーティションの拡張」を参照して、パーティションのサイズを変更してください。
ボリューム・グループVGExaDb
の使用可能な領域を確認するには、次のように、vgdisplay
コマンドを使用します。
# vgdisplay -s
次に、コマンドの出力例を示します。
"VGExaDb" 834.89 GB [184.00 GB used / 650.89 GB free]
ボリューム・グループは、二つのシステム・パーティションのサイズを増やすことができる空き領域を持ち、アップグレードの際にdbnodeupdate.shユーティリティで作成されるLVMスナップショットで使用するために、少なくとも1GBの空き領域を維持する必要があります。
十分な空き領域がない場合、reclaimdisks.sh
ユーティリティが実行中であるかどうか確認してください。ユーティリティが実行されていない場合、次のコマンドを実行して、ディスク領域をリクレイムします。
# /opt/oracle.SupportTools/reclaimdisks.sh -free -reclaim
ユーティリティが実行中で、十分な空き領域がない場合、LVMはサイズ変更できません。
注意:
reclaimdisks.sh
は、RAID再構築(ディスクの置換えまたは拡張)と同時に実行できません。RAID再構築が完了するまで待機してから、reclaimdisks.sh
を実行してください。
LVDbSys1
およびLVDbSys2
論理ボリュームのサイズを変更するには、次のように、lvextend
コマンドを使用します。
# lvextend -L +XG --verbose /dev/VGExaDb/LVDbSys1 # lvextend -L +XG --verbose /dev/VGExaDb/LVDbSys2
前述のコマンドのXGは、拡大される論理ボリュームの量(GB)です。いずれのシステム・パーティションにも、等しい容量の領域を追加します。
次の例では、拡大する論理ボリュームは10GBです。
# lvextend -L +10G /dev/VGExaDb/LVDbSys1 # lvextend -L +10G /dev/VGExaDb/LVDbSys2
論理ボリューム内のファイル・システムのサイズを変更するには、次のように、resize2fs
コマンドを使用します。
# resize2fs /dev/VGExaDb/LVDbSys1 # resize2fs /dev/VGExaDb/LVDbSys2
df
コマンドを使用して、アクティブなシステム・パーティションで領域が拡大されたことを確認します。
# df -h /
次の手順では、Oracle Exadata Storage Server Softwareリリース11.2.3.2.1より前のリリースを実行するシステム上で、ルート(/
)パーティションのサイズを拡大する方法について説明します。
注意:
この手順では、システムをオフラインにしてから再起動する必要があります。
ソフトウェア保守の際にdbnodeupdate.shユーティリティで作成されるLVMスナップショットのために、VGExaDb
ボリューム・グループ内に、少なくとも1GBの空き領域が必要です。「Oracle Linuxデータベース・サーバーのスナップショット・ベースのバックアップの作成」の手順に従い、/
(root)および/u01
ディレクトリのバックアップをスナップショット・ベースで作成する場合、VGExaDb
ボリューム・グループに少なくとも6GBの空き領域が必要です。
dom0システムの場合、アクティブのSys LVMと非アクティブのSys LVMは、LVDbSys1とLVDbSys2ではなく、LVDbSys2とLVDbSys3です。
LVDbSys1およびLVDbSys2のサイズが同じに設定されていることを確認します。
次のように、現在の環境に関する情報を収集します。
df
コマンドを使用して、ルート・パーティション(/
)およびルート以外のパーティション(/u01
)のマウント・ポイント、およびそれぞれのLVMを確認します。次に、コマンドの出力例を示します。
# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/VGExaDb-LVDbSys1 30963708 21867152 7523692 75% / /dev/sda1 126427 16355 103648 14% /boot /dev/mapper/VGExaDb-LVDbOra1 103212320 67404336 30565104 69% /u01 tmpfs 84132864 3294608 80838256 4% /dev/shm
df
コマンド出力のファイル・システム名は次のような形式になります。
/dev/mapper/VolumeGroup-LogicalVolune
前述の例のルート・ファイル・システムの完全論理ボリューム名は/dev/VGExaDb/LVDbSys
1になります。
次のように、lvscan
コマンドを使用して、論理ボリュームを表示します。
#lvm lvscan ACTIVE '/dev/VGExaDb/LVDbSys1' [30.00 GB] inherit ACTIVE '/dev/VGExaDb/LVDbSwap1' [24.00 GB] inherit ACTIVE '/dev/VGExaDb/LVDbOra1' [100.00 GB] inherit
lvdisplay
コマンドを使用して、現在の論理ボリュームおよびボリューム・グループ構成を表示します。
#lvm lvdisplay /dev/VGExaDb/LVDbSys1 --- Logical volume --- LV Name /dev/VGExaDb/LVDbSys1 VG Name VGExaDb LV UUID GScpD7-lKa8-gLg9-oBo2-uWaM-ZZ4W-Keazih LV Write Access read/write LV Status available # open 1 LV Size 30.00 GB Current LE 7680 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0
論理ボリュームを拡大できるように、ボリューム・グループVGExaDbに使用可能な領域があることを確認します。コマンドで空き領域がゼロと表示された場合は、論理ボリュームまたはファイル・システムは拡大できません。
# lvm vgdisplay VGExaDb -s "VGExaDb" 556.80 GB [154.00 GB used / 402.80 GB free]
次のように、システムを診断モードで再起動します。
ILOMインタフェースを使用して、/opt/oracle.SupportTools/diagnostics.iso
ファイルをマシンのディレクトリにコピーします。
ILOM Webインタフェースにログインします。
リモート制御タブを選択します。
リダイレクトタブを選択します。
リモート・コンソールの起動をクリックします。ILOMリモート・コンソールウィンドウが表示されます。
ILOMリモート・コンソールウィンドウで、「デバイス」メニューを選択します。
CD-ROMイメージをクリックします。
ファイルのオープンダイアログ・ボックスで、ローカル・マシンのdiagnostics.iso
ファイルの場所に移動します。
diagnostics.iso
ファイルを選択します。
「開く」をクリックします。次のようなメッセージがコンソールに表示されます。
リモート制御タブからホスト制御を選択します。
次の起動デバイスとしてCDROMを値リストから選択します。
「保存」をクリックします。システムがブートすると、diagnostics.iso
イメージが使用されます。システムは次の再起動後にデフォルトに戻ります。
ILOMリモート・コンソールウィンドウで、root
ユーザーとしてログインします。
次のコマンドを使用して、サーバーを再起動します。
# shutdown -r now
システムはdiagnostics.iso
イメージを使用し始めます。
次のように、e
を入力して、診断シェルに入ります。
Choose from following by typing letter in '()': (e)nter interactive diagnostics shell. Must use credentials from Oracle support to login (reboot or power cycle to exit the shell), (r)estore system from NFS backup archive, Select:e
root
ユーザーとしてシステムにログインします。パスワードを要求されます。
localhost login: root Password: ********* -sh-3.1#
次のコマンドを使用して、root
ファイル・システムをアンマウントします。
# cd / # umount /mnt/cell
次のコマンドを使用して、論理ボリューム名を確認します。
# lvm lvscan ACTIVE '/dev/VGExaDb/LVDbSys1' [30.00 GB] inherit ACTIVE '/dev/VGExaDb/LVDbSwap1' [24.00 GB] inherit ACTIVE '/dev/VGExaDb/LVDbOra1' [100.00 GB] inherit
次のコマンドを使用して、現在のルート・ファイル・システムとバックアップ・ルート・ファイル・システムを保持するLVDbSys1とLVDbSys2のサイズを変更します。
# lvm lvextend -L+XG --verbose /dev/VGExaDb/LVDbSys1 # lvm lvextend -L+XG --verbose /dev/VGExaDb/LVDbSys2
前述のコマンドのXGは、拡大される論理ボリュームの量(GB)です。たとえば、論理ボリュームを5 GB拡大する場合、コマンドは次のようになります。
# lvm lvextend -L+5G --verbose /dev/VGExaDb/LVDbSys1 # lvm lvextend -L+5G --verbose /dev/VGExaDb/LVDbSys2
fsck.ext3
またはfsck.ext4
を使用して、ファイル・システムが有効であることを確認します。使用するコマンドはファイル・システムのタイプによって異なります。
# fsck.ext3 -f /dev/VGExaDb/LVDbSys1 # fsck.ext3 -f /dev/VGExaDb/LVDbSys2
または
# fsck.ext4 -f /dev/VGExaDb/LVDbSys1 # fsck.ext4 -f /dev/VGExaDb/LVDbSys2
次のコマンドを使用して、ファイル・システムのサイズを変更します。
# resize2fs -p /dev/VGExaDb/LVDbSys1 # resize2fs -p /dev/VGExaDb/LVDbSys2
システムを通常のモードで再起動します。
# reboot
システムにログインします。
ルート・ファイル・システム・マウントが新しいサイズで問題なくマウントされていることを確認します。
ルート以外のLVMパーティションのサイズを変更する手順は、Oracle Exadata Storage Server Softwareのリリースにより異なります。次の各項では、手順をリリースごとに説明します。
この手順では、Oracle Exadata Storage Server Softwareリリース11.2.3.2.1以降を実行するシステム上で、非ルート(/u01
)パーティションのサイズを拡大する方法について説明します。
この手順では、サーバーを停止する必要はありません。
この手順では、Oracle Exadata Storage Server Softwareリリース11.2.3.2.1より前のリリースを実行するシステム上で、非ルート(/u01
)パーティションのサイズを拡大する方法について説明します。
ここでは、/dev/VGExaDb/LVDbOra1
が/u01
でマウントされます。
注意:
ソフトウェア保守の際にdbnodeupdate.sh
ユーティリティで作成されるLVMスナップショットのために、VGExaDb
ボリューム・グループ内に、少なくとも1GBの空き領域が必要です。「Oracle Linuxデータベース・サーバーのスナップショット・ベースのバックアップの作成」の手順に従い、/
(root)および/u01
ディレクトリのバックアップをスナップショット・ベースで作成する場合、VGExaDb
ボリューム・グループに少なくとも6GBの空き領域が必要です。
この手順では、スワップ(/swap
)パーティションのサイズを拡大する方法について説明します。
注意:
この手順では、システムをオフラインにしてから再起動する必要があります。
ソフトウェア保守の際にdbnodeupdate.sh
ユーティリティで作成されるLogical Volume Manager (LVM)スナップショットのために、VGExaDb
ボリューム・グループ内に、少なくとも1GBの空き領域が必要です。「Oracle Linuxデータベース・サーバーのスナップショット・ベースのバックアップの作成」の手順に従い、/
(root)および/u01
ディレクトリのバックアップをスナップショット・ベースで作成する場合、VGExaDb
ボリューム・グループに少なくとも6GBの空き領域が必要です。
データベース・サーバーのソフトウェアの重要な変更の前後にバックアップを行う必要があります。たとえば、次の手順の前後にバックアップを作成する必要があります。
オペレーティング・システム・パッチの適用
Oracleパッチの適用
重要な操作パラメータの再構成
重要なOracle以外のソフトウェアのインストールまたは再構成
この項では、次の項目について説明します。
この手順は、スナップショット・ベースのバックアップを取得する方法を示しています。手順で示す値は、例です。
元の出荷時の構成からデータベース・サーバー・パーティションをカスタマイズしていない場合、この項の手順を使用してバックアップを作成し、そのバックアップを使用してデータベース・サーバーをリストアします。
注意:
リカバリ手順により、出荷時の名前およびサイズを含む正確なパーティションがリストアされます。パーティションを少しでも変更した場合、この手順は使用できません。変更には、サイズや名前の変更、パーティションの追加または削除が含まれます。
root
ユーザーとして、すべての手順を実行する必要があります。
Oracle Virtual Serverデプロイメントで、管理ドメイン(dom0)とユーザー・ドメイン(domU)をバックアップする必要があります。
次の手順は、管理ドメインdom0のスナップショット・ベースのバックアップを取得する方法を示しています。次の手順で示す値は、例です。
rootユーザーとして、すべての手順を実行する必要があります。
バックアップの保存先を準備します。
バックアップ先は、書込み可能なNFSの場所など、ローカル・マシンの外部に存在するようにし、バックアップtarファイルを保持できる十分な大きさにする必要があります。カスタマイズされていないパーティションの場合、バックアップを保持するのに必要な領域は約60 GBです。
次のコマンドを使用してバックアップ先を準備できます。
# mkdir -p /remote_FS # mount -t nfs -o rw,intr,soft,proto=tcp,nolock ip_address:/nfs_location/ /remote_FS
ip_address
は、NFSサーバーのIPアドレスで、nfs_location
は、バックアップを保持するNFSの場所です。
/ (ルート)ディレクトリをホストするファイル・システムのスナップショット・ベースのバックアップを取得します。
/ (ルート)ディレクトリをホストするファイル・システムに、LVDbSys3_snap
という名前のスナップショットを作成します。このコマンドでは、LVDbSys3がアクティブ・パーティションであることを前提とします。
# lvcreate -L1G -s -n LVDbSys3_snap /dev/VGExaDb/LVDbSys3
スナップショットにラベルを付けます。
# e4label /dev/VGExaDb/LVDbSys3_snap DBSYSOVS_SNAP
スナップショットをマウントします。
# mkdir /root/mnt # mount /dev/VGExaDb/LVDbSys3_snap /root/mnt -t ext4
バックアップのディレクトリに変更します。
# cd /root/mnt
バックアップ・ファイルを作成します。
# tar -pjcvf /remote_FS/mybackup.tar.bz2 * /boot > /tmp/backup_tar.stdout 2> /tmp/backup_tar.stderr
/tmp/backup_tar.stderr
ファイルをチェックして、重大なエラーがないかを確認します。tarオープン・ソケットの障害に関するエラーおよび他の同様のエラーは無視できます。
スナップショットをアンマウントして、ルート・ディレクトリのスナップショットを削除します。
# cd / # umount /root/mnt # /bin/rmdir /root/mnt # lvremove /dev/VGExaDb/LVDbSys3_snap
次のコマンドを使用して、NFS共有をアンマウントします。
# umount /remote_FS
ユーザー・ドメインのバックアップ方法は2つあります。
方法1: Oracle Cluster File System (OCFS) reflinkを使用して記憶域リポジトリをバックアップし、一貫性のあるバックアップを取得する
この方法では、/EXAVMIMAGES
ocfs2ファイル・システムである記憶域リポジトリをバックアップします。
dom0によって管理されるすべてのユーザー・ドメインをバックアップする、/EXAVMIMAGES
全体をバックアップしたり、バックアップするユーザー・ドメインを選択したりできます。ユーザー・ドメインは、/EXAVMIMAGES/GuestImages/
user
ディレクトリにあります。
この方法では、方法2よりもより堅牢で包括的なバックアップが可能です。方法2は、特にロール別に分離された環境で、迅速で簡単なバックアップ方法が提供されます。
方法1は、dom0管理者がユーザー・ドメインのバックアップを担当している場合に最適です。
方法2: スナップショット・ベースのバックアップを使用してユーザー・ドメインをバックアップする
この方法では、ユーザー・ドメイン内部からスナップショット・ベースのバックアップを作成することで、単一のユーザー・ドメインをバックアップします。
方法2は、ユーザー・ドメイン管理者がユーザー・ドメインのバックアップを担当している場合に最適です。
/EXAVMIMAGES
OCFS2ファイル・システムである記憶域リポジトリをバックアップすることができます
次に示す手順ではすべてのユーザー・ドメインがバックアップされます。
次のサンプル・コマンドは、前述の手順2から6にリストされている操作の参照として使用できます。
## Create the Backup Directory find /EXAVMIMAGES -type d|grep -v 'lost+found'|awk '{print "mkdir -p /EXAVMIMAGES/Backup"$1}'|sh ## Pause user domains xm list|egrep -v '^Domain-0|^Name'|awk '{print "xm pause",$2}'|sh ## Create Reflinks for all the files to be backed up find /EXAVMIMAGES/ -type f|awk '{print "reflink",$0,"/EXAVMIMAGES/Backup"$0}'|sh ## Unpause user domains xm list|egrep -v '^Domain-0|^Name'|awk '{print "xm unpause",$2}'|sh; ## Backup from the reflinks pushd /EXAVMIMAGES/Backup/EXAVMIMAGES tar -Spcvf /remote_FS/exavmimages-sparse.tar * 1> /tmp/Backup.log 2> /tmp/Backup.err popd rm -rf /EXAVMIMAGES/Backup/*
次の手順は、ユーザー・ドメイン内からユーザー・ドメインのスナップショット・ベースのバックアップを取得する方法を示しています。
注意:
LVMスナップショットを使用してユーザー・ドメイン内からユーザー・ドメインをバックアップする方法では、リカバリ時の使用に関して制限があります。このようなバックアップは、ユーザー・ドメインがまだブート可能で、rootユーザーとしてログインできる場合のリカバリ用にのみ使用できます。これは、一部のファイルに損失または損傷が発生したが、ユーザー・ドメインがブートされ、/ (ルート)パーティションがマウントされた後に、tarバックアップからリストアできるような損傷です。そのような状況ではなくユーザー・ドメインをブートできない損傷の場合は、上述の方法1で作成したバックアップを使用してユーザー・ドメインをリカバリする必要があります。この場合は次の手順を実行して、ユーザー・ドメイン・レベルでリカバリ手順を実行する必要があります。
すべての手順はユーザー・ドメイン内から実行します。
この手順では、次がバックアップされます。
LVDbSys1 lvm
LVDbOra1 lvm
/boot
パーティション
Grid Infrastructureホーム
RDBMSホーム
rootユーザーとして、すべての手順を実行する必要があります。
バックアップの保存先を準備します。
# mkdir -p /remote_FS # mount -t nfs -o rw,intr,soft,proto=tcp,nolock ip_address:/nfs_location/ /remote_FS
ip_addressは、NFSサーバーのIPアドレスで、nfs_locationは、バックアップを保持するNFSの場所です。
次のように、/ (ルート)および/u01ディレクトリを含むファイル・システムのスナップショット・ベースのバックアップを取得します。
ルート・ディレクトリを含むファイル・システムに、LVDbSys1_snapと言う名前のスナップショットを作成します。ボリューム・グループには、コマンドを正常に実行するのに少なくとも1 GBの空き領域が必要です。
# lvcreate -L1G -s -n LVDbSys1_snap /dev/VGExaDb/LVDbSys1
スナップショットにラベルを付けます。
# e2label /dev/VGExaDb/LVDbSys1_snap DBSYS_SNAP
スナップショットをマウントします。
# mkdir /root/mnt # mount /dev/VGExaDb/LVDbSys1_snap /root/mnt -t ext4
/u01
ディレクトリにu01_snapという名前のスナップショットを作成します。
# lvcreate -L256M -s -n u01_snap /dev/VGExaDb/LVDbOra1
スナップショットにラベルを付けます。
# e2label /dev/VGExaDb/u01_snap DBORA_SNAP
スナップショットをマウントします。
# mkdir -p /root/mnt/u01 # mount /dev/VGExaDb/u01_snap /root/mnt/u01 -t ext4
バックアップのディレクトリに変更します。
# cd /root/mnt
バックアップ・ファイルを作成して、前述で取得した2つのスナップショット、/boot
パーティション、RDBMSホームおよびグリッド・インフラストラクチャのホームをバックアップします。
# tar -pjcvf /remote_FS/mybackup.tar.bz2 * /boot /u01/app/12.1.0.2/grid /u01/app/oracle/product/12.1.0.2/dbhome_1 > /tmp/backup_tar.stdout 2> /tmp/backup_tar.stderr
/tmp/backup_tar.stderr
ファイルをチェックして、重大なエラーがないかを確認します。tarオープン・ソケットの障害に関するエラーおよび他の同様のエラーは無視できます。
ルート・ディレクトリを含むファイル・システムのスナップショットをアンマウントおよび削除します。
# cd / # umount /root/mnt/u01 # umount /root/mnt # /bin/rmdir /root/mnt # lvremove /dev/VGExaDb/u01_snap # lvremove /dev/VGExaDb/LVDbSys1_snap
NFS共有をアンマウントします。
# umount /remote_FS
この項では、データベース・サーバーで重大な障害が発生した後またはサーバー・ハードウェアを新しいハードウェアに交換する必要がある場合に、スナップショット・ベースのバックアップを使用して、Oracle Linuxを実行するデータベース・サーバー・ファイル・システムをリカバリする方法について説明します。たとえば、すべてのハード・ディスクを交換すると、システムの元のソフトウェアはトレースできません。これは、ソフトウェアの完全なシステムの交換と似ています。さらに、障害状態になる前にデータベース・サーバーが正常であったときに取得したLVMスナップショット・ベースのバックアップを使用するデータベース・サーバーの障害リカバリ方法を提供します。
リカバリ手順では、diagnostics.iso
イメージを仮想CD-ROMとして使用し、ILOMを使用してレスキュー・モードでデータベース・サーバーを再起動します。一般的なワークフローには次の作業があります。
次のものを再作成します。
ブート・パーティション
物理ボリューム
ボリューム・グループ
論理ボリューム
ファイル・システム
スワップ・パーティション
スワップ・パーティションをアクティブ化します。
/boot
パーティションがアクティブなブート・パーティションであることを確認します。
データをリストアします。
GRUBを再構成します。
サーバーを再起動します。
この項で説明するリカバリ手順には、Exadata Storage Serverまたはデータベース・データのバックアップまたはリカバリは含まれません。バックアップとリカバリ手順は定期的にテストすることをお薦めします。この項では、次の項目について説明します。
注意:
テープからリストアする場合は、追加のドライブをロードする必要がありますが、この章では扱いません。ファイルはNFSの場所にバックアップし、既存のテープ・オプションを使用して、NFSホストとの間でバックアップとリカバリを行うことをお薦めします。
パーティションをカスタマイズしていない場合にスナップショット・ベースのバックアップを使用してOracle Linuxデータベース・サーバーをリカバリできます。
この手順は、パーティション、論理ボリューム、ファイル・システム、およびそれらのサイズの配置がデータベース・サーバーの最初のデプロイ時の配置と等しい場合に適用されます。
注意:
ディスクの既存のすべてのデータは、この手順の実行中に失われます。
次の手順では、パーティションをカスタマイズしている場合にスナップショット・ベースのバックアップを使用してOracle Linuxデータベース・サーバーをリカバリする方法について説明します。diagnostics.iso
を使用してデータベース・サーバーを起動した後にenter interactive diagnostics shell
およびrestore system from NFS backup archive
オプションの選択を要求されるまで、カスタマイズされていないパーティションのリストア手順と同じです。
診断シェルの入力を選択して、root
ユーザーとしてログインします。root
ユーザーのパスワードがない場合は、Oracleサポート・サービスにお問い合せください。
必要に応じて、/opt/MegaRAID/MegaCli/MegaCli64
を使用して、ディスク・コントローラを構成してディスクを設定します。
/boot
にマウントする少なくとも128MBのプライマリ・ブート・パーティションが作成されていることを確認します。ブート領域にLVMパーティションは指定できません。
次のコマンドを使用して、ブート・パーティションを作成します。
umount /mnt/cell parted /dev/sda
インタラクティブ・シェルが表示されます。次の手順では、システム・プロンプトに応答する方法について説明します。
次のようにディスク・ラベルを割り当てます。
バージョン11.2.3.3.0以上を実行している場合は、mklabel gpt
を実行します。
11.2.3.3.0より前のバージョンを実行している場合は、mklabel msdos
を実行します。
ユニット・サイズをセクターとして設定するには、「unit s
」と入力します。
「print
」と入力して既存のパーティションを表示して、パーティション表を確認します。
「rm
<part#>
」と入力して、再作成されるパーティションを削除します。
新しい最初のパーティションを作成するには、「mkpart primary 63 1048639
」と入力します。
ブート・パーティションのブート可能フラグを設定するには、「set 1 boot on
」と入力します。
次のように、2番目のプライマリ(lvm)・パーティションを作成します。
新しい2番目のパーティションを作成するには、「mkpart primary 1048640 -1
」と入力します。
LVMを選択するには、「set 2 lvm on
」と入力します。
ディスクに情報を書き込んだ後に終了するには、「quit
」と入力します。
次のように、/sbin/lvm
コマンドを使用して、カスタマイズされたLVMパーティションを再作成し、mkfs
を使用してファイル・システムを作成します。
次のコマンドを使用して、物理ボリューム、ボリューム・グループおよび論理ボリュームを作成します。
lvm pvcreate /dev/sda2 lvm vgcreate VGExaDb /dev/sda2
次のコマンドを使用して、/
(ルート)ディレクトリの論理ボリュームおよびファイル・システムを作成し、ラベルを付けます。
論理ボリュームを作成します。
lvm lvcreate -n LVDbSys1 -L40G VGExaDb
予約パーティション用の論理ボリュームを作成します。この手順は、リリース12.1.2.2.0以上のExadataソフトウェアを実行している場合にのみ必要となります。
# lvm lvcreate -n LVDoNotRemoveOrUse –L1G VGExaDb
この論理ボリュームにファイル・システムは作成しません。
ファイル・システムを作成します。
ext4ファイル・システムがすでにある場合は、次のようにmkfs.ext4
コマンドを使用します。
mkfs.ext4 /dev/VGExaDb/LVDbSys1
ext3ファイル・システムがすでにある場合は、次のようにmkfs.ext3
コマンドを使用します。
mkfs.ext3 /dev/VGExaDb/LVDbSys1
ラベルを付けます。
e2label /dev/VGExaDb/LVDbSys1 DBSYS
次のコマンドを使用して、swap
ディレクトリの論理ボリュームを作成し、ラベルを付けます。
lvm lvcreate -n LVDbSwap1 -L24G VGExaDb mkswap -L SWAP /dev/VGExaDb/LVDbSwap1
次のコマンドを使用して、root/u01
ディレクトリの論理ボリュームを作成し、ラベルを付けます。
論理ボリュームを作成します。
lvm lvcreate -n LVDbOra1 -L100G VGExaDb
ファイル・システムを作成します。
ext4ファイル・システムがすでにある場合は、次のようにmkfs.ext4
コマンドを使用します。
mkfs.ext4 /dev/VGExaDb/LVDbOra1
ext3ファイル・システムがすでにある場合は、次のようにmkfs.ext3
コマンドを使用します。
mkfs.ext3 /dev/VGExaDb/LVDbOra1
ラベルを付けます。
e2label /dev/VGExaDb/LVDbOra1 DBORA
次のコマンドを使用して、/boot
パーティションにファイル・システムを作成し、ラベルを付けます。
ファイル・システムを作成します。
ext4ファイル・システムがすでにある場合は、次のようにmkfs.ext4
コマンドを使用します。
mkfs.ext4 /dev/sda1
ext3ファイル・システムがすでにある場合は、次のようにmkfs.ext3
コマンドを使用します。
mkfs.ext3 /dev/sda1
ラベルを付けます。
e2label /dev/sda1 BOOT
注意:
カスタマイズされたファイル・システム配置の場合は、ここで追加の論理ボリュームを作成できます。カスタマイズされた配置では、異なるサイズが使用される場合があります。
すべてのパーティションのマウント・ポイントを作成して元のシステムをミラー化し、各パーティションをマウントします。たとえば、/mnt
がこの最上位ディレクトリとして使用されると、マウントされるパーティションのリストは次のようになります。
/dev/VGExaDb/LVDbSys1 on /mnt /dev/VGExaDb/LVDbOra1 on /mnt/u01 /dev/sda1 on /mnt/boot
次に、ルート・ファイル・システムのマウント方法および2つのマウント・ポイントの作成方法の例を示します。次のコマンドのfilesystem_type_of_/_directory
は、/ (ルート)ディレクトリのファイル・システム(ext3
またはext4
のいずれか)を指定します。
mount /dev/VGExaDb/LVDbSys1 /mnt -t filesystem_type_of_/_directory mkdir /mnt/u01 /mnt/boot mount /dev/VGExaDb/LVDbOra1 /mnt/u01 -t filesystem_type_of_/u01_directory mount /dev/sda1 /mnt/boot -t filesystem_type_of_/boot_directory
注意:
カスタマイズされたファイル・システム配置で追加の論理ボリュームがある場合は、この手順で追加のマウント・ポイントを作成する必要があります。
次のように、ネットワークを起動し、バックアップが存在するNFSサーバーをマウントします。
次のコマンドを実行して、ネットワークを起動します。
オペレーティング・システムがOracle Linux 6以上の場合:
ip address add ip_address_for_eth0/netmask_for_eth0 dev eth0 ip link set up eth0 ip route add default via gateway_address dev eth0
オペレーティング・システムがOracle Linux 5の場合:
ifconfig eth0 ip_address_for_eth0 netmask netmask_for_eth0 up
NFSサーバーをIPアドレスnfs_ip
でマウントし、次のコマンドを使用して/export
としてバックアップする場所にエクスポートします。
mkdir -p /root/mnt mount -t nfs -o ro,intr,soft,proto=tcp,nolock nfs_ip:/export /root/mnt
次のコマンドを使用して、バックアップからリストアします。
tar -pjxvf /root/mnt/mybackup.tar.bz2 -C /mnt
次のコマンドを使用して、リストアしたファイル・システムをアンマウントし、/boot
パーティションを再マウントします。
umount /mnt/u01
umount /mnt/boot
umount /mnt
mkdir /boot
mount /dev/sda1 /mnt/boot -t filesystem_type_of_/boot_directory
ブート・ローダーを設定します。次の場合、/dev/sda1
が/boot
領域です。
grub find /I_am_hd_boot (1) root (hdX,0) setup (hdX) quit
前述のコマンドの(1)により、(hd0,0)などのI_am_hd_boot
ファイルを含むハード・ディスクhdX
が検索されます。
diagnostics.iso
ファイルを切り離します。
次のコマンドを使用して、/boot
パーティションをアンマウントします。
umount /boot
システムを再起動します。これで、サーバーのリストア手順が完了です。
reboot
リカバリをOracle Exadata Database Machineエイス・ラックで実行した場合は、「Oracle Exadata Database Machineエイス・ラックのOracle Linuxデータベース・サーバーのリカバリ後の構成」の手順を実行します。
Oracle Exadata Database Machineエイス・ラックのOracle Linuxデータベース・サーバーを再イメージ化、リストアまたはレスキューした場合は、次の手順を実行する必要があります。
Oracle Exadata Storage Serverリリース12.1.2.2.3以前を実行するX3-2マシン
別のデータベース・サーバーにある/opt/oracle.SupportTools/resourcecontrol
ユーティリティを、リカバリしたサーバーの/opt/oracle.SupportTools/resourcecontrol
ディレクトリにコピーします。
次のコマンドを使用して、ユーティリティに対して適切な権限が設定されていることを確認します。
# chmod 740 /opt/oracle.SupportTools/resourcecontrol
次のコマンドを使用して、現在の構成を検証します。コマンドの出力が表示されます。
# /opt/oracle.SupportTools/resourcecontrol -show Validated hardware and OS. Proceed. Number of cores active: 8
エイス・ラック構成の場合、8個のコアが有効になっている必要があります。その値が表示された場合、構成の変更は不要です。その値が表示されなかった場合は、手順4に進みます。
注意:
ユーティリティの実行後に次のようなエラーが発生した場合は、通常、サーバーを1回以上再起動すると、エラーが解消されます。
Validated hardware and OS. Proceed. Cannot get ubisconfig export. Cannot Proceed. Exit.
次のコマンドを使用して、構成を変更します。
# /opt/oracle.SupportTools/resourcecontrol -cores 8
次のコマンドを使用して、サーバーを再起動します。
# reboot
次のコマンドを使用して、構成の変更を検証します。
# /opt/oracle.SupportTools/resourcecontrol -show
コマンドを実行すると、データベース・サーバーについて次のような出力が表示されると予想されます。
This is a Linux database server. Validated hardware and OS. Proceed. Number of cores active per socket: 4
X6-8、X5-8、X4-8、X6-2、X5-2、X4-2およびX3-2マシン
X3–2システムでは、Oracle Exadata Storage Serverリリース12.1.2.3.0以上を実行している場合のみこの方法を使用します。
次の手順では、重大な障害が発生してOVSが損傷を受けた場合、またはサーバー・ハードウェアを新しいハードウェアに交換する必要がある場合に、スナップショット・ベースのバックアップからOracle Virtual Server (OVS)をリカバリする方法について説明します。たとえば、すべてのハード・ディスクを交換すると、システムの元のソフトウェアはトレースできません。これは、ソフトウェアの完全なシステムの交換と似ています。さらに、障害状態になる前にデータベース・サーバーが正常であったときに取得したLVMスナップショット・ベースのバックアップを使用するデータベース・サーバーの障害リカバリ方法を提供します。
リカバリ手順では、diagnostics.iso
イメージを仮想CD-ROMとして使用し、ILOMを使用してレスキュー・モードでOracle Virtual Serverを再起動します。この手順の概要は、次のようになります。
次のものを再作成します。
ブート・パーティション
物理ボリューム
ボリューム・グループ
論理ボリューム
ファイル・システム
スワップ・パーティション
スワップ・パーティションをアクティブ化します。
/boot
パーティションがアクティブなブート・パーティションであることを確認します。
データをリストアします。
GRUBを再構成します。
サーバーを再起動します。
この項で説明するリカバリ手順には、Exadata Storage Serverまたはデータベース・データのバックアップまたはリカバリは含まれません。バックアップとリカバリ手順は定期的にテストすることをお薦めします。
注意:
ディスクの既存のすべてのデータは、この手順の実行中に失われます。
NFSサーバーを準備して、バックアップ・アーカイブmybackup.tar.bz2
をホストします。
IPアドレスを使用して、NFSサーバーにアクセスできる必要があります。たとえば、IPアドレスnfs_ipを使用するNFSサーバーで/export
ディレクトリがNSFマウントからエクスポートされる場合は、/export
ディレクトリにmybackup.tar.bz2
ファイルを置きます。
正常なデータベース・サーバーにある/opt/oracle.SupportTools/diagnostics.iso
ファイルをリストア対象のOracle Virtual ServerのILOMに仮想メディアとして接続します。
次に、ILOMインタフェースを使用した仮想CD-ROMの設定方法の例を示します。
ILOMインタフェースを使用するマシンのディレクトリに、diagnostics.iso
ファイルをコピーします。
ILOM Webインタフェースにログインします。
Oracle ILOM Webインタフェースで、リモート制御→リダイレクトをクリックします。
ビデオのリダイレクトを使用するを選択します。
コンソールが起動したら、KVMSメニューのストレージをクリックします。
DVDイメージなどのストレージ・イメージを追加するには、ストレージ・デバイス・ダイアログ・ボックスで、「追加」をクリックします。
diagnostics.iso
ファイルを開きます。
図2-7 diagnostics.isoファイルを選択するための「ストレージ・デバイスの追加」ダイアログを表示するILOM Webインタフェース
ストレージ・デバイス・ダイアログ・ボックスからストレージ・メディアをリダイレクトするには、ストレージ・メディアを選択して、「接続」をクリックします。
デバイスとの接続が確立されると、ストレージ・デバイス・ダイアログ・ボックスの「接続」ボタンのラベルが「切断」に変わります。
「ホスト管理」タブからホスト制御を選択します。
次の起動デバイスとしてCDROMを値リストから選択します。
「保存」をクリックします。システムがブートすると、diagnostics.iso
イメージが使用されます。
isoファイルからシステムを再起動します。
これは、次のいずれかの方法を使用して実行できます。
起動中に、CD-ROMを起動デバイスとして選択するか、または
リストア対象のOVSのILOMにアクセスできる他のマシンから、ipmitool
コマンドを実行して、起動デバイスを事前に設定します。
# ipmitool -H ILOM_ip_address_or_hostname -U root chassis bootdev cdrom # ipmitool -H ILOM_ip_address_or_hostname -U root chassis power cycle
システムに次が表示された場合:
Choose from following by typing letter in '()': (e)nter interactive diagnostics shell. Must use credentials from Oracle support to login (reboot or power cycle to exit the shell), (r)estore system from NFS backup archive,
"e
"と入力して、診断シェルに入り、rootユーザーとしてログインします。rootユーザーのパスワードがない場合は、Oracleサポート・サービスに連絡してください。
必要に応じて、/opt/MegaRAID/MegaCli/MegaCli64
を使用して、ディスク・コントローラを構成してディスクを設定します。
障害の発生後に論理ボリューム、ボリューム・グループおよび物理ボリュームが存在する場合は、それらを削除します。
# lvm vgremove VGExaDb # lvm pvremove /dev/sda2
既存のパーティションを削除し、ドライブをクリーン・アップします。
# parted GNU Parted 2.1 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) rm 1 sda: sda2 sda3 (parted) rm 2 sda: sda3 (parted) rm 3 sda: (parted) q # dd if=/dev/zero of=/dev/sda bs=64M count=2
3つのパーティションを/dev/sda
に作成します。
ディスク/dev/sda
の終了セクタを取得し、変数に保存します。
# end_sector=$(parted -s /dev/sda unit s print|perl -ne '/^Disk\s+\S+:\s+(\d+)s/ and print $1')
次のコマンドの開始および終了セクタの値は、残りのdom0から取得されています。これらの値は時間とともに変更される場合があるため、次のコマンドを使用して、これらの値を残りのdom0から確認することをお薦めします。
# parted -s /dev/sda unit S print
/boot
パーティション/dev/sda1
を作成します。
# parted -s /dev/sda mklabel gpt mkpart primary 64s 1048639s set 1 boot on
LVMを保持するパーティション/dev/sda2
を作成します。
# parted -s /dev/sda mkpart primary 1048640s 240132159s set 2 lvm on
ocfs2記憶域リポジトリ・パーティション/dev/sda3
を作成します。
# parted -s /dev/sda mkpart primary 240132160s ${end_sector}s set 3
/sbin/lvm
コマンドを使用して論理ボリュームを再作成し、mkfs
を使用してファイル・システムを作成します。
物理ボリュームおよびボリューム・グループを作成します。
# lvm pvcreate /dev/sda2 # lvm vgcreate VGExaDb /dev/sda2
/ (ルート)ディレクトリを含むファイル・システムの論理ボリュームを作成して、ラベルを付けます。
# lvm lvcreate -n LVDbSys3 -L30G VGExaDb # mkfs.ext4 /dev/VGExaDb/LVDbSys3 # e2label /dev/VGExaDb/LVDbSys3 DBSYSOVS
スワップ・ディレクトリの論理ボリュームを作成して、ラベルを付けます。
# lvm lvcreate -n LVDbSwap1 -L24G VGExaDb # mkswap -L SWAP /dev/VGExaDb/LVDbSwap1
バックアップ・パーティションの論理ボリュームを作成して、その上部にファイル・システムを構築します。
# lvm lvcreate -n LVDbSys2 -L30G VGExaDb # mkfs.ext4 /dev/VGExaDb/LVDbSys2
予約パーティション用の論理ボリュームを作成します。
# lvm lvcreate -n LVDoNotRemoveOrUse –L1G VGExaDb
この論理ボリュームにファイル・システムは作成しません。
/dev/sda1
パーティションにファイル・システムを作成し、ラベルを付けます。
次のmkfs.ext3
コマンドで、inodeサイズを128に設定するには"-I 128
"オプションが必要です。
# mkfs.ext3 -I 128 /dev/sda1 # tune2fs -c 0 -i 0 /dev/sda1 # e2label /dev/sda1 BOOT
すべてのパーティションのマウント・ポイントを作成して、各パーティションをマウントします。
たとえば、/mntが最上位ディレクトリとして使用されると、マウントされるパーティションのリストは次のようになります。
/dev/VGExaDb/LVDbSys3
on /mnt
/dev/sda1
on /mnt/boot
次の例では、ルート・ファイル・システムをマウントし、2つのマウント・ポイントを作成します。
# mount /dev/VGExaDb/LVDbSys3 /mnt -t ext4 # mkdir /mnt/boot # mount /dev/sda1 /mnt/boot -t ext3
eth0でネットワークを起動し、ホストのIPアドレス/ネットマスクを割り当てます。
# ifconfig eth0 ip_address_for_eth0 netmask netmask_for_eth0 up # route add -net 0.0.0.0 netmask 0.0.0.0 gw gateway_ip_address
バックアップを保持するNFSサーバーをマウントします。
# mkdir -p /root/mnt # mount -t nfs -o ro,intr,soft,proto=tcp,nolock nfs_ip:/location_of_backup /root/mnt
「スナップショット・ベースのバックアップを使用した管理ドメインdom0のバックアップ」で作成したバックアップ、/およびブート・ファイル・システムからリストアします。
# tar -pjxvf /root/mnt/backup-of-root-and-boot.tar -C /mnt
リストアした/dev/sda1
パーティションをアンマウントし、/boot
に再マウントします。
# umount /mnt/boot # mkdir /boot # mount /dev/sda1 /boot -t ext3
GRUBブート・ローダーを設定します。次の場合、/dev/sda1
が/boot
領域です。
# grub root (hd0,0) setup (hd0) quit
/boot
パーティションをアンマウントします。
# umount /boot
diagnostics.iso
ファイルを切り離します。
これを行うには、手順2で「接続」をクリックしてDVD .isoイメージを割り当てたときに表示された、ILOM Webインタフェース・コンソールの「切断」をクリックします。
リストアした/etc/fstab
ファイルを確認し、/EXAVMIMAGES
および/dev/sda3
への参照を削除します。
# cd /mnt/etc
/EXAVMIMAGES
または/dev/sda3
を参照する行をすべてコメント・アウトします。
システムを再起動します。これで、OVS/dom0のリストア手順が完了です。
# reboot
必要であれば、エイス・ラックに変換します。
リカバリをOracle Exadata Database Machineエイス・ラックで実行する場合は、「Oracle Exadata Database Machineエイス・ラックのOracle Linuxデータベース・サーバーのリカバリ後の構成」の手順を実行します。
サーバーが再起動されたら、ocfs2ファイル・システムを/dev/sda3
パーティションに構築します。
# mkfs -t ocfs2 -L ocfs2 -T vmstore --fs-features=local /dev/sda3 --force
ocfs2パーティション/dev/sda3
を/EXAVMIMAGES
にマウントします。
# mount -t ocfs2 /dev/sda3 /EXAVMIMAGES
/etc/fstab
で、手順18でコメント・アウトした/EXAVMIMAGES
および/dev/sda3
への参照を非コメント化します。
記憶域リポジトリ(/EXAVMIMAGES
)バックアップを保持するバックアップNFSサーバーをマウントし、すべてのユーザー・ドメイン・イメージを保持する/EXAVMIMAGES
ファイル・システムをリストアします。
# mkdir -p /root/mnt # mount -t nfs -o ro,intr,soft,proto=tcp,nolock nfs_ip:/location_of_backup /root/mnt
/EXAVMIMAGES
ファイル・システムをリストアします。
# tar -Spxvf /root/mnt/backup-of-exavmimages.tar -C /EXAVMIMAGES
各ユーザー・ドメインを起動します。
# xm create /EXAVMIMAGES/GuestImages/user_domain_hostname/vm.cfg
この時点で、すべてのユーザー・ドメインと、それらの中のGIおよびデータベース・インスタンスが起動し、残りの他のOVSノードによって形成されたOracle RACクラスタに参加します。
次の手順は、修復できないほどの損傷がOVS/dom0で発生し、バックアップがdom0に存在しないが、すべてのユーザー・ドメインを格納する記憶域リポジトリ(/EXAVMIMAGESファイル・システム)の中に利用可能なバックアップが存在する場合に使用できます。この手順では、dom0を再イメージ化し、すべてのユーザー・ドメインを再構築します。
「Oracle Linuxデータベース・サーバーの再イメージ化」の手順を使用して、ラック内のその他のOVS/dom0で使用されるイメージでOVSを再イメージ化します。
次のコマンドを実行します。
# /opt/oracle.SupportTools/switch_to_ovm.sh # /opt/oracle.SupportTools/reclaimdisks.sh –free –reclaim
リカバリをOracle Exadata Database Machineエイス・ラックで実行する場合は、「Oracle Exadata Database Machineエイス・ラックのOracle Linuxデータベース・サーバーのリカバリ後の構成」の手順を実行します。
ocfs2ファイル・システムを/dev/sda3
パーティションに再構築します。
# umount /EXAVMIMAGES # mkfs -t ocfs2 -L ocfs2 -T vmstore --fs-features=local /dev/sda3 --force
ocfs2パーティション/dev/sda3
を/EXAVMIMAGES
にマウントします。
# mount -t ocfs2 /dev/sda3 /EXAVMIMAGES
バックアップNFSサーバーをマウントし、ユーザー・ドメイン・イメージを保持する/EXAVMIMAGES
ファイル・システムをリストアします。
# mkdir -p /remote_FS # mount -t nfs -o ro,intr,soft,proto=tcp,nolock nfs_ip:/location_of_backup /remote_FS
/EXAVMIMAGES
ファイル・システムをリストアします。
# tar -Spxvf /remote_FS/backup-of-exavmimages.tar -C /EXAVMIMAGES
注意:
記憶域リポジトリのリストア処理では、ユーザー・ドメイン固有のファイル(/EXAVMINAGES/GuestImages/
<user_domain>
/
下のファイル)が通常のファイルとしてリストアされ、ユーザー・ドメインの作成時にこれらのファイルが記憶域リポジトリに最初に作成されたocfs2 reflinkとしてはリストアされません。したがって、/EXAVMINAGES
内の領域の使用量は、バックアップ時の元の領域の使用量に比べて、リストア処理後に増加することがあります。
ネットワーク・ブリッジを手動で設定します。
ovmutils rpmのバージョンを確認します。
# rpm -qa|grep ovmutils
ovmutils rpmのバージョンが12.1.2.2.0より前の場合は、次の手順を実行します。
/opt/exadata_ovm/exadata.img.domu_maker
をバックアップします。このバックアップ・コピーは後ほど必要になります。
# cp /opt/exadata_ovm/exadata.img.domu_maker /opt/exadata_ovm/exadata.img.domu_maker-orig
viなどのテキスト・エディタで/opt/exadata_ovm/exadata.img.domu_maker
ファイルを開き、"g_do_not_set_bridge=yes"を検索します。これは、CASE文オプション"network-discovery"の数行下にあります。
これを"g_do_not_set_bridge=no"に変更します。
/opt/exadata_ovm/exadata.img.domu_maker
を保存して終了します。
/EXAVMIMAGES/conf
ディレクトリのすべてのxmlファイルで/opt/exadata_ovm/exadata.img.domu_maker
を手動で実行します。
# cd /EXAVMIMAGES/conf # ls -1|while read file; do /opt/exadata_ovm/exadata.img.domu_maker network-discovery $file /tmp/netdisc-$file; done
バックアップ・コピーから/opt/exadata_ovm/exadata.img.domu_maker
をリストアします。
# cp /opt/exadata_ovm/exadata.img.domu_maker-orig /opt/exadata_ovm/exadata.img.domu_maker
ovmutils rpmのバージョンが12.1.2.2.0以降の場合、次のコマンドを実行します。
# /opt/exadata_ovm/exadata.img.domu_maker add-bonded-bridge-dom0 vmbondeth0 eth4 eth5
/EXAVMIMAGES/GuestImages
ディレクトリ内のユーザー・ドメイン・ディレクトリごとに、次の手順を実行します。
ユーザー・ドメインのUUIDを取得します。
# grep ^uuid /EXAVMIMAGES/GuestImages/<user domain hostname>/vm.cfg|awk -F"=" '{print $2}'|sed s/"'"//g|sed s/" "//g
コマンドを実行すると、uuid
値が返され、これは次のコマンドで使用されます。
# mkdir -p /OVS/Repositories/
uuid
# ln -s /EXAVMIMAGES/GuestImages/
user_domain_hostname
/vm.cfg
/OVS/Repositories/
uuid
/vm.cfg
# ln -s /OVS/Repositories/
uuid
/vm.cfg /etc/xen/auto/
user_domain_hostname
.cfg
# mkdir VirtualDisks
# cd VirtualDisks
vm.cfg
ファイ内にある4つのディスク・イメージ名を使用して、このディレクトリに4つのシンボリック・リンクを作成します(/EXAVMIMAGES/GuestImages/
user_domain_hostname
ディレクトリ内にある4つの".img"ファイルを指します)。
たとえば、/OVS/Repositories/
uuid
ディレクトリのサンプルvm.cfg
ファイルのサンプル・ディスク・エントリを次に示します。
disk = ['file:/OVS/Repositories/6e7c7109c1bc4ebba279f84e595e0b27/VirtualDisks/dfd641a1c6a84bd69643da704ff98594.img,xvda,w','file:/OVS/Repositories/6e7c7109c1bc4ebba279f84e595e0b27/VirtualDisks/d349fd420a1e49459118e6a6fcdbc2a4.img,xvdb,w','file:/OVS/Repositories/6e7c7109c1bc4ebba279f84e595e0b27/VirtualDisks/8ac470eeb8704aab9a8b3adedf1c3b04.img,xvdc,w','file:/OVS/Repositories/6e7c7109c1bc4ebba279f84e595e0b27/VirtualDisks/333e7ed2850a441ca4d2461044dd0f7c.img,xvdd,w']
/EXAVMIMAGES/GuestImages/
user_domain_hostname
ディレクトリ内にある4つの".img"ファイルをリストできます。
ls /EXAVMIMAGES/GuestImages/user_domain_name/*.img
/EXAVMIMAGES/GuestImages/user_domain_name/System.img /EXAVMIMAGES/GuestImages/user_domain_name/grid12.1.0.2.2.img /EXAVMIMAGES/GuestImages/user_domain_name/db12.1.0.2.2-3.img /EXAVMIMAGES/GuestImages/user_domain_name/pv1_vgexadb.img
この場合、次のコマンドを使用して、4つのシンボリック・リンク(dbm01db08vm01はユーザー・ドメインのホスト名)を作成できます。
# ln -s /EXAVMIMAGES/GuestImages/dbm01db08vm01/System.img $(grep ^disk /EXAVMIMAGES/GuestImages/dbm01db08vm01/vm.cfg|awk -F":" '{print $2}'|awk -F"," '{print $1}'|awk -F"/" '{print $6}') # ln -s /EXAVMIMAGES/GuestImages/dbm01db08vm01/grid12.1.0.2.2.img $(grep ^disk /EXAVMIMAGES/GuestImages/dbm01db08vm01/vm.cfg|awk -F":" '{print $3}'|awk -F"," '{print $1}'|awk -F"/" '{print $6}') # ln -s /EXAVMIMAGES/GuestImages/dbm01db08vm01/db12.1.0.2.2-3.img $(grep ^disk /EXAVMIMAGES/GuestImages/dbm01db08vm01/vm.cfg|awk -F":" '{print $4}'|awk -F"," '{print $1}'|awk -F"/" '{print $6}') # ln -s /EXAVMIMAGES/GuestImages/dbm01db08vm01/pv1_vgexadb.img $(grep ^disk /EXAVMIMAGES/GuestImages/dbm01db08vm01/vm.cfg|awk -F":" '{print $5}'|awk -F"," '{print $1}'|awk -F"/" '{print $6}')
各ユーザー・ドメインを起動します。
# xm create /EXAVMIMAGES/GuestImages/user_domain_hostname/vm.cfg
この時点で、すべてのユーザー・ドメインと、それらの中のグリッド・インフラストラクチャおよびデータベース・インスタンスが起動し、残りの他のOVSノードによって形成されたOracle RACクラスタに参加します。
失ったまたは損傷したユーザー・ドメイン内のファイルを、ユーザー・ドメイン内で作成したスナップショット・ベースのユーザー・ドメイン・バックアップを使用してリストアするには、次の手順を使用します。ユーザー・ドメイン・バックアップは「方法2: ユーザー・ドメイン内からユーザー・ドメインをバックアップする」の手順を使用して作成したものです。
Oracle Exadata Storage Server Softwareリリース11.2.3.1.0以上では、データベース・サーバーの更新手順で、データベース・オペレーティング・システムおよびファームウェアの更新配信にUnbreakable Linuxネットワーク(ULN)を使用します。Exadata Storage Server Softwareリリース12.1.2.2.0以上では、patchmgrを実行して更新をオーケストレートできます。
更新は、複数のrpmsで配信されます。dbnodeupdate.sh
ユーティリティを使用して、更新を適用します。ユーティリティは、次のタスクを実行します。
データベース・サーバーがLogical Volume Manager (LVM)構成の場合、ビルトインdbserver_backup.sh
スクリプトを使用して、サーバーの更新前にオペレーティング・システムをホストするファイル・システムのバックアップを実行します。
データベース、Grid Infrastructureスタック、Oracle Enterprise Manager Cloud Controlエージェントおよび潜在的なマウントされていないリモート・マウントの停止を含む、準備、更新および承認手順のすべてを自動化します。
既知の問題に対する最新のベスト・プラクティスおよび回避策を組み込みます。
更新の成功を確認してOracleバイナリを再リンクし、Oracleスタックを起動します。
ULNを使用できない環境のために、Oracle Exadata Storage Server Softwareのリリースごとに、ISOリポジトリが用意されています。
dbnodeupdate.sh
ユーティリティはMy Oracle Supportノート1553103.1から入手できます。ユーティリティは、すべての世代のハードウェア、Oracle Virtual Server (dom0)およびExadata Virtual Machines (domU)を実行するOracle Exadataデータベースをサポートしています。dbnodeupdate.sh
ユーティリティは、Oracle Linux 5からOracle Linux 6への更新もサポートしています。Oracle Exadata Storage Server SoftwareパッチのREADMEファイルには、そのパッチが適用される世代のハードウェアが指定されています。常にサポート・ノートを確認して、最新リリースのユーティリティを更新に使用するようにしてください。
注意:
ISOイメージ・メソッドは、ローカルULNミラーを完全に代替するものではありません。ISOイメージには、Oracle Exadataチャンネル・コンテンツのみが含まれます。他のULNチャンネルの別のコンテンツは、ISOイメージに含まれません。使用する環境が他のLinuxパッケージを使用し、更新にOracle Exadataチャンネルが含まれない場合、必要に応じてそのパッケージを、ULNチャンネルを使用して更新する必要があります。
この項では、次の項目について説明します。
Oracle Linux 5.5以上およびOracle Exadata Storage Server Softwareリリース11.2.2.4.2以上を実行しているデータベース・サーバーは、dbnodeupdate.sh
ユーティリティを使用してデータベース・サーバーを更新します。
Oracle Exadata Storage Server Softwareリリース11.2.2.4.2より前のリリースを実行しているOracle Linuxデータベース・サーバーは、dbnodeupdate.sh
ユーティリティを使用して、最初にOracle Linux 5.5およびOracle Exadata Storage Server Software 11.2.2.4.2以上に更新する必要があります。
次の表に、Oracle Exadata Storage Server SoftwareおよびOracle Linuxのリリース別の、データベース・サーバーの更新用のパスを示します。
注意:
データベース・サーバーのuname -r
コマンドの出力に、リリース2.6.18-128.1.16.0.1以前のカーネル・リリースが表示される場合、データベース・サーバーはOracle Linux 5.3で実行しています。
表2-8 データベース・サーバーの更新パス
現在インストールされているOracle Exadata Storage Server Softwareリリース | 現在インストールされているOracle Linuxリリース | 推奨アクション |
---|---|---|
リリース11.2.2.4.2以上 |
リリース5.5以上 |
「Oracle Linuxデータベース・サーバーの更新の概要」の説明に従い、ターゲット・リリースを更新します。 |
リリース11.2.2.4.2より前。 |
リリース5.5以上 |
|
リリース11.2.2.4.2より前 |
リリース5.5より前 |
|
注意:
非UEKカーネルをリリース11.2.3.2.0以上で実行しているOracle Exadataデータベース・サーバーの場合、dbnodeupdate.sh
ユーティリティを使用してリリース11.2.3.3.0より前に更新すると、データベース・サーバーは非UEKカーネルのままです。
UEKカーネルをリリース11.2.3.3.0より前のリリースで使用する必要があり、現在非UEKカーネルを使用している場合、dbnodeupdate.sh
ユーティリティを使用して更新を実行し、更新の終了後、手動でUEKに変換します。詳細は、My Oracle Supportノート1524411.1を参照してください。
Oracle Exadatarリリース11.2.3.3.0から、UEKカーネルのみがサポートされています。このため、dbnodeupdate.sh
ユーティリティは、11.2.3.3.0以上に更新する場合、非UEKシステムを直接UEK2カーネルに更新します。
My Oracle Supportノート888828.1に説明されているように、Oracle Exadata Database Serverの通常の更新が適用できるのは、ターゲット・リリースの日付スタンプが現在実行中のリリースの日付スタンプより新しい場合のみです。ターゲット・リリースよりも新しい日付スタンプのリリースを実行しているイメージからの更新はブロックされます。
例: Exadataリリース12.1.2.1.0は、リリース番号に基づいた12.1.1.1.2よりも新しく思えますが、12.1.1.1.2.1 (日付スタンプが150411)の日付スタンプは、12.1.2.1.0 (141206)よりも新しいため、12.1.1.1.2.150411から12.1.2.1.0.141206.1の更新はブロックされます。このような状況では、同じメジャー・リリースで日付スタンプが新しいメンテナンス・リリースに更新する必要があります。
個々のExadata以外のオペレーティング・システム・パッケージの更新
個々のExadata以外のオペレーティング・システム・パッケージを更新する場合は、システム用のOracle Linuxの「最新の」チャネルのローカルyumミラーを設定し、yum update <packagename>
を実行することができます。
他のパッケージも同様に引き込まれる可能性があることに常に注意してください。
まずexadata-sun-computenode-exact
rpmを削除する必要がある場合があります。
rpm -e exadata-sun-computenode-exact
ローカルyumミラーがない場合は、ULNまたは公開yumから個々のパッケージをダウンロードし、次のコマンドを使用して特定のパッケージを更新します。
rpm -uvh package-names
注意:
パッケージ名を指定せずにyum update
コマンドを実行すると、多くのパッケージおよび依存関係が引き込まれ、意図しない更新が行われて、Exadataシステムが使用できなくなり、次のExadataリリースへの更新が困難または不可能になる可能性があるので、実行しないでください。
関連トピック
このトピックでは、Oracle Linuxデータベース・サーバーを新しいリリースに更新する手順の概要について説明します。
この項の情報は、次の要件を満たしているデータベース・サーバーに適用されます。
Oracle Exadata Storage Server Software 11gリリース2 (11.2) 11.2.2.4.2以上がインストールされている。
Oracle Linux 5.5以上がインストールされている。Oracle Exadata Storage Server Software 11g2 (11.2) 11.2.3.1.0以上がインストールされている場合、この要件は満たされます。
データベース・サーバーがこれらの要件を満たしていない場合、表2-8を参照し、必須の手順を実行して要件を満たします。
次の手順では、Oracle Linuxデータベース・サーバーを新しいリリースに更新する方法について説明します。
ターゲット・リリースのOracle Exadataチャンネル・コンテンツでyumリポジトリを準備および設定します。リリースで使用するULNチャンネル名は、パッチのそれぞれのREADMEファイルにリストされています。ULNチャンネルを使用しない場合、ISOイメージを使用できます。
Oracle Exadata Storage Server Softwareのリリース別に、前提条件チェック、更新およびパッチ適用後の手順を実行します。
Oracle Exadata Storage Server Softwareリリース11.2.3.1.0以上で実行するOracle Databaseの場合、「リリース11.2.3.n.nまたは12.1.n.n.nにパッチ適用またはイメージ化を以前にしているデータベース・サーバーの更新」を参照して、手順を実行してください。
Oracle Exadata Storage Server Softwareリリース11.2.2.4.2を実行するOracle Databaseの場合、「リリース11.2.2.4.2を実行中のデータベース・サーバーの更新」を参照して、手順を実行してください。
次のメソッドを使用して、Oracle Exadataチャンネル・コンテンツを含むyumリポジトリを作成し、使用します。dbnodeupdate.shユーティリティで、yumリポジトリを使用してOracle Exadata Database Machine内のデータベース・サーバーを更新します。次の各項で、それぞれの方法について詳しく説明します。
更新するデータベース・サーバーの数が多い。
すべてのデータベース・サーバーから、単一のリポジトリ・サーバーにアクセス可能である。
別のLinuxサーバーにULNミラーを構築するインフラストラクチャが存在する。
データベース・サーバーで、ほかのULNチャンネルからの更新が必要なカスタマイズされたソフトウェアを使用している。
ミラーは、別個のLinuxサーバーで、更新対象のULNからダウンロードしたチャンネル・データおよびOracle Exadataリリースを保持します。データベース・サーバーは、ローカル・ミラー(リポジトリ)に接続して更新を取得します。
注意:
データベース・サーバーを、ローカルULNミラーとして使用することはできません。そのように使用すると、ULNがリポジトリ構築のために必要とするパッケージと、データベース・サーバーのインストールまたは更新のパッケージとの間に、依存性の競合が生じ、システム障害が発生する場合があります。別々のサーバーが使用できない場合、ISOイメージ・メソッドを使用してください。
ローカル・リポジトリの初回の設定の際に必要な追加のLinuxサブスクリプションは、リポジトリのホスト・サーバーで使用しているEnterprise LinuxまたはOracle Linuxのリリースによって異なります。サーバーは、次のような追加ULNチャンネルにサブスクライブして、リポジトリを構築する必要があります。
64-bit Enterprise Linux 4システムの場合:
el4_x86_64_latest
およびel4_x86_64_addons
。
64-bit Enterprise Linux 5システムの場合:
el5_x86_64_latest
およびel5_x86_64_addons
。
64-bit Oracle Linux 5システムの場合:
ol5_x86_64_latest
およびel5_x86_64_addons
。
64-bit Oracle Linux 6システムの場合:
ol6_x86_64_latest
およびol6_x86_64_addons
。
前の項で説明したyumミラーを作成する手順では、ローカル・ミラーをyum mirror creation procedure described in the previous section provides a script that is used to populate the local mirror.スクリプトを実行すると、ULNからローカル・リポジトリへのrpmsダウンロードが開始します。
WebサーバーのDocument Root
ディレクトリがディスク上のこの場所を指すように構成すると、HTTP Webサーバーを使用するOracle Exadata Linux Database Serversに対して、Oracle Exadataチャンネル・コンテンツが使用可能になります。
dbnodeupdate.shユーティリティに対するリポジトリの場所として指定されたURLは、次のグラフィックに示すように、repodata
ディレクトリと常に同じレベルです。
次のコマンドを使用して、root
ユーザーとしてのリポジトリを確認します。
[root@dm01 ]# ./dbnodeupdate.sh -u -l http://yum-repo/yum/EngineeredSystems/exadata/dbserver/12.1.1.1.0/base/x86_64/ -v
注意:
IPv6アドレスのみをリスニングしているyumリポジトリにアクセスするには、データベース・ノードでExadataリリース12.1.2.2.0以降が実行されている必要があります。
リリース11.2.3.1.0以上では、Oracle ExadataチャンネルのISOイメージを、My Oracle Supportからダウンロードするパッチとして入手できます。圧縮されたファイルの場所は、dbnodeupdate.shユーティリティへ、直接手渡されます。このメソッドは、次の条件が満たされた場合に推奨されます。
リポジトリ・サーバーとして使用可能な別のサーバーが存在しない。
追加ULNチャンネルからの更新を必要とするカスタマイズされたソフトウェアが、データベース・サーバーに存在しない。
簡略化されたメソッドが推奨される。
注意:
ISOイメージ・メソッドは、ローカルULNミラーを完全に代替するものではありません。ISOイメージには、Oracle Exadataチャンネル・コンテンツのみが含まれます。他のULNチャンネルの別のコンテンツは、ISOイメージに含まれません。使用する環境が他のLinuxパッケージを使用し、更新にOracle Exadataチャンネルが含まれない場合、必要に応じてそのパッケージを、ULNチャンネルを使用して更新する必要があります。
次の手順では、ISOイメージをダウンロードおよび確認する方法について説明します。
リリース11.2.3.1.0以上では、Oracle ExadataチャンネルのISOイメージを、My Oracle Supportからダウンロードするパッチとして入手できます。これは、すべてのOracle Exadata Database Machineデータベース・サーバーにHTTP接続可能なWebサーバーにダウンロード、解凍および設定できます。リリース別のパッチ情報へのリンクは、My Oracle Supportノート888828.1を参照してください。このメソッドは、次の条件が満たされた場合に推奨されます。
更新するデータベース・サーバーの数が多い。
すべてのデータベース・サーバーから、単一のリポジトリ・サーバーにアクセス可能である。
追加ULNチャンネルからの更新を必要とするカスタマイズされたソフトウェアが、データベース・サーバーに存在しない。
次の手順では、Oracle Exadataチャンネル・コンテンツのISOイメージを、Apache HTTPサーバーを実行するLinuxベースのサーバーで使用する方法について説明します。それ以外のオペレーティング・システムも使用できますが、このドキュメントでは手順を説明しません。この手順では、ISOイメージは/u01/app/oracle/stage
ディレクトリにコピーされ、Webサーバー・ドキュメント内のDocument Rootエントリは/var/www/html
です。
注意:
別のサーバーをWebサーバーとして使用することをお勧めします。Oracle Exadata Database Machine内のデータベース・サーバーを使用できますが、httpdパッケージはOracle Exadataパッケージの標準ではありません。データベース・サーバーを使用する場合、次の手順を実行する前に、Apache HTTPサーバーがサーバーにインストールされている必要があります。
更新対象のOracle Exadataリリースの圧縮ISOイメージを、My Oracle Supportからダウンロードします。この手順では、リリース12.1.1.1.0への更新を説明しますが、リリース11.2.3.1.0以上にも適用されます。
ISOイメージをWebサーバーへコピーします。
次のコマンドを使用して、ISOイメージ・マウント・ポイントをroot
ユーザーとして作成します。
[root@dm01 ]# mkdir -p /var/www/html/yum/unknown/EXADATA/dbserver/12.1.1.1.0/base
次のコマンドを使用して、ISOイメージをroot
ユーザーとして、解凍およびマウントします。
[root@dm01 ]# cd /u01/dbnodeupdate [root@dm01 ]# unzip p17997668_121110_Linux-x86-64.zip [root@dm01 ]# mount -o loop /u01/dbnodeupdate/121110_base_repo.iso /var/www/html/yum/unknown/EXADATA/dbserver/12.1.1.1.0/base
次の手順に従い、httpdサービスをroot
ユーザーとして起動します。
次のコマンドを使用して、httpdサーバーを追加し有効にします。
[root@dm01 ]# chkconfig --add httpd [root@dm01 ]# chkconfig httpd on
注意:
httpdサービスの自動起動を有効にしておく必要はありません。
次のコマンドを使用してhttpdサービスを起動します。
[root@dm01 ]# service httpd start
次のコマンドを使用して、httpdサービスが有効であることを確認します。
[root@dm01 ]# chkconfig --list httpd
Webブラウザを使用して、接続したリポジトリURLを識別しテストします。リポジトリURLの例を、次に示します。
http://yum-repo/yum/unknown/EXADATA/dbserver/12.1.1.1.0/base/x86_64/
次のコマンドを使用して、root
ユーザーとしてのリポジトリを確認します。
[root@dm01 ]# ./dbnodeupdate.sh -u -l \ http://yum-repo/yum/EngineeredSystems/exadata/dbserver/12.1.1.1.0/base/x86_64/ -v
更新を開始する前に、バックアップを作成し前提条件チェックを実行して、停止時間を短くします。
実際の更新の際に、バックアップはスキップできます。バックアップは、リモートのネットワーク、NFSなどのマウントがアクティブではない場合に可能です。実際の更新の停止時間を開始する前日に、必ず前提条件チェックを実行する必要があります。
注意:
Logical Volume Manager (LVM)が有効なシステムを、Oracle Linux 5からOracle Linux 6に更新する場合、バックアップは実際の更新の一部として実行されます。バックアップをスキップすることはできません。
すべての警告および障害を、ダウンタイムの前に解決する必要があります。データベース・サーバーの更新の際、次の点に注意してください。
リリース11.2.3.n.nまたは12.1.n.n.nにパッチを適用する、またはイメージ化を以前にしているデータベース・サーバーを更新する場合:
Minimum依存性の障害のみが発生し、現在のイメージをOracle Linux 6への更新の前にバックアップしないと、更新が進行しません。Minimum依存性のチェックが失敗した場合、/var/log/cellos
ディレクトリのdbnodeupdate.log
ファイルを参照して、依存性の障害が発生した原因を確認してください。依存性チェックは、Oracle Linux 6へ更新する場合は実行しません。警告および障害を解決してから、前提条件チェックを再開します。
リリース11.2.2.4.2を実行中のデータベース・サーバーの更新
リリース11.2.2.4.2から更新する場合、依存性のチェックは実行されず、obsolete.lst
およびexclusion.lst
リスト機能は有効ではありません。警告および障害を解決してから、前提条件チェックを再開します。
dbnodeupdate.sh
ユーティリティを使用して、リリース11.2.3.n.nおよびリリース12.1.n.n.nを実行するデータベース・サーバーを更新します。この項の手順では、データベース・サーバーがリリース11.2.2.4.2以上を実行し、更新がローカルULNミラーまたはローカルISOイメージとして使用可能であることを前提にしています。
注意:
dbnodeupdate.sh
ユーティリティを使用する場合、次の2つのコンポーネントが必要です。
パッチのULNミラーまたは圧縮ISOファイル
dbnodeupdate.sh
ユーティリティ
この項では、次の項目について説明します。
システム管理者は、既存のOracle Exadataで供給されたパッケージに追加のパッケージをインストールして、より新しいリリースに更新することで、オペレーティング・システムをカスタマイズできます。この場合、カスタマイズにより、Oracle Exadata Storage Server Software機能を損なわないようにしてください。
注意:
Oracle Support Servicesからの指示がないかぎり、カーネルおよびInfiniBandパッケージを更新または削除しないでください。
Oracle Exadata Storage Server Softwareリリース11.2.3.3.0以前に更新する場合、dbnodeupdate.shユーティリティを使用してyum更新を実行すると、MinimumおよびExact依存性が発生します。このような依存性は前提条件のチェックおよび更新で働くため、システムをカスタマイズする際に、管理者がExadataリリースを元の状態に忠実またはより近い状態を保つことを助けます。
依存性は、次のように、exadata-sun-computenode-exact rpmおよびexadata-sun-computenode-minimum rpmにより成立します。
exadata-sun-computenode-exact rpmは、Oracleが提供するパッケージの特定のリリースが更新の際に使用できるようにします。
exadata-sun-computenode-exact rpmは、Oracleが提供するパッケージの特定のリリースまたはそれより後のリリースが更新の際に使用できるようにします。
Exact依存性がexadata-sun-computenode-exact rpmで成立すると、Oracle Exadataパッケージが完全に同一のリリースであるため、あたかもシステムが新しいリリースに対してイメージが新たに作られたようになります。
exadata-sun-computenode-minimum rpmにより、Minimum依存性が成立し、すべてのパッケージがインストール済であると同時に、それより後のバージョンのパッケージも許容されます。
デフォルトで、dbnodeupdate.shユーティリティは、次のリリースに更新する際に、Exact依存性が成立するように更新します。Exact依存性が競合して成立できない場合、ユーティリティはexadata-sun-computenode-minimum rpmを適用し、Minimum依存性を成立させて更新します。Exact依存性の欠如または未更新は許容され、問題にはなりません。システムをExact依存性で更新する場合、すべての障害を解決する必要があります。dbnodeupdate.log
ファイルをチェックして、競合するパッケージを確認し、それらを丁寧に取り除いてからdbnodeupdate.shユーティリティを再び実行します。
次のコマンドを使用して、リリースで成立したExact依存性を確認します。
[root@dm01 ]# rpm -qR exadata-sun-computenode-exact | grep '=' | grep -v '('
コマンドの出力に、Exact依存性が表示されます。
たとえば、Oracle Exadata Storage Server Softwareリリース12.1.1.1.1の出力では、sendmailパッケージは8.13.8-8.1.el5_7
と一致する必要があります。
次のコマンドを使用して、リリースで成立したMinimum依存性を確認します。
[root@dm01 ]# rpm -qR exadata-sun-computenode-minimum | grep '>=' | grep -v '('
コマンドの出力に、Minimum依存性が表示されます。
たとえば、Oracle Exadata Storage Server Softwareリリース12.1.1.1.1の出力では、minimumのsendmailパッケージはsendmail >= 8.13.8-8.1.el5_7
です。つまり、Exact依存性が成立しない場合、後のリリースのsendmailを使用できます。
dbnodeupdate.shユーティリティの確認画面には、更新で成立する依存性が常に表示されます。Exact依存性およびMinimum依存性のいずれも適用できない場合、更新を続行することはできません。そのような場合、dbnodeupdate.log
ファイルを参照して、依存性の障害の原因を特定します。失敗した依存性を取り除いた後、dbnodeupdate.shユーティリティを再び実行して依存性を検証し、少なくともMinimum依存性が成立することを確認します。
予定されたメンテナンスの数日前に、-v
フラグを使用してdbnodeupdate.shユーティリティを実行し、前提条件を確認することをお薦めします。dbnodeupdate.shユーティリティ・ログ・ファイルに、更新を実行して停止時間が発生する前に解決するべき依存性の問題が報告されます。前提条件チェック中または更新の開始前に、依存性エラーが発生した場合、次のようにして問題を解決します。
要件またはyumエラーを解析します。リリース11.2.3.1.0以上から更新する場合、画面に表示されるファイルを確認します。これには、/var/log/cellos/dbnodeupdate.log
ファイルが含まれます。リリース11.2.2.4.2から更新する場合、/var/log/exadata.computenode.post.log
ファイル、/var/log/exadata.computenode.post.log
ファイルおよび/var/log/cellos/bootstrap.uln.log
ファイルを確認してください。
内容によっては、依存問題または障害の原因となるrpmパッケージを、アンインストール、インストールまたは更新する必要があります。dbnodeupdate.log
ファイルを参照して、失敗した依存性を確認してください。
dbnodeupdate.shユーティリティを使用して、更新を実行してください。すでにバックアップが作成されている場合、-n
フラグのみを使用して、バックアップをスキップします。デフォルトで、同一のイメージに対する既存のバックアップは上書きされます。
LVMが有効なシステムを、Oracle Linux 5からOracle Linux 6に更新する場合、バックアップは実際の更新の一部として実行されます。-n
フラグは無視されます。
更新後にアンインストールしたカスタムrpmパッケージを、再びインストールします。
注意:
セキュリティ要件により、使用するシステム上の個々のパッケージを手動で更新する場合があります。この時、exadata-sun-computenode-exactで成立した依存性が競合することがあります。これを解決するために、exadata-sun-computenode-exactパッケージをアンインストールして、新しいパッケージをインストールすることができます。これを行うには、次のコマンドを実行します。
[root@dm01 ]# rpm -e exadata-sun-computenode-exact
後のOracle Exadata更新により新しいパッケージが含まれる場合、Exact依存性がdbnodeupdate.shユーティリティにより自動的に再インストールされます。
exadata-sun-computenode-minimumパッケージを削除することは、サポートされていません。Oracle Support Servicesからの指示がないかぎり、パッケージに対して強制的にrpm -Uvh --nodeps
コマンドを使用しないでください。
dbnodeupdate.shユーティリティは、My Oracle Supportの「dbnodeupdate.sh and dbserver.patch.zip: Updating Exadata Database Server Software using the DBNodeUpdate Utility and patchmgr」(ドキュメントID 1553103.1)から入手できます。次の手順では、サーバー上でユーティリティをダウンロードおよび準備する方法について説明します。
リリース11.2.3.3.0以上に更新すると、データベース・サーバー上のパッケージの一部が廃止されて使用できません。データベース・サーバーの更新中、dbnodeupdate.shユーティリティにより、確認画面上に除外されたrpmリストおよび廃止されたrpmリストが表示されます。確認画面の例を、次に示します。この例では、除外リストはまだユーザーにより作成されていません。
Active Image version : 11.2.3.2.1.130302 Active Kernel version : 2.6.32-400.21.1.el5uek Active LVM Name : /dev/mapper/VGExaDb-LVDbSys2 Inactive Image version : 11.2.3.2.1.130109 Inactive LVM Name : /dev/mapper/VGExaDb-LVDbSys1 Current user id : root Action : upgrade Upgrading to : 11.2.3.3.0.131014.1 Baseurl : http://mynode.us.example.com/yum/exadata_dbserver_11.2.3.3.0_x86_64_base/x86_64/ (http) Create a backup : Yes Shutdown stack : No (Currently stack is up) RPM exclusion list : Not in use (add rpms to /etc/exadata/yum/exclusion.lst and restart dbnodeupdate.sh) RPM obsolete list : /etc/exadata/yum/obsolete.lst (lists rpms to be removed by the update) : RPM obsolete list is extracted from exadata-sun-computenode-11.2.3.3.0.131014.1-1.x86_64.rpm Logfile : /var/log/cellos/dbnodeupdate.log (runid: 021213024645) Diagfile : /var/log/cellos/dbnodeupdate.021213024645.diag Server model : SUN FIRE X4170 M2 SERVER Remote mounts exist : Yes (dbnodeupdate.sh will try unmounting) dbnodeupdate.sh rel. : 2.20 (always check MOS 1553103.1 for the latest release) Automatic checks incl. : Issue - Yum rolling update requires fix for 11768055 when Grid Infrastructure is below 11.2.0.2 BP12 Manual checks todo : Issue - Database Server upgrades to 11.2.2.3.0 or higher may hit network routing issues after the upgrade Note : After upgrading and rebooting run './dbnodeupdate.sh -c' to finish post steps Continue ? [Y/n]
廃止されるパッケージを確認するには、obsolete.lst
ファイルの内容を確認し、スクリプトに要求されたらN
を入力します。obsolete.lst
ファイルの場所は確認画面に表示されます。obsolete.lst
ファイルには、更新中に何もアクションを実行しない限り、削除対象のパッケージのみが表示されます。このリストに手動で追加されたパッケージは無視されます。次はobsolete.lst
ファイルの例です。
[root@dm01 ]# cat /etc/exadata/yum/obsolete.lst # Generated by dbnodeupdate.sh runid: 021213024645 at.x86_64 java-*-openjdk rhino.noarch jline.noarch jpackage-utils.noarch giflib.x86_64 alsa-lib.x86_64 xorg-x11-fonts-Type1.noarch prelink.x86_64 biosconfig biosconfig_expat qlvnictools ibvexdmtools opensm.x86_64 ofed-scripts ibibverbs-devel-static infiniband-diags-debuginfo libibverbs-debuginfo librdmacm-debuginfo libibumad-debuginfo libibmad-debuginfo ibutils-debuginfo libmlx4-debuginfo libsdp-debuginfo mstflint-debuginfo perftest-debuginfo qperf-debuginfo libibcm-debuginfo compat-dapl-utils.x86_64 compat-dapl.x86_64 dapl-utils.x86_64 dapl.x86_64 libgfortran.x86_64 mdadm.x86_64 mpi-selector.noarch pygobject2.x86_64 specspo.noarch time.x86_64 tree.x86_64 unix2dos.x86_64 usbutils.x86_64 words.noarch
obsolete.lst
ファイルのリストに表示されたパッケージを削除しないようにするには、/etc/exadata/yum/exclusion.lst
ファイルを作成し、rpm名またはワイルドカードを入力して除外リストにrpmを含めます。
次の例は、除外リストに追加されたパッケージを示します。
[root@dm01 ]# cat /etc/exadata/yum/exclusion.lst java-*-openjdk
exclusion.lst
ファイルにエントリを追加し、dbnodeupdate.shユーティリティを再び実行すると、除外リストがユーティリティに検知されます。除外リスト上のrpmパッケージは、obsolete.lst
ファイルに表示されていますが、exclusion.lst
ファイル内にリストされたパッケージは更新の際に削除されません。次の確認画面の例では、エントリが追加された後、exclusion.lst
ファイルが使用中になります。
Active Image version : 11.2.3.2.1.130302 Active Kernel version : 2.6.32-400.21.1.el5uek Active LVM Name : /dev/mapper/VGExaDb-LVDbSys2 Inactive Image version : 11.2.3.2.1.130109 Inactive LVM Name : /dev/mapper/VGExaDb-LVDbSys1 Current user id : root Action : upgrade Upgrading to : 11.2.3.3.0.131014.1 Baseurl : http://mynode.us.example.com/yum/exadata_dbserver_11.2.3.3.0_x86_64_base/x86_64/ (http) Create a backup : Yes Shutdown stack : No (Currently stack is up) RPM exclusion list : In use (rpms listed in /etc/exadata/yum/exclusion.lst) RPM obsolete list : /etc/exadata/yum/obsolete.lst (lists rpms to be removed by the update) : RPM obsolete list is extracted from exadata-sun-computenode-11.2.3.3.0.131014.1-1.x86_64.rpm Logfile : /var/log/cellos/dbnodeupdate.log (runid: 021213024900) Diagfile : /var/log/cellos/dbnodeupdate.021213024900.diag Server model : SUN FIRE X4170 M2 SERVER Remote mounts exist : Yes (dbnodeupdate.sh will try unmounting) dbnodeupdate.sh rel. : 2.20 (always check MOS 1553103.1 for the latest release) Automatic checks incl. : Issue - Yum rolling update requires fix for 11768055 when Grid Infrastructure is below 11.2.0.2 BP12 Manual checks todo : Issue - Database Server upgrades to 11.2.2.3.0 or higher may hit network routing issues after the upgrade Note : After upgrading and rebooting run './dbnodeupdate.sh -c' to finish post steps Continue ? [Y/n]
注意:
dbnodeupdate.shユーティリティまたはOracle Exadata Storage Server Software更新手順のいずれでも、obsolete.lst
ファイルにリストされていないrpmパッケージは削除されません。obsolete.lst
ファイル内にリストされたファイルのみが、exclusion.lst
ファイルに追加されます。カスタム・パッケージは削除されません。obsolete.lst
およびexclusion.lst
機能は、リリース11.2.2.4.2から更新する場合、またはOracle Linux 6に更新する場合、使用できません。
次の手順では、更新モードでdbnodeupdate.shユーティリティを実行する方法を説明します。
このトピックでは、dbnodeupdate.sh
ユーティリティの使用例を示します。
この例では、次のようになります。
現在Oracle Exadata Storage Server Softwareリリース11.2.3.3.1が実行されています(Active Image versionエントリに表示されます)。
カーネル2.6.39-400.128.17.el5uekが使用されています(Active Kernel version)。
現在のアクティブなシステム・パーティションはLVDbSys2です(Active Logical Volume Manager (LVM) name)。
更新はリリース12.1.1.1.1.140712に更新されます(Upgrading to)。
更新では、圧縮ファイルで提供されたISOイメージを使用します(Iso file)。
dbnodeupdate.sh
ユーティリティの出力に示されるように、次のアクションが実行されます。
バックアップが作成され(Create a backup)、LVDbSys1に置かれます(Inactive LVM Name)。
現在のシステムでは、データベース・スタックが実行されていますが(Shutdown Stack)、-s
フラグが指定されています。バックアップおよび更新を継続する前に、スタックを停止します。
obsolete.lst
ファイル(RPM obsolete list)では、Oracleの更新の一部として削除されるRPMを指定します。
exclusion.lst
ファイル(RPM exclusion list)は提供されません。
dbnodeupdate.sh
ユーティリティ・プロセスのログは、dbnodeupdate.log
ファイル(Logfile)に添付されます。diagfile
ファイル(Diagfile)には、更新を開始する前の重要なシステム情報が記載されています。ユーティリティを使用するごとに、diagfile
ファイルが生成されます。このファイルは、必要に応じてトラブルシューティングに使用されます。
NFSのようなアクティブ・リモート・ネットワーク・マウントが検知され(Remote mounts exist)、dbnodeupdate.sh
ユーティリティが、マウントを解除しようとします。それが不可能な場合、ユーティリティは進行をブロックしているセッションを表示して、停止します。
dbnodeupdate.sh rel.
エントリは、現在のdbnodeupdate.sh
リリースを指定します。
ユーティリティがシステムをチェックし、dbnodeupdate.sh
ユーティリティがOracle Exadataソースおよびターゲット・リリースで識別した既知の問題点が、スクリーン上のリストに表示されます。最初に、ユーティリティで自動的に解決される問題が表示され、次に、システム上で実行する必要がある手動チェックが表示されます。
例2-1 dbnodeupdate.shユーティリティの実行
[root@dm01 ]# ./dbnodeupdate.sh -u -l p18889969_121111_Linux-x86-64.zip -s Active Image version : 11.2.3.3.1.140529.1 Active Kernel version : 2.6.39-400.128.17.el5uek Active LVM Name : /dev/mapper/VGExaDb-LVDbSys2 Inactive Image version : 11.2.3.2.0.120713 Inactive LVM Name : /dev/mapper/VGExaDb-LVDbSys1 Current user id : root Action : upgrade Upgrading to : 12.1.1.1.1.140712 (to exadata-sun-computenode-minimum) Baseurl : file:///var/www/html/yum/unknown/EXADATA/dbserver/121114021722/x86_64/ (iso) Iso file : /u01/dbnodeupdate/iso.stage.121114021722/121111_base_repo_140712.iso Create a backup : Yes Shutdown stack : Yes (Currently stack is up) RPM exclusion list : Not in use (add rpms to /etc/exadata/yum/exclusion.lst and restart dbnodeupdate.sh) RPM obsolete list : /etc/exadata/yum/obsolete.lst (lists rpms to be removed by the update) : RPM obsolete list is extracted from exadata-sun-computenode-12.1.1.1.1.140712-1.x86_64.rpm Exact dependencies : Will fail on a next update. Update to 'exact' will be not possible. Falling back to 'minimum' : See /var/log/exadatatmp/121114021722/exact_conflict_report.txt for more details : Update target switched to 'minimum' Minimum dependencies : No conflicts Logfile : /var/log/cellos/dbnodeupdate.log (runid: 121114021722) Diagfile : /var/log/cellos/dbnodeupdate.121114021722.diag Server model : SUN FIRE X4170 SERVER Remote mounts exist : Yes (dbnodeupdate.sh will try unmounting) dbnodeupdate.sh rel. : 3.79b (always check MOS 1553103.1 for the latest release of dbnodeupdate.sh) Note : After upgrading and rebooting run './dbnodeupdate.sh -c' to finish post steps. The following known issues will be checked for and automatically corrected by dbnodeupdate.sh: (*) - Issue - Adjust kernel.rcu_delay in /etc/sysctl.conf. See MOS 1916147.1 (*) - Issue - Fix for CVE-2014-6271 and CVE-2014-7169 (Shell-Shock) The following known issues will be checked for but require manual follow-up: (*) - Issue - Yum rolling update requires fix for 11768055 when Grid Infrastructure is below 11.2.0.2 BP12 Continue ? [y/n] y (*) 2014-11-12 02:21:19: Verifying GI and DB's are shutdown (*) 2014-11-12 02:21:19: Shutting down GI and db (*) 2014-11-12 02:23:17: Successfully unmounted network mount /mnt/rene (*) 2014-11-12 02:23:17: Unmount of /boot successful (*) 2014-11-12 02:23:17: Check for /dev/sda1 successful (*) 2014-11-12 02:23:17: Mount of /boot successful (*) 2014-11-12 02:23:17: Disabling stack from starting (*) 2014-11-12 02:23:17: Performing filesystem backup to /dev/mapper/VGExaDb-LVDbSys1. Avg. 30 minutes (maximum 120) depends per environment........ (*) 2014-11-12 02:30:29: Backup successful (*) 2014-11-12 02:30:36: ExaWatcher stopped successful (*) 2014-11-12 02:30:36: Capturing service status and file attributes. This may take a while... (*) 2014-11-12 02:30:42: Service status and file attribute report in: /etc/exadata/reports (*) 2014-11-12 02:30:43: Validating the specified source location. (*) 2014-11-12 02:30:44: Cleaning up the yum cache. (*) 2014-11-12 02:30:47: Performing yum update. Node is expected to reboot when finished. (*) 2014-11-12 02:31:03: Waiting for post rpm script to finish. Sleeping another 60 seconds (60 / 900) Remote broadcast message (Wed Nov 12 02:31:08 2014): Exadata post install steps started. It may take up to 15 minutes. Remote broadcast message (Wed Nov 12 02:31:53 2014): Exadata post install steps completed. (*) 2014-11-12 02:32:03: Waiting for post rpm script to finish. Sleeping another 60 seconds (120 / 900) (*) 2014-11-12 02:33:03: All post steps are finished. (*) 2014-11-12 02:33:03: System will reboot automatically for changes to take effect (*) 2014-11-12 02:33:03: After reboot run "./dbnodeupdate.sh -c" to complete the upgrade (*) 2014-11-12 02:33:05: Cleaning up iso and temp mount points (*) 2014-11-12 02:33:05: Rebooting now... Broadcast message from root (pts/0) (Wed Nov 12 02:33:05 2014): The system is going down for reboot NOW!
Oracle Exadata Storage Server Softwareリリース11.2.2.4.2を実行しているデータベース・サーバーの更新には、サーバーでyumを使用する準備のための更新が含まれます。
サーバーは、dbnodeupdate.sh
ユーティリティを使用して準備します。このため、Oracle Exadataリリース11.2.2.4.2からの更新では、2つのdbnodeupdate.sh
ユーティリティを別々の引数で実行する必要があります。どのコマンドをいつ実行するか、ユーティリティから指示があります。
データベース・サーバーの更新は、次の前提条件に基づいています。
Oracle Exadata Storage Server Softwareリリースが11.2.2.4.2である。
データベース・サーバーで、Oracle Linux 5.5以上を実行している。
データベース・サーバー更新が、ローカルULNミラーまたはローカルISOイメージとして使用可能である。
この項では、次の項目について説明します。
関連トピック
この手順では、サーバー上でユーティリティをダウンロードおよび準備する方法について説明します。
dbnodeupdate.sh
ユーティリティは、My Oracle SupportのドキュメントID 1553103.1から入手できます。dbnodeupdate.sh
ユーティリティは、11.2.2.4.2を実行しているリリースを、直接Oracle Linux 6に更新できます。
データベース・サーバー更新は、Oracle Exadata Storage Server Software、Oracle Linuxシステム・ソフトウェアおよびファームウェアを変更します。更新は、Grid Infrastructureホーム、データベース・ホーム(dbnodeupdate.sh -c
手順の再リンク以外)または顧客がインストールしたソフトウェアの変更は行いません。データベース・サーバー更新は、アクティブなシステム・ディスク・パーティションで実行されます。
アクティブなシステム・ディスク情報を表示するには、imageinfo
コマンドを実行します。Logical Volume Manager (LVM)を使用するデータベース・サーバーには、少なくとも1つのシステム・パーティションがあります。imageinfo
コマンドの出力例を次に示します。
Kernel version: 2.6.39-400.238.0.el6uek.x86_64 #1 SMP Fri Aug 15 14:27:21 PDT 2014 x86_64 Image version: 12.1.2.1.0.141022 Image activated: 2014-10-22 22:11:12 -0700 Image status: success System partition on device: /dev/mapper/VGExaDb-LVDbSys1
dbnodeupdate.shユーティリティが、ロールバックを実行すると、非アクティブなシステム・ディスク・パーティションがアクティブになり、アクティブなシステム・ディスク・パーティションが非アクティブになります。非アクティブなシステム・パーティションをアクティブ化することで以前のリリースにロールバックしても、ファームウェアはロールバックされません。Oracle Exadata Storage Server Softwareリリースでは、それ以降のファームウェア・リリースをサポートしています。
データベース・サーバー更新をロールバックするには、データベース・サーバーの更新の前にバックアップを作成する必要があります。dbnodeupdate.shユーティリティは、次の要件が満たされる場合、非アクティブなシステム・ディスク・パーティション上にバックアップを作成します。
システムでLVMを使用する。
非アクティブなパーティションとアクティブなパーティションのサイズが同じである。LVDbSys1パーティションのみが存在する場合、非アクティブなパーティションを作成するのに十分な空き領域がボリューム・グループにあります。
2つのシステム・ディスク・パーティション、LVDbSys1およびLVDbSys2が存在する場合、バックアップ中に一時的に作成されるスナップショットを格納するために、ボリューム・グループに少なくとも1GBの空き領域が必要。
前述の前提条件が満たされない場合、dbnodeupdate.shユーティリティにより通知され、処理の自動更新が無効になります。更新を継続する場合、更新をロールバックすることができません。
注意:
Oracle Linux 6に更新したシステムでは、更新を継続する前にバックアップを実行する必要があります。LVMが有効なシステムをOracle Linux 5からOracle Linux 6へ更新する場合、バックアップが自動で実行されます。
Oracle Virtual Server (dom0)として実行するデータベース・サーバーは、ロールバックの際にアクティブなシステム・パーティションとして、LVDbSys2とLVDbSys3との間をスイッチします。
Oracle Virtual Machine (domU)として実行するデータベース・サーバーでは、物理ハードウェア・デプロイメントよりも、LVDbSys1およびLVDbSys2のサイズは小型です。
バックアップがユーティリティで作成されることを確認するには、前提条件チェックまたは更新処理で表示されるdbnodeupdate.sh確認ダイアログをチェックします。作成される場合は、Create a backupエントリに、Yes
と表示されます。
次のコマンドを使用すると、更新をロールバックします。
[root@dm01 ]# ./dbnodeupdate.sh -r -s
Oracle Linux 5からOracle Linux 6への更新の処理中、最初の再起動後にエラーが発生すると、LVMが有効なシステムに対して、自動的にロールバックが開始されます。
ロールバックの後、次のコマンドを使用して、パッチ処理後の手順を実行し、スタックを再リンクおよび起動する必要があります。
[root@dm01 ]# ./dbnodeupdate.sh -c
Exadataリリース12.1.2.2.0以上では、patchmgrを使用してOracle Exadataデータベース・ノード(11.2.2.4.2以上のリリースを実行)、Oracle Exadata仮想サーバー・ノード(dom0)およびOracle Exadata仮想マシン(domU)の更新、ロールバックおよびバックアップを行うことができます。
スタンドアロン・モードでdbnodeupdate.sh
を実行することも可能ですが、patchmgrを実行して更新を行うと、単一のコマンドの実行によって同時に複数のノードを更新できます。各ノードで個別にdbnodeupdate.sh
を実行する必要はありません。patchmgr
は、ローリングまたは非ローリング方式でノードを更新できます。
patchmgr
でこのオーケストレーションを行うには、更新対象外のデータベース・ノードからpatchmgrを実行します。そのノードは、すでに更新されているノードからpatchmgr
を実行するか、そのノード自体にスタンドアロンでdbnodeupdate.sh
を実行することにより、後で更新する必要があります。
セルの更新と同様に、更新するデータベース・ノード(domUおよびdom0を含む)のリストを指定するファイルを作成します。patchmgr
は、ローリングまたは非ローリング方式で指定されたノードを更新します。デフォルトは、セルの更新と同様に非ローリングです。ロールバックは、ローリング方式で行われます。
dbnodeupdate.sh
をスタンドアロンで実行する場合は、patchmgr
コンポーネントを使用せずにdbnodeupdate.sh
を実行するための標準手順に従います。My Oracle Supportノート1553103.1で、dbnodeupdate.sh
の最新リリースを常に確認してください。
Oracle Exadata Storage Server Softwareリリース12.1.2.2.0以上では、patchmgr
からdbnodeupdate
を実行するための、新しいdbserver.patch.zip
ファイルが用意されています。
zipファイルにはpatchmgrおよびdbnodeupdate.zip
が含まれています。dbserver.patch.zip
ファイルを解凍し、そこからpatchmgrを実行します。dbnodeupdate.zip
は解凍しないでください。My Oracle Supportノート1553103.1で、dbserver.patch.zip
の最新リリースを常に確認してください。
圧縮ISO形式でローカルyumリポジトリを使用するユーザー向けに、通常のハードウェア,domUおよびdom0用に個別の圧縮ISOファイルが用意されています。更新のためにISOファイルを使用する場合は、ISOファイルをdbnodeupdate.zip
と同じディレクトリに置くことをお薦めします。
非ローリングのアップグレードの動作は次のとおりです。
ノードが事前チェックの段階で失敗した場合、プロセス全体が失敗します。
ノードがパッチまたはリブートの段階で失敗した場合、patchmgrは、それ以降のそのノードへのステップをスキップします。他のノードのアップグレード処理は続行されます。
事前チェックの段階は、シリアルで実行されます。
パッチ/再起動および完了の段階は、パラレルで実行されます。
通知アラートの順序は次のとおりです。
起動(すべてのノード、パラレル)
パッチ適用(すべてのノード、パラレル)
リブート(すべてのノード、パラレル)
完了ステップ(各ノード、シリアル)
成功(各ノード、シリアル)
実行する手順は、実行する更新のタイプによって異なります。
Oracle Linux 5からOracle Linux 6への移行を伴うデータベース・ノードの更新を実行する場合:
patchmgrを使用して、前提条件チェックを実行します。
バックアップを実行します。
必須のバックアップと更新を実行します。
Oracle Linux 5からOracle Linux 6への更新以外の更新を実行する場合:
前提条件チェックを実行します。
(オプション)バックアップを実行します。
オプションのバックアップと更新を実行します。
patchmgr
コマンドとともに様々なオプションを使用できます。
patchmgrを使用してデータベース・ノードを更新する場合、次のオプションがサポートされています。
表2-9 patchmgrのオプション: 必須オプション
オプション | 説明 |
---|---|
|
データベース・ノードのリスト・ファイルの名前を指定します。ファイルには1行に1つのホスト名またはIPアドレスが記載されています。 |
表2-10 patchmgrのオプション: アクション・オプション
オプション | 説明 |
---|---|
|
リスト・ファイルに指定されたデータベース・ノードに対して更新前の検証チェックを実行します(実際の更新は行いません)。 |
|
リフト・ファイルに指定されているデータベース・ノードをアップグレードします。 |
|
リフト・ファイルに指定されているデータベース・ノードをバックアップします。 |
|
リフト・ファイルに指定されているデータベース・ノードをロールバックします。 |
|
非ローリング方式で、ホスト・リストに指定されたデータベース・ノードのすべての一時コンテンツを削除します。通常、このオプションはアップグレードまたはロールバックの操作の後に使用します。 |
|
指定されたプロパティに関する情報を戻します。プロパティは次のとおりです。
|
表2-11 patchmgrのオプション: サポート・オプション
オプション | 説明 |
---|---|
|
圧縮ISOファイルのパスを指定します。
|
|
yumのHTTPリポジトリへのURLを指定します。
|
|
ログ・ディレクトリへの絶対パスを指定するか、または
|
|
アップグレード・アクションでデータベース・ノードのバックアップを実行しないことを指定します。 |
|
更新先の完全なリリース・バージョンを指定します。この情報は、パッチのREADMEファイルにあります。 |
|
終了する前に、データベース・ノードへのパスワードなしのSSHアクセスを削除します。 |
|
ローリング方式で更新を実行することを指定します。指定しない場合、更新は非ローリング方式で実行されます。 注意: ロールバックは、このオプションを指定しない場合でも、常にローリング方式で実行されます。 注意: |
|
アクティブなNFSまたはSMBマウントを使用して これは |
|
Oracle Linux 5からOracle Linux 6へのデータベース・ノードの更新時にカスタムRPMを削除します。 これは |
|
前提条件の確認時にRPMを変更しません。 これは |
表2-12 patchmgrのオプション: メール・オプション
オプション | 説明 |
---|---|
|
patchmgr通知の送信元(from)の電子メール・アドレスを指定します。 |
|
patchmgr通知の送信先(to)の電子メール・アドレスを指定します。 |
|
「Return-Path:」メール・ヘッダーと同じ送信元(from)アドレスが使用されることを指定します。 |
-precheck
オプションは更新をシミュレートし、実際の更新は行いません。
-precheck
オプションを使用して、実際の更新前にエラーを捕捉して解決します。
使用方法:
# ./patchmgr -dbnodes dbnode_list -precheck -iso_repo iso_file -target_version version
# ./patchmgr -dbnodes dbnode_list -precheck -yum_repo yum_http -target_version version
例2-2 yum HTTPリポジトリとのpatchmgrの使用
yum HTTPリポジトリを使用した例。date_stampはバージョンのリリース日を指定します(例: 150731
)。
# ./patchmgr -dbnodes dbnode_list -precheck -yum_repo http://yum-repo/yum/ol6/EXADATA/ dbserver/12.1.2.2.0/base/x86_64/ -target_version 12.1.2.2.0.date_stamp
例2-3 yumの圧縮ISOリポジトリとのpatchmgrの使用
yumの圧縮ISOリポジトリを使用した例。date_stampはバージョンのリリース日を指定します(例: 150731
)。
# ./patchmgr -dbnodes dbnode_list -precheck -iso_repo ./repo.zip -target_version 12.1.2.2.0.date_stamp
-upgrade
オプションは、データベース・ノードの実際のアップグレードを実行します。
システム内のすべてのデータベース・ノードを更新する必要がある場合は、駆動ノードからコマンドを実行する必要があります(駆動ノードは更新対象のデータベース・ノードに含めることはできません)。
使用方法:
# ./patchmgr -dbnodes dbnode_list -upgrade -iso_repo iso_file -target_version version
# ./patchmgr -dbnodes dbnode_list -upgrade -yum_repo yum_http -target_version version
例2-4 yum HTTPリポジトリを使用したローリング更新
yum HTTPリポジトリを使用したローリング更新の例。date_stampはバージョンのリリース日を指定します(例: 150731
)。
# ./patchmgr -dbnodes dbnode_list -upgrade -yum_repo http://yum-repo/yum/ol6/EXADATA/ dbserver/12.1.2.1.0/base/x86_64/ -target_version 12.1.2.2.0.date_stamp -rolling
例2-5 yumの圧縮ISOリポジトリを使用した非ローリング更新
yumの圧縮ISOリポジトリを使用したローリング更新の例。date_stampはバージョンのリリース日を指定します(例: 150731
)。
# ./patchmgr -dbnodes dbnode_list -upgrade -iso_repo ./repo.zip -target_version 12.1.2.2.0.date_stamp
-rollback
オプションを使用して、更新をロールバックします。
-rollback
オプションは、Logical Volume Manager (LVM)のアクティブ/非アクティブの切替え、/boot
コンテンツのリストア、Grubの再インストールおよびデータベース・ノードの再起動を行って、アップグレードの影響を元に戻します。これを使用できるのは、LVMが有効なシステムに対してのみです。
注意:
ロールバックは、-rolling
を指定しない場合にも、ローリング方式でのみ実行されます。
使用方法:
# ./patchmgr -dbnodes dbnode_list -rollback
関連トピック
patchmgr
の実行中に問題が発生した場合、次の注意点を確認してください。
patchmgrを使用してデータベース・ノードを更新するための正しい構文は、patchmgrオンライン・ヘルプを参照してください。
patchmgrツールを使用したデータベース・ノードの更新は簡潔で、最小限の情報のみが画面に出力されます。追加情報が必要な場合は、patchmgrログと、patchmgrが失敗したノードからコピーしたdbnodeupdate.sh
ログ(使用できる場合)を確認できます。
ストレージ・セルの更新のように、patchmgrではSSH等価を実行する必要があります。
いつものように、My Oracle Supportノート1553103.1から最新のdbserver.patch.zip
をダウンロードしてください。
まれに、patchmgrで更新のステータス(更新の成否)を判断できないことがあります。このような場合は、更新が失敗したことを示すメッセージが表示されます。ただし、更新が正常に完了している可能性もあります。更新の実際のステータスを確認する手順:
(データベース)ノードのイメージ・ステータスをチェックします。これを行うには、imageinfo
コマンドを実行します。「Image status
」行にステータスが表示されます。
Exadataソフトウェアのバージョンをチェックします。これはimageinfo
コマンドから確認することもできます。
イメージ・ステータスが成功(success)で、Exadataバージョンが予想される新しいバージョンの場合、更新は成功しているため、update failed
(更新の失敗)メッセージは無視して構いません。その後、次の操作を実行します。
特定のノード上でdbnodeupdate.sh -c
を手動で実行し、更新の完了手順を実行します。
完了したノードを(データベース)ノード・ファイルから削除します。
patchmgrを再実行し、残りのノードに対して更新を実行します。
patchmgrを使用したデータベース・ノードの更新は任意です。引き続きdbnodeupdate.sh
を手動で実行することもできます。クリティカル・システムの更新時にpatchmgrからブロック・エラーが返された場合、dbnodeupdate.sh
を手動で実行して更新することをお薦めします。
patchmgrオーケストレーションに失敗した理由を分析するには、Oracleサポートにサービス・リクエストを提出してください。
sudoを使用してdbnodeupdate.shを実行するために/etc/sudoers
ファイルを設定するには、次の手順を実行します。
正しく設定されたかどうかを確認するために、oracle
ユーザーとして前提条件チェック・モードでdbnodeupdateを実行します。
[oracle]$ cd /u01/stage/patch/dbnodeupdate [oracle]$ sudo ./dbnodeupdate.sh -u -l http://my-yum-repo/yum/EngineeredSystems/exadata/dbserver/12.1.2.1.3/base/x86_64/ -v
dbnodeupdateは、root権限なしで実行された場合に終了します。
注意:
前述の設定では、/u01/stage/patch/dbnodeupdate
のすべてがrootによって所有されている必要があります。
dbnodeupdateの新しいバージョンを、sudoers
での指定と同じ場所に配置する必要があります。
sudoを使用してpatchmgr (dbserver.patch.zip
にパッケージされている)を実行することにより、セルのパッチ適用、InfiniBandスイッチのパッチ適用、dbnodeupdateの実行のオーケストレーションなど、patchmgrの任意の機能を実行できます。
sudoを使用してpatchmgrを実行するために/etc/sudoers
ファイルを設定するには、次の手順を実行します。
注意:
patchmgrは、sudoを使用して実行する場合でも、更新されるすべてのデータベース・ノードのroot SSH等価を期待します。
前述の設定では、/u01/stage/patch/dbserverpatch
のすべての内容がrootによって所有されている必要があります。
dbserver.patch.zip
の新しいバージョンを、sudoers
での指定と同じ場所に配置する必要があります。
正しく設定されたかどうかを確認するために、oracle
ユーザーとして前提条件チェック・モードでpatchmgrを実行します。
[oracle]$ cd /u01/stage/patch/dbserverpatch/ [oracle]$ sudo ./patchmgr -dbnodes dbgroup -precheck \ -yum_repo http://my-yum-repo/yum/EngineeredSystems/exadata/dbserver/12.1.2.1.3/base/x86_64/ \ -target_version 12.1.2.1.3.151021
再イメージ化の手順が必要なのは、Oracle Linuxデータベース・サーバーで修復できないほどの損傷が発生した場合です。
損傷したOracle Linuxデータベース・サーバーを新しいデータベース・サーバーと交換します。複数のディスク障害でローカル・ディスクのストレージに障害が発生し、データベース・サーバーがバックアップされなかった場合は、この手順も実行します。再イメージ化手順の実行中に、Oracle Exadata Database Machineの他のデータベース・サーバーを使用できます。クラスタに新しいサーバーを追加すると、ソフトウェアが既存のデータベース・サーバーから新しいサーバーにコピーされます。スクリプト、CRONジョブ、保守処置、Oracle以外のソフトウェアのリストアはユーザーが行います。
注意:
この項の手順は、データベースがOracle Database 12cリリース1 (12.1)またはOracle Database 11gリリース2 (11.2)であることを前提としています。データベースがOracle Database 11gリリース1 (11.1)の場合、クラスタのサーバーの追加および削除の詳細は、該当するリリースのドキュメントを参照してください。
Oracle Linuxデータベース・サーバーを再イメージ化する方法は、次のとおりです。
Oracleサポート・サービスでOracleサポート・リクエストを開きます。サポート・エンジニアが障害が発生したサーバーを確認し、交換サーバーを送ります。サポート・エンジニアは、残存データベース・サーバーから実行したimagehistory
コマンドの出力結果を要求します。出力結果により、元のデータベース・サーバーのイメージ化に使用したcomputeImageMaker
ファイルへのリンクと、システムを同じレベルにリストアする手段が提供されます。
クラスタ検証ユーティリティ(cluvfy)の最新リリースは、My Oracle Supportで入手できます。
ダウンロードの方法およびその他の情報は、My Oracle Supportノート316817.1を参照してください。
サーバーを再イメージ化する前に、障害が発生したデータベース・サーバーをクラスタから削除する必要があります。
この作業の手順は、クラスタで動作しているデータベース・サーバーを使用して実行されます。次のコマンドのworking_serverは動作しているデータベース・サーバー、replacement_serverは交換データベース・サーバーです。
関連トピック
USBフラッシュ・ドライブを使用して、イメージを新しいデータベース・サーバーにリストアします。
次の手順は、USBフラッシュ・ドライブを使用する準備を整える方法を示しています。
注意:
リリース12.1.2.1.0以降の場合、イメージの作成に使用されるシステムはOracle Linux 6を実行している必要があります。
リリース12.1.2.2.0以上の場合
空のUSBフラッシュ・ドライブをクラスタの動作しているデータベース・サーバーに挿入します。
root
ユーザーとしてログインします。
USBドライブを準備します。
次のようなコマンドを使用します。ここで、/dev/sdd
は挿入したUSBドライブの名前です。USBドライブを挿入した後に/var/log/messages
を確認すると、正確な名前がわかります。
# dd if=/dev/zero of=/dev/sdd bs=1M count=100 oflag=direct
USBドライブにcomputeImageMakerの.img
ファイルを書き込みます。これには15分以上かかる場合があり、操作中には出力は表示されません。
次のようなコマンドを使用します。ここで、/dev/sdd
は挿入したUSBドライブの名前です。
# dd if=filename.img of=/dev/sdd bs=1M oflag=direct
Linuxのパーティション表を再スキャンして、新しいパーティションが認識されるようにします。
# partprobe
システムがext4
ファイル・システムをサポートするかぎりUSBがマウント可能であることを確認します。前のdd
コマンドがOracle Linux 5システムで実行された場合でも、この手順ではこれをOracle Linux 6システムにする必要があります。
次のようなコマンドを使用します。ここで、/dev/sdd
は挿入したUSBドライブの名前です。
mount /dev/sdd1 /mnt
preconf.csv
ファイルを準備して、USBドライブに配置します。
USBでは、ファイル名はpreconf.csv
である必要があります。preconf.csv
ファイルには、イメージ化中に使用される各ノードのMACアドレスが含まれる必要があります。イメージ化中にpreconf.csv
ファイルが使用されない場合は、ノードが初めて起動するときに、そのネットワーク構成が要求されます。
# cp /path_to_preconf_file/preconf.csv /mnt/preconf.csv
# umount /mnt ### this also ensures that the filesystem is synchronized
12.1.2.2.0より前のリリースの場合:
交換データベース・サーバーには、ホスト名、IPアドレス、DNSまたはNTP設定がありません。この作業の手順は、交換データベース・サーバーの構成方法を示しています。交換データベース・サーバーを構成する前に、次の情報が必要です。
ネーム・サーバー
南北アメリカ/シカゴなどのタイムゾーン
NTPサーバー
管理ネットワークのIPアドレス情報
クライアント・アクセス・ネットワークのIPアドレス情報
InfiniBandネットワークのIPアドレス情報
標準的なホスト名
デフォルトのゲートウェイ
Oracle Exadata Database Machineのすべてのデータベース・サーバーで情報を同じにする必要があります。IPアドレスは、DNSから取得できます。また、Oracle Exadata Database Machineがインストールされたときに、この情報を含むドキュメントが提供されています。
次の手順は、交換データベース・サーバーの構成方法を示しています。
注意:
データベース・サーバーがすべてのネットワーク・インタフェースを使用していない場合は、構成プロセスが停止し、いずれかのネットワーク・インタフェースが切断されているという警告が出されます。検出プロセスを再試行するかどうかの確認を求められます。環境に応じて、yes
またはno
と入力します。
クライアント・アクセス・ネットワークにボンディングが使用される場合、この時点でデフォルトのアクティブ/パッシブ・モードに設定されます。
Oracle Exadata Database Machineの初期インストールの実行中、インストール・プロセスで特定のファイルが変更されました。次の手順は、初期インストールの実行中の変更が交換データベース・サーバーに行われることを確認する方法を示しています。
動作しているデータベース・サーバーのファイルを参照して、次のファイルの内容をコピーまたはマージします。
/etc/security/limits.conf
ファイルの内容をコピーします。
/etc/hosts
ファイルの内容をマージします。
/etc/oracle/cell/network-config/cellinit.ora
ファイルをコピーします。
/etc/oracle/cell/network-config/cellinit.ora
ファイルを、交換サーバーのifcfg-bondib0インタフェース(アクティブ-パッシブ・ボンディングの場合)またはib0とib1のインタフェース(アクティブ-アクティブ・ボンディングの場合)のIP_ADDRESSで更新します。
/etc/oracle/cell/network-config/cellip.ora
ファイルをコピーします。すべてのデータベース・サーバーでcellip.ora
ファイルの内容を同じにする必要があります。
10GbEなど、追加ネットワーク要件を構成します。
/etc/modprobe.conf
ファイルをコピーします。すべてのデータベース・サーバーでファイルの内容を同じにする必要があります。
/etc/sysctl.conf
ファイルをコピーします。すべてのデータベース・サーバーでファイルの内容を同じにする必要があります。
データベース・サーバーを再起動し、ネットワーク変更を有効にします。
Oracleソフトウェア所有者にグループを追加して、交換データベース・サーバーにoracle
ユーザーを設定します。通常、所有者はoracle
です。グループ情報は、動作しているデータベース・サーバーで使用できます。
次のコマンドを使用して、動作しているデータベース・サーバーから現在のグループ情報を取得します。
# id oracle uid=1000(oracle) gid=1001(oinstall) groups=1001(oinstall),1002(dba),1003(oper),1004(asmdba)
次のようにgroupadd
コマンドを使用して、グループ情報を交換データベース・サーバーに追加します。
# groupadd -g 1001 oinstall # groupadd -g 1002 dba # groupadd -g 1003 oper # groupadd -g 1004 asmdba
次のコマンドを使用して、動作しているデータベース・サーバーから現在のユーザー情報を取得します。
# id oracle uid=1000(oracle) gid=1001(oinstall) \ groups=1001(oinstall),1002(dba),1003(oper),1004(asmdba)
次のコマンドを使用して、ユーザー情報を交換データベース・サーバーに追加します。
# useradd -u 1000 -g 1001 -G 1001,1002,1003,1004 -m -d /home/oracle -s \ /bin/bash oracle
次のコマンドを使用して、/u01/app/oracle
や/u01/app/12.1.0.2/grid
などのORACLE_BASEおよびグリッド・インフラストラクチャ・ディレクトリを作成します。
# mkdir -p /u01/app/oracle # mkdir -p /u01/app/12.1.0.2/grid # chown -R oracle:oinstall /u01/app
次のコマンドを使用して、cellip.ora
およびcellinit.ora
ファイルの所有権を変更します。通常、所有権はoracle:dba
です。
# chown -R oracle:dba /etc/oracle/cell/network-config
次のコマンドを使用して、リストアしたデータベース・サーバーをセキュリティで保護します。
$ chmod u+x /opt/oracle.SupportTools/harden_passwords_reset_root_ssh $ /opt/oracle.SupportTools/harden_passwords_reset_root_ssh
注意:
データベース・サーバーが再起動されます。プロンプトが表示されたら、root
ユーザーとしてログインします。新しいパスワードが要求されます。他のデータベース・サーバーのパスワードroot
と一致するパスワードを設定します。
次のコマンドを使用して、Oracleソフトウェア所有者のパスワードを設定します。通常、所有者はoracle
です。
# passwd oracle
次に示すように、oracle
アカウントにSSHを設定します。
次のコマンドを使用して、交換データベース・サーバーのoracle
アカウントにログインします。
# su - oracle
Oracleクラスタのサーバーをリストする交換データベース・サーバーのdcli
グループ・ファイルを作成します。
交換データベース・サーバーで次のコマンドを実行します。
$ dcli -g dbs_group -l oracle -k
次のコマンドを使用して、交換データベース・サーバーにoracle
ユーザーとしてログインします。
# su - oracle
次のコマンドを使用して、SSH等価を確認します。
$ dcli -g dbs_group -l oracle date
次のコマンドを使用して、動作しているデータベース・サーバーから交換データベース・サーバーにカスタム・ログイン・スクリプトを設定またはコピーします。
$ scp .bash* oracle@replacement_server:.
前述のコマンドのreplacement_serverは、dm01db01
などの新しいサーバーの名前です。
Oracle Exadata Database MachineのOracle Exadata Storage Server Softwareパッチ・バンドルが定期的にリリースされています。
computeImageMaker
ファイルのリリースよりも新しいパッチ・バンドルが動作しているデータベース・サーバーに適用された場合、パッチ・バンドルを交換データベース・サーバーに適用する必要があります。次に示すように、パッチ・バンドルが適用されているか確認します。
Oracle Exadata Storage Server Softwareリリース11.2.1.2.3以前のデータベース・サーバーは、バージョン履歴情報を保持していません。リリース番号を確認するには、Exadata Storage Serverにログインし、次のコマンドを実行します。
imageinfo -ver
computeImageMaker
ファイルで使用されるリリースと異なるリリースが表示された場合、Oracle Exadata Storage Server SoftwareパッチがOracle Exadata Database Machineに適用されているので、交換データベース・サーバーに適用する必要があります。
Oracle Exadata Storage Server Softwareリリース11.2.1.2.3以降、imagehistory
コマンドがデータベース・サーバーにあります。交換データベース・サーバーの情報を動作しているデータベース・サーバーの情報と比較します。動作しているデータベースのリリースが新しい場合、Exadata Storage Serverパッチ・バンドルを交換データベース・サーバーに適用します。
この手順では、交換データベース・サーバーにGrid Infrastructureをクローニングする方法について説明します。
次のコマンドのworking_serverは動作しているデータベース・サーバー、replacement_serverは交換データベース・サーバーです。手順中のコマンドは、動作しているデータベース・サーバーからグリッド・ホーム所有者として実行します。コマンドの実行にrootユーザーが必要な場合はコールアウトされます。
次のようにクラスタ検証ユーティリティ(cluvfy)を使用して、ハードウェアおよびオペレーティング・システムのインストールを検証します。
$ cluvfy stage -post hwos -n replacement_server,working_server -verbose
レポートの最後にPost-check for hardware and operating system setup was successful
のフレーズが表示されます。
次のコマンドを使用して、ピア互換性を確認します。
$ cluvfy comp peer -refnode working_server -n replacement_server \ -orainv oinstall -osdba dba | grep -B 3 -A 2 mismatched
次に、出力の例を示します。
Compatibility check: Available memory [reference node: dm01db02] Node Name Status Ref. node status Comment ------------ ----------------------- ----------------------- ---------- dm01db01 31.02GB (3.2527572E7KB) 29.26GB (3.0681252E7KB) mismatched Available memory check failed Compatibility check: Free disk space for "/tmp" [reference node: dm01db02] Node Name Status Ref. node status Comment ------------ ----------------------- ---------------------- ---------- dm01db01 55.52GB (5.8217472E7KB) 51.82GB (5.4340608E7KB) mismatched Free disk space check failed
障害が発生したコンポーネントだけが物理メモリー、スワップ領域およびディスク領域に関連している場合は、手順を継続できます。
次のように、サーバーを追加するために必要な確認を行います。
GRID_HOME/network/admin/samples
ディレクトリの権限が750に設定されていることを確認します。
データベース・サーバーの追加を検証します。oracle
ユーザーとして次のコマンドを実行します。ただし、このコマンドではroot
ユーザーのパスワードが要求されます。
$ cluvfy stage -pre nodeadd -n adczardb03 -fixup -method root -verbose Enter "ROOT" password:
障害が発生したコンポーネントだけがスワップ領域に関連している場合は、手順を継続できます。
コマンドでエラーが返される場合は、次の環境変数を設定してコマンドを再実行します。
$ export IGNORE_PREADDNODE_CHECKS=Y
次のコマンドを使用して、交換データベース・サーバーをクラスタに追加します。
$ cd /u01/app/12.1.0.2/grid/addnode $ ./addnode.sh -silent "CLUSTER_NEW_NODES={replacement_server}" \ "CLUSTER_NEW_VIRTUAL_HOSTNAMES={replacement_server-vip}"
2つ目のコマンドを使用すると、Oracle Universal InstallerによってOracle Clusterwareソフトウェアが交換データベース・サーバーにコピーされます。次のようなメッセージが表示されます。
WARNING: A new inventory has been created on one or more nodes in this session. However, it has not yet been registered as the central inventory of this system. To register the new inventory please run the script at '/u01/app/oraInventory/orainstRoot.sh' with root privileges on nodes 'dm01db01'. If you do not register the inventory, you may not be able to update or patch the products you installed. The following configuration scripts need to be executed as the "root" user in each cluster node: /u01/app/oraInventory/orainstRoot.sh #On nodes dm01db01 /u01/app/12.1.0.2/grid/root.sh #On nodes dm01db01
次に示すように、端末のウィンドウの構成スクリプトを実行します。
端末のウィンドウを開きます。
root
ユーザーとしてログインします。
各クラスタ・ノードのスクリプトを実行します。
スクリプトの実行後、次のメッセージが表示されます。
The Cluster Node Addition of /u01/app/12.1.0.2/grid was successful. Please check '/tmp/silentInstall.log' for more details.
次のコマンドを使用して、交換データベース・サーバーのorainstRoot.sh
およびroot.sh
スクリプトを実行します。サンプルの出力が表示されます。
# /u01/app/oraInventory/orainstRoot.sh Creating the Oracle inventory pointer file (/etc/oraInst.loc) Changing permissions of /u01/app/oraInventory. Adding read,write permissions for group. Removing read,write,execute permissions for world. Changing groupname of /u01/app/oraInventory to oinstall. The execution of the script is complete. # /u01/app/12.1.0.2/grid/root.sh
注意:
/u01/app/12.1.0.2/grid/install/
ログ・ファイルで、root.sh
スクリプトの出力結果を確認します。
クラスタを確認します。
$ /u01/app/12.1.0.2/grid/bin/crsctl check cluster -all ************************************************************** node1: CRS-4537: Cluster Ready Services is online CRS-4529: Cluster Synchronization Services is online CRS-4533: Event Manager is online ************************************************************** node2: CRS-4537: Cluster Ready Services is online CRS-4529: Cluster Synchronization Services is online CRS-4533: Event Manager is online ************************************************************** node3: CRS-4537: Cluster Ready Services is online CRS-4529: Cluster Synchronization Services is online CRS-4533: Event Manager is online
関連トピック
この項では、既存のエラスティック構成に次の変更を行う方法について説明します。
ストレージ・セルを伴う変更については、「ストレージ・セルの既存のエラスティック構成の変更」を参照してください。
このシナリオでは、既存のデータベース・サーバーを再利用し、同じExadataラック内の別のクラスタに移動します。
既存のクラスタからデータベース・サーバーを削除します。
データベース・サーバー上のグリッド・インフラストラクチャを停止します。
$GI_HOME/bin/crstl stop crs
「Oracle Linuxデータベース・サーバーの再イメージ化」の作業3を実行して、クラスタからデータベース・サーバーを削除します。
再利用するデータベース・サーバーの再イメージ化が必要かどうかを確認します。
再利用するデータベース・サーバーを追加するクラスタ内のデータベース・サーバーのイメージ・ラベルをチェックします。クラスタ内の既存のデータベース・サーバーのイメージ・ラベルとの一致のために再利用するデータベース・サーバーの再イメージ化が必要な場合は、「Oracle Linuxデータベース・サーバーの再イメージ化」の作業1、2、4、5および6に従ってデータベース・サーバーをイメージ化します。
アップグレードが必要な場合は、dbnodeupdate.shを使用してアップグレードを実行できます。詳細は、My Oracle Supportノート1553103.1を参照してください。
クラスタにデータベース・サーバーを追加します。
これを実行するには、「Oracle Linuxデータベース・サーバーの再イメージ化」の作業7以降の作業を実行してください。
最新のexachkをダウンロードして実行し、結果の構成にOracle Exadataの最新のベスト・プラクティスが実装されたことを確認します。
この項には次のサブセクションが含まれます:
Oracle Exadataリリース12.1.2.3.0で導入されたQuorumディスク管理ユーティリティは、quorumディスクの管理に役立ちます。
このユーティリティを使用してiSCSI quorumディスクを2つのデータベース・ノード上に作成し、それら2つのquorumディスクに投票ファイルを格納できます。追加された2つの投票ファイルは、投票ファイル5つという高冗長性ディスク・グループの最小要件を満たすために使用されます。この機能は、次の要件を満たすOracle Exadataラックにのみ適用されます。
Oracle Exadataラック内のストレージ・サーバーの数が5台未満。
Oracle Exadataラック内に少なくとも2つのデータベース・ノードがある。
Oracle Exadataラックに少なくとも1つの高冗長性ディスク・グループがある。
さらに2つの障害グループが存在することから、この機能では投票ファイルがOracle Exadataラック(ストレージ・サーバーが5台未満)上の高冗長性ディスク・グループに格納されます。
この機能を使用しない場合、投票ファイルはExadataラック(ストレージ・サーバーが5台未満)上の標準冗長性ディスク・グループに格納されます。これによりOracle Grid Infrastructureは二重パートナ・ストレージ・サーバー障害に対して脆弱になり、投票ファイルquorumが喪失し、その結果クラスタおよびデータベースの完全停止を招くこともあります。このシナリオにおけるクラスタウェアおよびデータベースの再起動については、My Oracle Supportノート1339373.1を参照してください。
RDSの使用でib0
とib1
のIPアドレスの可用性が高くなるため、iSCSI quorumディスクの実装は高い可用性を実現します。将来的に内部ネットワークの構成の柔軟化または分離が行われても、このマルチパス機能によりiSCSI quorumディスク実装はシームレスに動作し続けます。
次の図内の各iSCSIデバイスは、iSCSIターゲットに向かう特定のパスに対応しています。各パスはデータベース・ノードのInfiniBandポートに対応しています。アクティブ–アクティブ・システム内のマルチパスquorumディスク・デバイスごとに、2つのiSCSIデバイス(ib0
用とib1
用)があります。
図2-8 アクティブ-アクティブ・システムにおいて、両方のiSCSIデバイスに接続するマルチパス・デバイス
この機能はベア・メタルOracle RACクラスタとOracle VM Oracle RACクラスタで使用できます。Oracle VM Oracle RACクラスタの場合、次の図に示すように、quorumディスク・デバイスが存在するOracle RACクラスタはOracle VMユーザー・ドメインです。
pkeyが有効の環境では、ターゲットの発見に使用するインタフェースをOracle Clusterware通信で使用するpkeyインタフェースにする必要があります。これらのインタフェースは次のコマンドを使用すると表示されます。
Grid_home/bin/oifcfg getif | grep cluster_interconnect | awk '{print $1}'
Quorumディスク管理ユーティリティ(quorumdiskmgr
)は、iSCSI構成、iSCSIターゲット、iSCSI LUN、iSCSIデバイスなど、この機能の実装に必要なすべてのコンポーネントを作成および管理するために使用します。
この機能を使用するには、次のリリースが必要です。
Oracle Exadata softwareリリース12.1.2.3.0以上
すべてのデータベース・ホームにパッチ23200778を適用
Oracle Grid Infrastructure 12.1.0.2.160119(パッチ22722476および22682752を適用)またはOracle Grid Infrastructure 12.1.0.2.160419以上
新規のデプロイメントでは、OEDAによってパッチが自動的にインストールされます。
高冗長性ディスク・グループおよび5台未満のストレージ・ディスクを含むOracle Exadataラック上のデータベース・ノードに、quorumディスクを追加することができます。
この項の例では、2つのデータベース・ノード(db01
およびdb02
)のあるクオータ・ラックにquorumディスクを作成します。
これは、アクティブ-アクティブ・システムです。db01
およびdb02
の両方には、2つのInfiniBandポート、ib0
およびib1
があります。
iSCSIデバイスとの通信に使用するネットワーク・インタフェースは次のコマンドを使用して確認できます。
$ oifcfg getif | grep cluster_interconnect | awk '{print $1}'
各インタフェースのIPアドレスは次のコマンドを使用して確認できます。
ip addr show interface_name
この例のInfiniBand IPアドレスは次のとおりです。
db01
:
ネットワーク・インタフェース: ib0、IPアドレス: 192.168.10.45
ネットワーク・インタフェース: ib1、IPアドレス: 192.168.10.46
db02
:
ネットワーク・インタフェース: ib0、IPアドレス: 192.168.10.47
ネットワーク・インタフェース: ib1、IPアドレス: 192.168.10.48
quorumディスクが追加されるOracle ASMディスク・グループは、DATAC1です。Oracle ASM所有者はgrid
で、ユーザー・グループはdba
です。
投票ファイルは当初、標準冗長性ディスク・グループRECOC1に配置されています。
$ Grid_home/bin/crsctl query css votedisk
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE 21f5507a28934f77bf3b7ecf88b26c47 (o/192.168.76.187;192.168.76.188/RECOC1_CD_00_celadm12) [RECOC1]
2. ONLINE 387f71ee81f14f38bfbdf0693451e328 (o/192.168.76.189;192.168.76.190/RECOC1_CD_00_celadm13) [RECOC1]
3. ONLINE 6f7fab62e6054fb8bf167108cdbd2f64 (o/192.168.76.191;192.168.76.192/RECOC1_CD_00_celadm14) [RECOC1]
Located 3 voting disk(s).
状況によっては、quorumディスクの再作成が必要になる場合があります。
ゲストdomUを再作成するとき
quorumディスクを削除したが事前にOracle ASMディスク・グループからquorumディスクを削除(drop)していないとき
関連トピック
Oracle Exadataリリース12.1.2.3.0以上での新規デプロイメントでは、次の要件がすべて満たされる場合、OEDAによってデフォルトでこの機能が実装されます。
システムに少なくとも2つのデータベース・ノードと5台未満のストレージ・サーバーが含まれている。
OEDAリリース2016年2月以降を実行している。
「Quorumディスク管理のソフトウェア要件」に記載されているソフトウェア要件を満たしている。
Oracle Databaseが11.2.0.4以上である。
システム上に少なくとも1つの高冗長性ディスク・グループがある。
システム上に3台のストレージ・サーバーがある場合、OEDAによって選択されたクラスタ内の最初の2つのデータベース・ノードに、2つのquorumディスクが作成されます。
システム上に4台のストレージ・サーバーがある場合、OEDAによって選択された最初のデータベース・ノードに、1つのquorumディスクが作成されます。
ターゲットのExadataシステム内に5台未満のストレージ・サーバー、少なくとも1つの高冗長性ディスク・グループおよび2つ以上のデータベース・ノードがある場合、quorumdiskmgr
を使用して手動でこの機能を実装できます。
関連トピック
quorumディスクをサポートする12.1.2.3.0以上のリリースからquorumディスクをサポートしない12.1.2.3.0より前のOracle Exadataリリースにロールバックするには、環境にquorumディスク実装が存在する場合はquorumディスク構成を削除する必要があります。Exadataソフトウェアのロールバックを実行する前に、quorumディスク構成を削除する必要があります。
quorumディスク構成を削除するには、次の手順を実行します。
1つ以上の標準冗長性ディスク・グループが存在することを確認します。ない場合は作成します。
標準冗長性ディスク・グループに投票ファイルを再配置します。
$GI_HOME/bin/crsctl replace votedisk +normal_redundancy_diskgroup
ASMからquorumディスクを削除します。各quorumディスクに対して次のコマンドを実行します。
SQL> alter diskgroup diskgroup_name drop quorum disk quorum_disk_name force;
リバランス操作が完了するまで待機します。v$asm_operation
によってディスク・グループの行が返されなくなったら、完了です。
quorumデバイスを削除します。quorumディスクが存在する各データベース・ノードから次のコマンドを実行します。
/opt/oracle.SupportTools/quorumdiskmgr --delete --device [--asm-disk-group asm_disk_group] [--host-name host_name]
ターゲットを削除します。quorumディスクが存在する各データベース・ノードから次のコマンドを実行します。
/opt/oracle.SupportTools/quorumdiskmgr --delete --target [--asm-disk-group asm_disk_group]
構成を削除します。quorumディスクが存在する各データベース・ノードから次のコマンドを実行します。
/opt/oracle.SupportTools/quorumdiskmgr --delete –config
既存のRACクラスタに2つ未満のデータベース・ノードと5台未満のストレージ・サーバーが含まれていて、投票ファイルが高冗長性ディスク・グループに配置されていない場合は、quorumディスクをデータベース・ノードに追加し、投票ファイルを高冗長性ディスク・グループに移動することをお薦めします。
注意:
「Quorumディスク管理のソフトウェア要件」に示されている要件を満たしている必要があります。
関連トピック
削除するデータベース・ノードがquorumディスクをホストしていない場合は、必要な処置はありません。
削除するデータベース・ノードが投票ファイルを含むquorumディスクをホストしていて、RACクラスタ内のストレージ・サーバーが5台未満の場合、データベース・ノードを削除する前に別のデータベース・ノードにquorumディスクを作成する必要があります。次の手順を実行します。
現在quorumディスクをホストしていないデータベース・ノードにquorumディスクを作成します。
db01およびdb02に、ルートとしてログインします。
quorumdiskmgrコマンドを--create --config
オプションを使用して実行し、quorumディスク構成をdb01およびdb02の両方に作成します。
# /opt/oracle.SupportTools/quorumdiskmgr --create --config --owner=grid --group=dba --network-iface-list="ib0, ib1"
quorumdiskmgrコマンドを--list --config
オプションを使用して実行し、構成がdb01およびdb02の両方に正しく作成されたことを確認します。
# /opt/oracle.SupportTools/quorumdiskmgr --list --config
出力は次のようになります:
Owner: grid Group: dba ifaces: exadata_ib1 exadata_ib0
quorumdiskmgrコマンドを--create --target
オプションを使用して実行し、ASMディスク・グループDATAC1のターゲットをdb01およびdb02の両方に作成し、両方で表示されるようにします。
# /opt/oracle.SupportTools/quorumdiskmgr --create --target --asm-disk-group=datac1 --visible-to="192.168.10.45, 192.168.10.46, 192.168.10.47, 192.168.10.48"
quorumdiskmgrコマンドを--list --target
オプションを使用して実行し、ターゲットがdb01およびdb02の両方に正しく作成されたことを確認します。
# /opt/oracle.SupportTools/quorumdiskmgr --list --target
db01では、出力は次のようになります。
Name: iqn.2015-05.com.oracle:QD_DATAC1_DB01 Size: 128 MB Host name: DB01 ASM disk group name: DATAC1 Visible to: 192.168.10.45, 192.168.10.46, 192.168.10.47, 192.168.10.48 Discovered by:
db02では、出力は次のようになります。
Name: iqn.2015-05.com.oracle:QD_DATAC1_DB02 Size: 128 MB Host name: DB02 ASM disk group name: DATAC1 Visible to: 192.168.10.45, 192.168.10.46, 192.168.10.47, 192.168.10.48 Discovered by:
quorumdiskmgrコマンドを--create --device
オプションを使用して実行し、db01およびdb02の両方のターゲットから、db01およびdb02の両方にデバイスを作成します。
# /opt/oracle.SupportTools/quorumdiskmgr --create --device --target-ip-list="192.168.10.45, 192.168.10.46, 192.168.10.47, 192.168.10.48"
quorumdiskmgrコマンドを--list --deviceオプションを使用して実行し、デバイスがdb01およびdb02の両方に正しく作成されたことを確認します。
# /opt/oracle.SupportTools/quorumdiskmgr --list --device
db01およびdb02の両方で、出力は次のようになります。
Device path: /dev/exadata_quorum/QD_DATAC1_DB01 Size: 128 MB Host name: DB01 ASM disk group name: DATAC1 Device path: /dev/exadata_quorum/QD_DATAC1_DB02 Size: 128 MB Host name: DB02 ASM disk group name: DATAC1
2つのquorumディスク・デバイスを高冗長性ASMディスク・グループに追加します。
高冗長性ディスク・グループがない場合は、高冗長性ディスク・グループを作成して、この2つの新しいquorumディスクを含めます。次に例を示します。
SQL> create diskgroup DATAC1 high redundancy quorum failgroup db01 disk '/dev/exadata_quorum/QD_ DATAC1_DB01' quorum failgroup db02 disk '/dev/exadata_quorum/QD_ DATAC1_DB02' ...
高冗長性ディスク・グループがすでに存在する場合は、2つの新しいquorumディスクを追加します。次に例を示します。
SQL> alter diskgroup datac1 add quorum failgroup db01 disk '/dev/exadata_quorum/QD_DATAC1_DB02' quorum failgroup db02 disk '/dev/exadata_quorum/QD_DATAC1_DB01';
データベース・ノードを削除すると、投票ファイルが手順1で追加したquorumディスクに自動的に再配置されます。
quorumディスクを使用するストレージ・サーバーを追加する場合は、新しく追加するストレージ・サーバーにデータベース・ノード上の投票ファイルを再配置することをお薦めします。
Exadataストレージ・サーバーを追加します。詳細は、「セル・ノードの追加」を参照してください。
次の例では、追加される新しいストレージ・サーバーの名前は"celadm04"です。
ストレージ・サーバーの追加後、v$asm_disk
内の新しい障害グループを確認します。
SQL> select distinct failgroup from v$asm_disk; FAILGROUP ------------------------------ ADM01 ADM02 CELADM01 CELADM02 CELADM03 CELADM04
少なくとも1つのデータベース・ノードに投票ファイルを含むquorumディスクが含まれていることを確認します。
$ crsctl query css votedisk ## STATE File Universal Id File Name Disk group -- ----- ----------------- --------- --------- 1. ONLINE 834ee5a8f5054f12bf47210c51ecb8f4 (o/192.168.12.125;192.168.12.126/DATAC5_CD_00_celadm01) [DATAC5] 2. ONLINE f4af2213d9964f0bbfa30b2ba711b475 (o/192.168.12.127;192.168.12.128/DATAC5_CD_00_celadm02) [DATAC5] 3. ONLINE ed61778df2964f37bf1d53ea03cd7173 (o/192.168.12.129;192.168.12.130/DATAC5_CD_00_celadm03) [DATAC5] 4. ONLINE bfe1c3aa91334f16bf78ee7d33ad77e0 (/dev/exadata_quorum/QD_DATAC5_ADM01) [DATAC5] 5. ONLINE a3a56e7145694f75bf21751520b226ef (/dev/exadata_quorum/QD_DATAC5_ADM02) [DATAC5] Located 5 voting disk(s).
この例では、2つのデータベース・ノード上に投票ファイルを含む2つのquorumディスクがあります。
いずれか1つのquorumディスクを削除します。
SQL> alter diskgroup datac5 drop quorum disk QD_DATAC5_ADM01;
削除したquorumディスク上の投票ファイルは、投票ファイルのリフレッシュ時にグリッド・インフラストラクチャによって、新しく追加したストレージ・サーバー上に自動的に再配置されます。これは次の方法で確認できます。
$ crsctl query css votedisk ## STATE File Universal Id File Name Disk group -- ----- ----------------- --------- --------- 1. ONLINE 834ee5a8f5054f12bf47210c51ecb8f4 (o/192.168.12.125;192.168.12.126/DATAC5_CD_00_celadm01) [DATAC5] 2. ONLINE f4af2213d9964f0bbfa30b2ba711b475 (o/192.168.12.127;192.168.12.128/DATAC5_CD_00_celadm02) [DATAC5] 3. ONLINE ed61778df2964f37bf1d53ea03cd7173 (o/192.168.12.129;192.168.12.130/DATAC5_CD_00_celadm03) [DATAC5] 4. ONLINE a3a56e7145694f75bf21751520b226ef (/dev/exadata_quorum/QD_DATAC5_ADM02) [DATAC5] 5. ONLINE ab5aefd60cf84fe9bff6541b16e33787 (o/192.168.12.131;192.168.12.132/DATAC5_CD_00_celadm04) [DATAC5]
quorumディスク管理ユーティリティ(quorumdiskmgr)を各データベース・サーバーで実行すると、iSCSI quorumディスクをデータベース・サーバー上に作成できます。quorumdiskmgrを使用して、iSCSI quorumディスクをデータベース・サーバーで作成、リスト、変更および削除できます。出荷時に、ユーティリティはデータベース・サーバーにインストールされます。
このリファレンスの項の内容は、次のとおりです。
quorumディスク管理ユーティリティは、コマンドライン・ツールです。構文は次のとおりです。
quorumdiskmgr --verb --object [--options]
verb
は、オブジェクト上で実行されるアクションです。これは、alter
、create
、delete
、list
のいずれかです。
object
は、コマンドでアクションを実行するオブジェクトです。
options
は、コマンドの追加パラメータを使用できるようにコマンドの組合せの使用範囲を拡大します。
quorumdiskmgrユーティリティを使用する場合は、次のルールが適用されます:
動詞、オブジェクトおよびオプションは、明示的に指定されている場合を除き、大/小文字が区別されます。
二重引用符文字を使用して、オプションの値をスペースおよび句読点を含めて囲みます。
オブジェクト | 説明 |
---|---|
|
quorumディスク構成には、iSCSI quorumディスクを追加するASMインスタンスの所有者およびグループ、およびローカルおよびリモートiSCSI quorumディスクの発見で使用するネットワーク・インタフェースのリストが含まれます。 |
|
ターゲットは、各データベース・サーバー上のエンドポイントで、iSCSIイニシエータがセッションを確立するまで待機し、必要なIOデータ転送を提供します。 |
|
デバイスは、iSCSIデバイスで、ローカルまたはリモート・ターゲットへのログインで作成されます。 |
--create --config
アクションは、quorumディスク構成を作成します。構成は、ターゲットまたはデバイスが作成される前に作成する必要があります。
構文
quorumdiskmgr --create --config [--owner
owner
--group
group
] --network-iface-list
network-iface-list
パラメータ
次の表に、--create --config
アクションのパラメータを示します。
パラメータ | 説明 |
---|---|
owner |
iSCSI quorumディスクを追加するASMインタフェースの所有者を指定します。これはオプションのパラメータです。デフォルト値は、 |
group |
iSCSI quorumディスクを追加するASMインタフェースのグループを指定します。これはオプションのパラメータです。デフォルト値は |
network-iface-list |
ローカルおよびリモート・ターゲットの発見で使用されるネットワーク・インタフェース名のリストを指定します。 |
例
quorumdiskmgr --create --config --owner=oracle --group=dba --network-iface-list="ib0, ib1"
--create --target
アクションは、指定されたInfiniBand IPアドレスのリスト内のInfiniBand IPアドレスを使用してデータベース・サーバーによりアクセスされるターゲットを作成し、指定されたASMディスク・グループに追加されるデバイスを作成します。
ターゲットが作成されると、そのasm-disk-group、host-nameおよびsize属性は変更できません。
構文
quorumdiskmgr --create --target --asm-disk-group
asm_disk_group
--visible-to
infiniband_ip_list
[--host-name
host_name
] [--size
size
]
パラメータ
パラメータ | 説明 |
---|---|
asm-disk-group |
ターゲットから作成されるデバイスが追加されるASMディスク・グループを指定します。asm-disk-groupの値は大/小文字が区別されません。 |
visible-to |
InfiniBand IPアドレスのリストを指定します。リスト内のInfiniBand IPアドレスを持つデータベース・サーバーは、ターゲットへのアクセスがあります。 |
host-name |
quorumdiskmgrが稼働するデータベース・サーバーのホスト名を指定します。asm-disk-groupおよびhost-nameの合計の長さは、26文字を超えてはいけません。ホスト名が長すぎる場合、クオータ・ラックの各データベース・サーバーに別々のホスト名が指定されている場合にかぎり、短いホスト名を指定できます。 これはオプションのパラメータです。デフォルト値は、quorumdiskmgrが稼働するデータベース・サーバーのホスト名です。host-nameの値は大/小文字が区別されません。 |
size |
ターゲットのサイズを指定します。これはオプションのパラメータです。デフォルト値は128MBです。 |
例
quorumdiskmgr --create --target --size=128MB --asm-disk-group=datac1 --visible-to="192.168.10.45, 192.168.10.46" --host-name=db01
--create --device
アクションは、指定されたIPアドレスのリスト内のInfiniBand IPアドレスを使用してターゲットを発見およびログインし、デバイスを作成します。
作成されたデバイスは、構成の作成中に指定された所有者およびグループのあるASMインスタンスにより、自動的に発見されます。
構文
quorumdiskmgr --create --device --target-ip-list
target_ip_list
パラメータ
パラメータ | 説明 |
---|---|
target-ip-list |
InfiniBand IPアドレスのリストを指定します。quorumdiskmgrは、InfiniBand IPアドレスを持つデータベース・サーバー上のターゲットを発見し、ターゲットにログインしてデバイスを作成します。 |
例
quorumdiskmgr --create --device --target-ip-list="192.168.10.45, 192.168.10.46"
--list --config
アクションは、quorumディスク構成をリストします。
構文
quorumdiskmgr --list --config
出力例
Owner: grid Group: dba ifaces: exadata_ib1 exadata_ib0
--list --target
アクションは、ターゲット名、サイズ、ホスト名、ASMディスク・グループ名、ターゲットに対してアクセスを持つデータベース・サーバーを示すIPアドレスのリスト(visible-to IPアドレス・リスト)およびターゲットにログインしたデータベース・サーバーを示すIPアドレスのリスト(discovered-by IPアドレス・リスト)を含むターゲットの属性をリストします。
ASMディスク・グループが指定された場合、アクションは、指定されたASMディスク・グループに作成されたすべてのローカル・ターゲットをリストします。それ以外の場合、アクションは、quorumディスクに作成されたすべてのローカル・ターゲットをリストします。
構文
quorumdiskmgr --list --target [--asm-disk-group
asm_disk_group
]
パラメータ
パラメータ | 説明 |
---|---|
asm-disk-group |
ASMディスク・グループを指定します。quorumdiskmgrは、このASMディスク・グループのすべてのローカル・ターゲットを表示します。asm-disk-groupの値は大/小文字が区別されません。 |
出力例
Name: iqn.2015-05.com.oracle:QD_DATAC1_DB01 Size: 128 MB Host name: DB01 ASM disk group name: DATAC1 Visible to: 192.168.10.48, 192.168.10.49, 192.168.10.46, 192.168.10.47 Discovered by: 192.168.10.47, 192.168.10.46
--list --device
アクションは、デバイス・パス、サイズ、ホスト名およびASMディスク・グループを含むデバイスの属性をリストします。
ASMディスク・グループ名のみが指定された場合、アクションは、ASMディスク・グループに追加されたすべてのデバイスをリストします。
ホスト名のみが指定された場合、アクションは、ホスト上のターゲットから作成されたすべてのデバイスをリストします。
ASMディスク・グループ名およびホスト名の両方が指定された場合、ホスト上のターゲットから作成され、ASMディスク・グループに追加された単一のデバイスをリストします。
ASMディスク・グループ名およびホスト名のいずれも指定されない場合、アクションは、すべてのquorumディスク・デバイスをリストします。
構文
quorumdiskmgr --list --device [--asm-disk-group
asm_disk_group
] [--host-name
host_name
]
パラメータ
パラメータ | 説明 |
---|---|
asm-disk-group |
デバイスが追加されたASMディスク・グループを指定します。asm-disk-groupの値は大/小文字が区別されません。 |
host-name |
ターゲット・デバイスが作成されたデータベース・サーバーのホスト名を指定します。host-nameの値は大/小文字が区別されません。 |
出力例
Device path: /dev/exadata_quorum/QD_DATAC1_DB01 Size: 128 MB Host name: DB01 ASM disk group name: DATAC1 Device path: /dev/exadata_quorum/QD_DATAC1_DB02 Size: 128 MB Host name: DB02 ASM disk group name: DATAC1
--delete --config
アクションは、quorumディスク構成を削除します。構成は、ターゲットまたはデバイスが存在しない場合にのみ削除できます。
構文
quorumdiskmgr --delete --config
--delete --target
アクションは、データベース・サーバー上のquorumディスクに作成されたターゲットを削除します。
ASMディスク・グループが指定された場合、アクションは、指定されたASMディスク・グループに作成されたすべてのローカル・ターゲットを削除します。それ以外の場合、アクションは、quorumディスクに作成されたすべてのローカル・ターゲットを削除します。
構文
quorumdiskmgr --delete --target [--asm-disk-group
asm_disk_group
]
パラメータ
パラメータ | 説明 |
---|---|
asm-disk-group |
ASMディスク・グループを指定します。このディスク・グループに作成されたローカル・ターゲットが削除されます。asm-disk-groupの値は大/小文字が区別されません。 |
例
quorumdiskmgr --delete --target --asm-disk-group=datac1
--delete --device
アクションは、quorumディスク・デバイスを削除します。
ASMディスク・グループ名のみが指定された場合、アクションは、ASMディスク・グループに追加されたすべてのデバイスを削除します。
ホスト名のみが指定された場合、アクションは、ホスト上のターゲットから作成されたすべてのデバイスを削除します。
ASMディスク・グループ名およびホスト名の両方が指定された場合、ホスト上のターゲットから作成され、ASMディスク・グループに追加された単一のデバイスを削除します。
ASMディスク・グループ名およびホスト名のいずれも指定されない場合、アクションは、すべてのquorumディスク・デバイスを削除します。
構文
quorumdiskmgr --delete --device [--asm-disk-group
asm_disk_group
] [--host-name
host_name
]
パラメータ
パラメータ | 説明 |
---|---|
asm-disk-group |
削除する対象のデバイスのASMディスク・グループを指定します。asm-disk-groupの値は大/小文字が区別されません。 |
host-name |
データベース・サーバーのホスト名を指定します。このホスト上のターゲットから作成されたデバイスが削除されます。host-nameの値は大/小文字が区別されません。 |
例
quorumdiskmgr --delete --device --host-name=db01
--alter --config
アクションは、所有者およびグループ構成を変更します。
構文
quorumdiskmgr --alter --config --owner
owner
--group
group
パラメータ
パラメータ | 説明 |
---|---|
owner |
quorumディスク構成の新しい所有者を指定します。このパラメータは省略可能です。指定しない場合、所有者は変更されません。 |
group |
quorumディスク構成の新しいグループを指定します。このパラメータは省略可能です。指定しない場合、グループは変更されません。 |
例
quorumdiskmgr --alter --config --owner=grid --group=dba
--alter --target
アクションは、指定されたASMディスク・グループに作成されたローカル・ターゲットへのアクセスを持つデータベース・サーバーのInfiniBand IPアドレスを変更します。
構文
quorumdiskmgr --alter --target --asm-disk-group
asm_disk_group
--visible-to
infiniband_ip_list
パラメータ
パラメータ | 説明 |
---|---|
asm-disk-group |
ターゲットから作成されるデバイスが追加されるASMディスク・グループを指定します。asm-disk-groupの値は大/小文字が区別されません。 |
visible-to |
InfiniBand IPアドレスのリストを指定します。リスト内のInfiniBand IPアドレスを持つデータベース・サーバーは、ターゲットへのアクセスがあります。 |
例
quorumdiskmgr --alter --target --asm-disk-group=datac1 --visible-to="192.168.10.45, 192.168.10.47"
vmetricsパッケージを使用すると、vmetricsサービスで収集されたシステム統計を表示できます。dom0またはdomUから、システム統計にアクセスできます。vmetricsサービスはdom0上で稼働して、統計を収集し、それらをxenstoreへプッシュします。これにより、domU'sが統計にアクセスできます。
vmetricsサービスによって収集されたシステム統計を、サンプル値を使用して次に表示します:
com.sap.host.host.VirtualizationVendor=Oracle Corporation;
com.sap.host.host.VirtProductInfo=Oracle VM 3;
com.sap.host.host.PagedInMemory=0;
com.sap.host.host.PagedOutMemory=0;
com.sap.host.host.PageRates=0;
com.sap.vm.vm.uuid=2b80522b-060d-47ee-8209-2ab65778eb7e;
com.sap.host.host.HostName=scac10adm01.us.oracle.com;
com.sap.host.host.HostSystemInfo=scac10adm01;
com.sap.host.host.NumberOfPhysicalCPUs=24;
com.sap.host.host.NumCPUs=4;
com.sap.host.host.TotalPhyMem=98295;
com.sap.host.host.UsedVirtualMemory=2577;
com.sap.host.host.MemoryAllocatedToVirtualServers=2577;
com.sap.host.host.FreeVirtualMemory=29788;
com.sap.host.host.FreePhysicalMemory=5212;
com.sap.host.host.TotalCPUTime=242507.220000;
com.sap.host.host.Time=1453150151;
com.sap.vm.vm.PhysicalMemoryAllocatedToVirtualSystem=8192;
com.sap.vm.vm.ResourceMemoryLimit=8192;
com.sap.vm.vm.TotalCPUTime=10160.1831404;
com.sap.vm.vm.ResourceProcessorLimit=4;
vmetricsサービスをインストールするには、dom0上でrootユーザーとしてinstall.sh
スクリプトを実行します:
[root@scac10adm01]# cd /opt/oracle.SupportTools/vmetrics [root@scac10adm01]# ./install.sh
install.sh
スクリプトは、それがdom0で実行中であり、現在実行中のvmetricsサービスを停止、パッケージ・ファイルを/opt/oracle.vmetrics
にコピーおよびvmetrics.svc
を/etc/init.d
にコピーすることを、確認します。
vmetricsサービスをdom0で開始するには、dom0上でrootユーザーとして次のコマンドを実行します:
[root@scac10adm01 vmetrics]# service vmetrics.svc start
統計を収集するコマンドは、30秒ごとに実行されます。
vmetricsパッケージには次のファイルが含まれます:
ファイル | 説明 |
---|---|
|
このファイルは、パッケージをインストールします。 |
|
このスクリプトは、統計をxenstoreから読み取り、それらをXML形式で表示します。 |
|
このPythonスクリプトは、システム・コマンドを実行し、それらをxenstoreにアップロードします。システム・コマンドは、 |
|
このXMLファイルは、dom0がxenstoreへプッシュするべきメトリックおよび各メトリックで実行するシステム・コマンドを指定します。 |
|
vmetricsをLinuxサービスにする |
統計がxenstoreにプッシュされた後、次のいずれかのコマンドを実行すると、dom0およびdomU上に統計を表示できます:
注意:
domU's上に、xenstoreprovider
およびovmd
パッケージがインストールされていることを確認してください。
xenstoreprovider
は、ovmapiカーネル・インフラストラクチャと通信するライブラリです。
ovmd
は、構成および再構成イベントを処理し、VMとOracle VMマネージャの間でメッセージを送信/受信するメカニズムを提供するするデーモンです。
次のコマンドを使用して、Oracle VM APIをサポートするためにOracle Linux 5および6で必要なパッケージをインストールします。
# yum install ovmd xenstoreprovider
/usr/sbin/ovmd -g vmhost
コマンドは、1つのライン上の統計を表示します。sed
コマンドは、ラインを複数のラインに分割し、ラインごとに統計します。このコマンドは、rootユーザーとして実行する必要があります。
root@scac10db01vm04 ~]# /usr/sbin/ovmd -g vmhost |sed 's/; */;\n/g;s/:"/:"\n/g' com.sap.host.host.VirtualizationVendor=Oracle Corporation; com.sap.host.host.VirtProductInfo=Oracle VM 3; com.sap.host.host.PagedInMemory=0; com.sap.host.host.PagedOutMemory=0; com.sap.host.host.PageRates=0; com.sap.vm.vm.uuid=2b80522b-060d-47ee-8209-2ab65778eb7e; com.sap.host.host.HostName=scac10adm01.us.oracle.com; com.sap.host.host.HostSystemInfo=scac10adm01; com.sap.host.host.NumberOfPhysicalCPUs=24; com.sap.host.host.NumCPUs=4; ...
vm-dump-metrics
コマンドは、XML形式でメトリックを表示します。
[root@scac10db01vm04 ~]# ./vm-dump-metrics <metrics> <metric type='real64' context='host'> <name>TotalCPUTime</name> <value>242773.600000</value> </metric> <metric type='uint64' context='host'> <name>PagedOutMemory</name> <value>0</value> </metric> ...
vm-dump-metrics
コマンドを、コマンドを実行するdomU'sにコピーすることに注意してください。