6 Oracle Cluster Registryおよび投票ファイルの管理
Oracle Clusterwareには、構成およびノード・メンバーシップを管理する2つの重要なコンポーネントが含まれます(ローカル・コンポーネントのOracle Local Registry(OLR)も含むOracle Cluster Registry(OCR)および投票ファイル)。
-
OCRは、Oracle ClusterwareおよびOracle RACデータベースの構成情報を格納します
-
OLRは、クラスタ内の各ノードに存在し、特定のノードごとにOracle Clusterwareの構成情報を管理します。
-
投票ファイルはノード・メンバーシップに関する情報を格納します。ノードがクラスタのメンバーになるためには、各投票ファイルに、クラスタ内のすべてのノードがアクセスできる必要があります。
Oracle Clusterware18cでは、OCRおよび投票ファイルをOracle Automatic Storage Management (Oracle ASM)に格納する必要がありました。
注意:
-
Oracle Clusterware 12cでは、RAWまたはブロック・デバイスの使用をサポートしていません。従来のOracle ClusterwareリリースでRAWまたはブロック・デバイスを使用していて、Oracle Clusterware 12cへのアップグレードを行うには、アップグレード前に、OCRおよび投票ファイルをOracle ASMまたは共有ファイル・システムに移行する必要があります。
-
Oracle Clusterware 12c リリース2 (12.2)以上では、OCRおよび投票ファイルはOracle ASMで管理することが優先され、これらのファイルを共有ファイル・システムに直接配置することは非推奨となりました。
ネイティブ・ディスク・デバイスではなくサポート対象の共有ファイル・システム(ネットワーク・ファイル・システムまたは共有クラスタ・ファイル・システム)を使用する必要がある場合は、Oracle Grid Infrastructureをインストールする前に、OCRおよび投票ファイルをホストするために使用する予定の共有ファイル・システム上にOracle ASMディスクを作成する必要があります。これにより、Oracle ASMディスク・グループ内のOracle ASMディスクを使用して、OCRおよび投票ファイルを管理できます。
可用性を向上させるために、Oracle Clusterwareのインストール時に複数の投票ファイルを構成することをお薦めします。投票ファイルをOracle ASMディスク・グループに配置することを選択すると、標準の、または高い冗長性のディスク・グループを使用する場合に、Oracle ASMによって複数の投票ファイルが確実に構成されます。投票ファイルを共有ファイル・システムに格納することを選択する場合は、複数の投票ファイルを構成するオプションを選択します(この場合、異なるディスクに基づく3つの異なるファイル・システムを指定する必要があります)。
必要に応じて、Oracle Clusterwareのインストール・プロセス完了後に、クラスタを停止することなく投票ファイルを動的に追加または置換することもできます。
この章の内容は次のとおりです。
Oracle Cluster RegistryおよびOracle Local Registryの管理
OCRCONFIG、OCRDUMPおよびOCRCHECKを使用してOCRおよびOracle Local Registry (OLR)を管理します。
OCRには、クラスタ内のすべてのOracleリソースに関する情報が含まれます。
OLRは、クラスタ内の各ノードに配置されている、OCRに類似したレジストリですが、各ノードに固有の情報が含まれます。様々なサービス間の依存性など、Oracle Clusterwareに関する管理性情報が含まれます。Oracle高可用性サービスでこの情報が使用されます。OLRは、クラスタ内の各ノードのローカル記憶域に配置されています。デフォルトの場所は、パスGrid_home/cdatahost_name.olrにあり、Grid_homeはOracle Grid Infrastructureホームで、host_nameはノードのホスト名です。
OCRの管理については、次のトピックで説明しています。
Oracle Automatic Storage ManagementへのOracle Cluster Registryの移行
Oracle ASMディスク・グループに存在するOracle Clusterwareの記憶域では、Oracle Enterprise Managerを使用してデータベースとクラスタウェア記憶域の両方を管理できます。
Oracle Clusterwareの記憶域管理性を向上させるために、OCRは、Oracle Database 12cのOracle ASMを使用するようにデフォルトで構成されます。ただし、以前のバージョンのOracle Clusterwareからアップグレードする場合に、OCRをOracle ASM上に存在するように移行でき、向上されたOracle Clusterwareの記憶域の管理性を利用できます。
注意:
以前のバージョンのOracle Clusterwareを12cにアップグレードしてOracle ASMディスク・グループにOCRを格納する場合は、「ASMの互換性」の互換性属性を11.2.0.2以降に設定する必要があります。
OCRCONFIGを使用してOCRをOracle ASMに移行する方法
次の例は、OCRCONFIGを使用して2つのOCRをOracle ASMに移行する方法を示しています。
# ocrconfig -add +new_disk_group
# ocrconfig -delete /ocrdata/ocr_1
# ocrconfig -delete /ocrdata/ocr_2注意:
-
OCRではディスク・グループの冗長性が継承されます。OCRに高い冗長性が必要な場合は、作成時にディスク・グループを高い冗長性で構成する必要があります。
-
この新規に作成されたOCRの場所にOracle ASMのSPFILEファイルを置くことを、お薦めします。
Oracle Cluster Registryの場所の追加、置換、修復および削除
OCRの場所を管理するには、OCRCONFIGを使用します。
Oracle ClusterwareでのOracleインストール・プロセスでは、OCRを自動的にミラー化するかどうかを選択できます。ミラー化されたOCRは、共有ネットワーク・ファイル・システム(NFS)、またはオラクル社が動作保証している任意のクラスタ・ファイル・システムに手動で配置できます。または、OCRをOracle ASMに配置し、選択する冗長性オプションに応じて、自動的にミラーを作成できるようにすることができます。
また、次のような場合は、OCRを手動でミラー化できます(「Oracle Cluster Registryの場所の追加」を参照)。
-
Oracle Clusterware 12cへのアップグレード時に、OCRをミラー化することを選択しなかった場合
-
Oracle Clusterwareのインストール時に、1つのみのOCRの場所を作成した場合
次のように構成することを薦めします。
-
OCRがミラー化されていない、または冗長化されていない記憶域に構成されている場合は、3つ以上のOCRの場所。基礎となる記憶域がRAIDでない場合は、OCRをミラー化することをお薦めします。ミラー化することで、OCRがシングル・ポイント障害になることを防止できます。
-
OCRがOracle ASMディスク・グループに構成されている場合は、2つ以上のOCRの場所。OCRは2つの独立したディスク・グループに構成する必要があります。通常、これは作業領域およびリカバリ領域です。
-
OCRがミラー化されているハードウェアまたはサード・パーティのミラー化されたボリュームに構成されている場合は、2つ以上のOCRの場所。
注意:
-
元のOCRの場所が存在しない場合は、
ocrconfig -addまたはocrconfig -replaceコマンドを実行する前に、適切な権限で空(0バイト)のOCRの場所を作成する必要があります。 -
OCR構成で指定したOCRデバイスが存在し、これらのOCRデバイスが有効であることを確認します。
-
指定したOracle ASMディスク・グループが存在し、マウントされていることを確認します。
-
新しいOCRファイル、デバイスまたはディスク・グループは、クラスタ内のすべてのアクティブ・ノードからアクセスできる必要があります。
OCRの場所のミラー化に加えて、OCRの場所の管理には次の操作があります。
注意:
この項の操作を実行すると、OCRがクラスタ全体にわたって影響を受け、ocr.locファイル(LinuxおよびUNIXシステムの場合)およびレジストリ・キー(Windowsシステムの場合)のOCR構成情報が変更されます。ただし、ocrconfigコマンドを実行しても、停止しているノードやOracle Clusterwareが実行されていないノードのOCR構成情報は変更されません。
Oracle Cluster Registryの場所の追加
OCRの場所を追加するには、この項の手順を実行します。Oracle Clusterwareでは、最大5つの冗長なOCRの場所を管理できます。
注意:
OCRがクラスタ・ファイル・システムのファイルまたはネットワーク・ファイル・システムに存在している場合は、この項の手順を実行する前に、空(0バイト)のOCRの場所ファイルを作成してください。
Oracle ASMまたは他のストレージ・デバイスのいずれかにOCRの場所を追加するには、rootユーザーとして次のコマンドを実行します。
# ocrconfig -add +asm_disk_group | file_name
注意:
LinuxおよびUNIXシステムの場合、ocrconfigコマンドは、rootで実行する必要があります。Windowsシステムの場合、ユーザーは管理者グループのメンバーである必要があります。
Oracle Cluster Registryの場所の置換
既存のOCRの場所を変更する必要があるか、または障害のあるOCRの場所を正常に機能する場所に変更する必要がある場合は、残りのすべてのOCRファイルの場所がオンライン状態のままであれば、次の手順を使用できます。ocrconfig -replaceコマンドでは、2つ以上のOCRの場所が構成されている必要があります。
Oracle Cluster Registryの場所を変更する方法
次の手順を実行します。
ローカル・ノードのOracle Cluster Registry構成の修復
ノードが停止し、このノードがクラスタの唯一のメンバーであるときにクラスタ構成を変更した場合は、OCRを修復する必要がある場合があります。
OCRの修復は、OCRの場所の追加、削除または置換のいずれかに関連します。たとえば、現行のOracle RACクラスタの一部であるノードのいずれかが停止している場合、停止しているノードでOCR構成を更新し、そのノードが再起動された後に再びクラスタに参加できるようにする必要があります。再起動されたノードでrootとして次のコマンド構文を使用し、destination_fileまたは+ASM_disk_groupのいずれかを使用して、現行のターゲットのOCRの場所を示します。
# ocrconfig -repair -replace current_OCR_location -replacement target_OCR_locationこの操作では、このコマンドを実行したノードのOCRのみが変更されます。たとえば、OCRの場所が/dev/sde1である場合、ノードでコマンド構文ocrconfig -repair -add /dev/sde1を実行すると、そのノードのOCRが修復されます。
注意:
-
Oracleクラスタ・レディ・サービス・デーモンが実行されているノードでは、OCR構成を修復できません。
-
ocrconfig -repairを使用して、停止しているノードのOCRを修復する場合、他のノードのOCRファイル名と同様の(大/小文字が区別される)OCRファイル名を指定する必要があります。 -
ocrconfig -add | -repair | -replaceコマンドを実行する場合は、追加するデバイス、ファイルまたはOracle ASMディスク・グループにアクセスできる必要があります。これはデバイスが存在する必要があることを意味します。空(0バイト)のOCRの場所を作成するか、またはOracle ASMディスク・グループが存在し、マウントされている必要があります。
Oracle Cluster Registryのデータ損失保護メカニズムの無効化
OCRには、不測の上書きによるデータの損失を防止するメカニズムが存在します。ミラー化されたOCRが構成されている場合、Oracle Clusterwareでは、ミラー化されたOCRの場所にアクセスできず、使用可能なOCRの場所に最新の構成が含まれていることが確認できなかった場合、使用可能なOCRの場所に対してそれ以上の変更は行われません。また、この処理により、1つのOCRのみが使用可能なノードでOracle Clusterwareの起動が禁止され、上書きが行われなくなります。このような場合には、Oracle Enterprise ManagerまたはOracle Clusterwareのアラート・ログ・ファイル(あるいはその両方)で、アラート・メッセージが表示されます。ある1つのノードに限って問題が発生している場合は、他のノードでクラスタ・データベースを起動できます。
ただし、環境内のすべてのクラスタ・ノードが起動できず、OCRの修復もすべてのOCRの場所へのアクセスのリストアもできない場合は、この保護メカニズムを無効にできます。次のリストに示した手順により、使用可能なOCRの場所を使用してクラスタを起動できます。ただし、保護メカニズムを無効にすると、以前の正常な状態のときに使用可能でなかったデータは失われる場合があります。
注意:
次の手順を実行してOCRを無効にした場合、現在アクセス可能なOCRに対して最後に正常なOCRの更新が実行された時点から、この上書きを実行するまでの間に行われたOCRへの更新は失われる可能性があります。すなわち、上書きを行うOCRの場所にクラスタ環境に対する構成の最新の更新が含まれていない場合は、ocrconfig -overwriteコマンドを実行すると、データが失われる場合があります。
ノードが起動できず、アラート・ログにCLSD-1009メッセージおよびCLSD-1011メッセージが含まれている場合は、次の手順を実行して、OCRを上書きします。
Oracle Cluster Registryのバックアップ
この項では、OCRの内容をバックアップし、それをリカバリに使用する方法について説明します。第1の方法では自動的に生成されたOCRのコピーを使用し、第2の方法では手動でバックアップ・コマンドを発行できます。
-
自動バックアップ: OCRのバックアップは、Oracle Clusterwareによって、4時間ごとに自動的に作成されます。バックアップが作成されるごとに、OCRの最後の3つのバックアップのコピーが常に保存されます。また、バックアップを作成するCRSDプロセスによって、毎日および各週の終わりにもOCRのバックアップが作成され、保存されます。バックアップの頻度またはOracle Databaseで保存されるファイルの数はカスタマイズできません。
-
手動バックアップ: Oracle Clusterwareスタックが稼働しているノードで
ocrconfig -manualbackupコマンドを実行して、自動バックアップを待たずに、Oracle Clusterwareによって任意の時刻にOCRのバックアップが実行されるようにします。このコマンドは、管理権限を持つユーザーとして実行する必要があります。-manualbackupオプションは、OCRを変更する前など、必要に応じてバイナリ・バックアップを取得する場合に、特に役立ちます。OLRでは手動バックアップのみがサポートされています。
クラスタウェア・スタックがクラスタ内のすべてのノードで停止している場合、ocrconfig -showbackupコマンドによって示されるバックアップは、ノードごとに異なる場合があります。
注意:
ノードでOracle Clusterwareをインストールまたはアップグレードした後、または、クラスタにノードを追加した後、root.shスクリプトが終了すると、OLRがバックアップされます。
この項には次のトピックが含まれます:
バックアップ・ファイルのリスト
次のコマンドを実行し、バックアップ・ファイルをリストします。
ocrconfig -showbackup
ocrconfig -showbackupコマンドにより、バックアップ場所、タイムスタンプおよびOracle Clusterwareで作成されたバックアップ・ファイルの元のノード名が表示されます。デフォルトでは、-showbackupオプションによって、自動および手動の両方のバックアップに関する情報が表示されますが、autoフラグまたはmanualフラグを含めると、自動バックアップまたは手動バックアップのいずれかの情報のみを表示することができます。
次のコマンドを実行し、内容を検査してバックアップ・ファイルの整合性を検証します。
ocrdump -backupfile backup_file_name
1日に1つ以上のバックアップ・ファイルが自動的に生成されますが、これらのファイルは、任意のバックアップ・ソフトウェアを使用して、プライマリOCRが存在するデバイスとは別のデバイスにコピーすることもできます。
Oracle Clusterware 12c リリース2 (12.2)では、バックアップを生成するためのデフォルトの場所がOracle ASMディスク・グループになります。これを別のOracle ASMディスク・グループに変更することはできますが、ローカル・ファイル・システムに変更することはできません。OCRCONFIGユーティリティで作成したバックアップ・ファイルを、標準的なオペレーティング・システムまたはサード・パーティのツールを使用してオペレーティング・システム・バックアップの一部として含めることをお薦めします。
バックアップ場所の変更
次のコマンドを実行して、OCRがバックアップを作成する場所を変更します。
# ocrconfig -backuploc file_name前述のコマンドのfile_name変数には、すべてのノードからアクセス可能なディレクトリのフル・パス名またはすべてのノードにマウントされるOracle ASMディスク・グループを指定できます。OCRバックアップの場所をOracle ASMディスク・グループに変更する前に、OCRをOracle ASMに移行する必要があります。別個のディスク・グループに1つ以上のOracle ASM OCRの場所がある場合のみ、OCRバックアップの場所をOracle ASMディスク・グループに変更できます。
たとえば、ディレクトリ内のOCRのバックアップ場所を指定するには、次のコマンドを実行します。
# ocrconfig -backuploc Grid_home/cdata/cluster3OCRバックアップの場所をOracle ASMディスク・グループに指定するには、次のようにします。
# ocrconfig –backuploc +bkupdg注意:
LinuxおよびUNIXシステムでは、ocrconfigコマンド・オプションのほとんど(すべてではない)を実行するためにrootユーザーである必要があります。Windowsシステムの場合、ユーザーは管理者グループのメンバーである必要があります。
Oracle Cluster Registryのリストア
お使いのプラットフォームのOCRリストアの手順です。
リソースで問題が発生した場合、OCRのリストアを実行する前にリソースを再起動します。OCRでの障害の発生を確認するには、ocrcheckを実行し、このコマンドによって障害メッセージが戻された場合は、プライマリOCRとOCRミラーの両方で障害が発生しています。
注意:
-
-importオプションを使用してOCRバックアップ・ファイルから構成をリストアすることはできません(「エクスポート・コマンドおよびインポート・コマンドを使用したOracle Cluster Registryの管理」を参照)。かわりに、次の項で説明するとおり、-restoreオプションを使用する必要があります。 -
OCRをOracle ASMディスク・グループに格納していて、ディスク・グループが使用できない場合は、Oracle ASMディスク・グループをリカバリし、マウントする必要があります。
LinuxまたはUNIXシステムでのOracle Cluster Registryのリストア
LinuxまたはUNIXシステムでOCRをリストアするには、この手順を使用します。
OCRをOracle ASMディスク・グループに格納していて、そのディスク・グループが破損している場合は、Oracle ASMユーティリティを使用してOracle ASMディスク・グループをリストアし、OCRをリカバリする前にこのディスク・グループを再びマウントする必要があります。次の手順の指示に従って、ocrconfig -restoreコマンドを実行し、OCRをリカバリします。
注意:
元のOCRの場所が存在しない場合は、ocrconfig -restoreコマンドを実行する前に、元のOCRの場所と同じ名前の空(0バイト)のOCRの場所を作成する必要があります。
LinuxまたはUNIXシステムでOCRをリストアするには、次の手順を実行します。
WindowsシステムでのOracle Cluster Registryのリストア
WindowsシステムでOCRをリストアするには、この手順を使用します。
OCRをOracle ASMディスク・グループに格納していて、そのディスク・グループが破損している場合は、Oracle ASMユーティリティを使用してOracle ASMディスク・グループをリストアし、OCRをリカバリする前にこのディスク・グループを再びマウントする必要があります。ocrconfig -restoreコマンドを実行して、OCRをリカバリします。
注意:
元のOCRの場所が存在しない場合は、ocrconfig -restoreコマンドを実行する前に、元のOCRの場所と同じ名前の空(0バイト)のOCRの場所を作成する必要があります。
WindowsシステムでOCRをリストアするには、次の手順を実行します。
エクスポート・コマンドおよびインポート・コマンドを使用したOracle Cluster Registryの管理
自動的に作成されたOCRバックアップ・ファイルを使用するのみでなく、環境のノードの追加や削除、Oracle Clusterwareリソースの変更、データベースのアップグレード、ダウングレードまたは作成などの重要な構成変更を行う前と後には、OCRの内容をエクスポートする必要もあります。これは、OCRの内容をファイル形式でエクスポートするocrconfig -exportコマンドを使用して実行します。
注意:
OCRのリストアでは次の制限事項に注意してください。
-
ocrconfig -restoreで生成されるファイル形式は、ocrconfig -exportで生成されるファイル形式と互換性がありません。ocrconfig -exportコマンドとocrconfig -importコマンドには互換性があります。ocrconfig -manualbackupコマンドとocrconfig -restoreコマンドには互換性があります。2つのファイル形式には互換性がないため、交換して使用しないでください。 -
OCRをエクスポートする場合は、名前の文字列に
ocr、クラスタ名およびタイムスタンプを含めることをお薦めします。次に例を示します。ocr_mycluster1_20090521_2130_export
また、ocrconfig -exportコマンドを使用すると、構成の変更によってエラーが発生した場合に、-importオプションを使用してOCRをリストアできるようになります。たとえば、構成に解決できない問題がある場合や、構成の変更後にOracle Clusterwareを再起動できない場合は、プラットフォームに応じた手順を使用して、構成をリストアします。
OCRをリストアするには、次の理由から、自動バックアップまたは手動バックアップのいずれかとocrconfig -restoreコマンドを使用し、ocrconfig -exportコマンドおよびocrconfig -importコマンドは使用しないことをお薦めします。
-
バックアップはOCRの一貫したスナップショットですが、エクスポートは、そうではありません。
-
バックアップはシステムがオンライン状態の場合に作成されます。
ocrconfig -exportコマンドを使用して一貫したスナップショットを取得するには、クラスタ内のすべてのノードでOracle Clusterwareを停止する必要があります。 -
OCRDUMPユーティリティを使用して、バックアップを検査できます。エクスポートの内容は検査できません。
-
ocrconfig -showbackupコマンドを使用してバックアップをリストできますが、生成されたすべてのエクスポートはユーザーが追跡する必要があります。
この項には次のトピックが含まれます:
注意:
構成を変更すると、ほとんどの場合は、OCRの内容が変更されるのみでなく、ファイルおよびデータベース・オブジェクトが作成されます。OCRをリストアしても、このような変更はリストアされない場合があります。これらの構成の変更のリストアが一部でも失敗した場合は、以前の正しい構成に戻すためにOCRをリストアしないでください。実行した場合、OCRの場所の内容がシステムの他の部分の状態と一致しなくなる可能性があります。
LinuxまたはUNIXシステムでのOracle Cluster Registryの内容のインポート
LinuxまたはUNIXシステムでOCRをインポートするには、この手順を使用します。
注意:
この手順では、クラスタ内のすべてのノードでのOracle Clusterwareのデフォルトのインストールを前提としています。この場合、Oracle Clusterwareの自動起動は有効になります。
注意:
インポートできるのは、エクスポートしたOCRのみです。バックアップからOCRをリストアするには、「Oracle Cluster Registryのバックアップ」で説明するとおり、かわりに-restoreオプションを使用する必要があります。
Oracle Local Registry
Oracle Clusterware 12cでは、クラスタ内の各ノードに、Oracle ClusterwareによるOCRのインストール時にインストールおよび構成される、Oracle Local Registry (OLR)というノード固有のリソースのローカル・レジストリがあります。Oracle Clusterwareが実行されているかどうか、または完全に機能しているかどうかに関係なく、各ノードの複数のプロセスには、それらのプロセスが存在するノードに固有のOLRに対する同時読取りおよび書込みアクセス権があります。
デフォルトでは、OLRは各ノードのGrid_home/cdata/host_name.olrに格納されています。
OLRは、-localオプションを指定したOCRCHECK、OCRDUMPおよびOCRCONFIGユーティリティをrootとして使用して管理します。
-
OCRCHECKユーティリティを次のように使用すると、ローカル・ノードのOLRのステータスをチェックできます。
# ocrcheck -local Status of Oracle Cluster Registry is as follows : Version : 3 Total space (kbytes) : 262132 Used space (kbytes) : 9200 Available space (kbytes) : 252932 ID : 604793089 Device/File Name : /private2/crs/cdata/localhost/dglnx6.olr Device/File integrity check succeeded Local OCR integrity check succeeded -
OCRDUMPユーティリティを次のように使用すると、プログラムを起動したテキスト端末にローカル・ノードのOLRの内容を表示できます。
# ocrdump -local -stdout
-
OCRCONFIGユーティリティを使用すると、ローカル・ノードのOLRで管理タスクを実行できます。
-
OLRをファイルにエクスポートするには、次のようにユーティリティを使用します。
# ocrconfig –local –export file_name注意:
-
-manualbackupコマンドおよび-restoreコマンドを使用し、-importコマンドおよび-exportコマンドは使用しないことをお薦めします。 -
OLRをエクスポートする場合は、名前の文字列に
olr、ホスト名およびタイムスタンプを含めることをお薦めします。次に例を示します。olr_myhost1_20090603_0130_export
-
-
指定したファイルをOLRにインポートするには、次のようにユーティリティを使用します。
# ocrconfig –local –import file_name -
OLRを手動でバックアップするには、次のようにユーティリティを使用します。
# ocrconfig –local –manualbackup
注意:
Oracle Clusterwareは、デフォルトでは、インストールまたはアップグレード後にOLRをバックアップし、その後も定期的にOLRをバックアップします。初期バックアップの後はいつでも、OLRを手動でバックアップできます。
OCRをOracle ASMから他の記憶域に移行する場合、またはOCRを他の記憶域からOracle ASMに移行する場合は、新しいバックアップを作成することをお薦めします。
OLRのデフォルトのバックアップ場所は、パス
Grid_home/cdata/host_nameにあります。 -
OLRバックアップ・ファイルの内容を表示するには、次のようにユーティリティを使用します。
ocrdump -local -backupfile olr_backup_file_name -
OLRのバックアップの場所を変更するには、次のようにユーティリティを使用します。
ocrconfig -local -backuploc new_olr_backup_path -
# crsctl stop crs # ocrconfig -local -restore file_name # ocrcheck -local # crsctl start crs $ cluvfy comp olr
-
投票ファイルの管理
この項では、クラスタ内の投票ファイルの管理について、次のトピックで説明します。
注意:
以前のバージョンのOracle Clusterwareで投票ファイルのバックアップおよびリカバリに使用されたddコマンドは、Oracle Clusterware 12cではサポートされていません。ddコマンドまたはcpコマンドを使用してコピーされた投票ファイルをリストアすると、Oracle Clusterware 12cスタックが起動されない場合があります。この章で説明されているバックアップおよびリストア手順を使用して、適切な投票ファイルの機能を確保します。
注意:
-
投票ファイルの管理には有効かつ動作中のOCRが必要です。投票ファイルを追加、削除、置換またはリストアする前に、
ocrcheckコマンドをrootとして実行します。OCRが使用できない場合、または破損している場合は、「Oracle Cluster Registryのリストア」で説明するとおり、OCRをリストアする必要があります。 -
以前のバージョンのOracle ClusterwareをOracle Clusterware 12cにアップグレードしてOracle ASMディスク・グループに投票ファイルを格納する場合は、「ASMの互換性」(
COMPATIBLE.ASM)の互換性属性を12.1.0.0に設定する必要があります。
Oracle ASMでの投票ファイルの格納
投票ファイルをOracle ASMに格納するようにすると、Oracle ASMは、選択したディスク・グループにクラスタのすべての投票ファイルを格納します。
Oracle ASMでは、投票ファイルは、格納されている他のファイルとは異なる方法で管理されます。Oracle ASMに格納される投票ファイルとOracle ASMに格納されない投票ファイルは、同じクラスタ内で使用できません。
Oracle ASMで投票ファイルを構成した後、投票ファイルの構成に変更を加えることができるのは、crsctl replace votediskコマンドを使用する場合のみです。これは、作業投票ファイルがない場合にもあてはまります。crsctl query css votediskによって使用中の投票ディスクがないと報告されても、Oracle ClusterwareはOracle ASMが使用中だったことを記憶しているため、replaceが必要になります。replaceを使用して、Oracle ASM以外の記憶域に投票ファイルを移動した後でのみ、add css votediskおよびdelete css votediskが再び使用可能になります。
特定のOracle ASMディスク・グループに格納できる投票ファイルの数は、ディスク・グループの冗長性に依存します。
デフォルトでは、Oracle ASMが、ディスク・グループ内のそれ自体の障害グループに各投票ファイルを配置します。障害グループは、ディスク・グループ内のディスクのサブセットです。障害グループは、あるディスクに障害が発生し、コンポーネントを共有する他のディスクにも障害が発生した場合などに、コンポーネントを共有するディスクを定義します。障害グループとして定義する可能性のある対象の例として、同じSCSIコントローラを共有しているSCSIディスク・セットがあります。障害グループは、冗長データの格納に使用するOracle ASMディスクを決定するために使用されます。たとえば、ファイルに2方向のミラー化が指定されている場合、ファイル・エクステントの冗長コピーは別の障害グループに格納される必要があります。
Oracle ASMディスク・グループに選択した冗長レベルによって、Oracle ASMがディスク・グループ内のファイルをミラー化する方法および必要となるディスク数とディスク領域が決まります。投票ファイルがディスク・グループにある場合、Oracle Clusterwareファイル(OCRおよび投票ファイル)があるディスク・グループの障害グループの最小数は、投票ファイルが定数障害グループに格納されているため、他のディスク・グループよりも多くなります。
定数障害グループは、Oracle Clusterware投票ファイルを格納する特殊なタイプの障害グループです。定数障害グループは、指定した障害グループの定数が使用可能であることを確認するために使用されます。Oracle ASMでOracle Clusterwareファイルが含まれるディスク・グループがマウントされるときに、1つ以上の障害グループが失われた場合にこのディスク・グループをマウントできるかどうかを判別するために、クォーラム障害グループが使用されます。定数障害グループ内のディスクにはユーザー・データが含まれないため、ユーザー・データを格納するための冗長性要件を決定するときには、このグループは考慮されません。
Oracle ASMフレックス・ディスク・グループは、Oracle ASMファイル・グループおよび割当て制限グループをサポートするディスク・グループ・タイプです。通常、フレックス・ディスク・グループを使用すると、ユーザーはディスク・グループ・レベルだけでなくデータベースの粒度でもストレージを管理できます。
冗長性レベルには次のものがあります。
-
外部冗長: 外部冗長ディスク・グループでは、最小で1台のディスク・デバイスが必要です。外部冗長のディスク・グループで有効なディスク領域は、全デバイスのディスク領域の合計です。
Oracle ASMは外部冗長ディスク・グループ内のデータをミラー化しないため、RAIDなどのストレージ・デバイスによる外部冗長を使用するか、または独自のデータ保護メカニズムを持つ類似デバイスを使用することをお薦めします。
-
標準冗長: 標準冗長ディスク・グループでは、最小で2台のディスク・デバイス(または2つの障害グループ)が必要です。標準冗長のディスク・グループで有効なディスク領域は、すべてのデバイスのディスク領域の合計の半分です。
Oracle Clusterwareファイルの場合、標準冗長のディスク・グループは最小で3台のディスク・デバイス(3台のうち2台は障害グループにより使用され、3台すべてがクォーラム障害グループにより使用されます)を必要とし、3つの投票ファイル、1つのOCRおよびOCRのミラーを提供します。標準冗長のディスク・グループを使用すると、クラスタは障害グループを1つ失っても存続できます。
-
高冗長: 高冗長ディスク・グループでは、Oracle ASMはデフォルトで3方向のミラー化を使用してパフォーマンスを向上させ、最高レベルの信頼性を提供します。高冗長ディスク・グループでは、最小で3台のディスク・デバイス(または3つの障害グループ)が必要です。高冗長のディスク・グループで有効なディスク領域は、全デバイスのディスク領域の合計の3分の1です。
Oracle Clusterwareファイルの場合、高冗長ディスク・グループは最小で5台のディスク・デバイス(5台のうち3台は障害グループにより使用され、5台すべてがクォーラム障害グループにより使用されます)を必要とし、5つの投票ファイル、1つのOCRおよび2つのOCRミラーを提供します。高冗長のクラスタは、障害グループを2つ失っても存続できます。
crsctl replace votediskコマンドを使用すると、特定の投票ファイル・セットを、あるOracle ASMディスク・グループから別のOracle ASMディスク・グループに、または動作保証されているファイル・システムに移動できます。あるOracle ASMディスク・グループから別のOracle ASMディスク・グループに投票ファイルを移動する場合は、以前のディスク・グループとは異なる冗長レベルのディスク・グループに投票ファイルを配置することで、投票ファイルの数を変更できます。
注意:
-
1つのディスク・グループで、投票ファイルの数を直接変更することはできません。
-
Oracle ASMではディスク・グループの冗長性レベルに従って投票ファイルの数が管理されるため、 Oracle ASMディスク・グループに格納されている投票ファイルに対して
crsctl add | delete votediskコマンドを使用することはできません。 -
投票ファイルがOracle ASMディスク・グループに格納されている場合は、クラスタ・ファイル・システムに投票ファイルを追加できません。Oracle ASM、および同じクラスタのクラスタ・ファイル・システム上に直接、投票ファイルを同時に格納することはサポートされていません。
投票ファイルのバックアップ
Oracle Clusterwareは、構成変更の一部として投票ファイルのデータを自動的にOCRにバックアップし、ユーザーが追加した任意の投票ファイルにデータを自動的にリストアします。
ただし、すべての投票ファイルが破損した場合は、「投票ファイルのリストア」で説明するとおり、それをリストアできます。
関連トピック
投票ファイルの追加、削除または移行
Oracle Clusterwareのインストール後に、投票ファイルを追加、削除および移行できます。これを行うために使用するコマンドは、投票ファイルがOracle ASMに存在するか、別の記憶域オプションに存在するかによって異なります。
Oracle ASMに格納されている投票ファイルの変更
-
投票ファイルのFUIDと現在の各投票ファイルのファイル・パスを表示するには、
crsctl query css votediskコマンドを実行して、次のような出力を表示します。$ crsctl query css votedisk -- ----- ----------------- --------- --------- ## STATE File Universal Id File Name Disk group 1. ONLINE 6f57843d89464c46ea747362e8a3fa43 (/dev/sdb1) [DATA] 2. ONLINE 7c54856e98474f61bf349401e7c9fb95 (/dev/sdc1) [DATA] 3. ONLINE 9c46232b76234f61fc934673d5c8ec59 (/dev/sdd1) [DATA]
このコマンドでは、ディスク順序番号、ディスクのステータス、FUID、ディスクのパス、およびディスクが格納されているOracle ASMディスク・グループの名前が戻されます。
-
Oracle ASMから代替ストレージ・デバイスに投票ファイルを移行するには、次のコマンドを使用して、Oracle ASMディスク・グループと置き換えるOracle ASM以外のストレージ・デバイスまでのパスを指定します。
$ crsctl replace votedisk path_to_voting_diskクラスタ内の任意のノードでこのコマンドを実行できます。
-
Oracle ASMに格納されていないすべての投票ファイルを、Oracle ASMディスク・グループでOracle ASMにより管理される投票ファイルに置き換えるには、次のコマンドを実行します。
$ crsctl replace votedisk +asm_disk_group
Oracle ASMに格納されていない投票ファイルの変更
-
投票ファイルFUIDおよび現行の各投票ファイルのファイル・パスを表示するには、次のコマンドを実行します。
$ crsctl query css votedisk ## STATE File Universal Id File Name Disk group -- ----- ----------------- --------- --------- 1. ONLINE 7c54856e98474f61bf349401e7c9fb95 (/cfs/host09_vd3) []
このコマンドでは、ディスク順序番号、ディスクのステータス、FUID、およびディスクのパスが戻され、Oracle ASMディスク・グループの名前は戻されません。
-
1つ以上の投票ファイルを追加するには、次のコマンドを実行します。
path_to_voting_disk変数は、追加する投票ファイルの1つ以上の空白区切りの完全パスで置き換えます。$ crsctl add css votedisk path_to_voting_disk [...] -
投票ファイルAを投票ファイルBと置き換えるには、投票ファイルBを追加してから投票ファイルAを削除する必要があります。新しいディスクを追加して既存のディスクを削除するには、次のコマンドを実行します(
path_to_voting_diskB変数は投票ファイルBの完全修飾パス名に置き換えます)。$ crsctl add css votedisk path_to_voting_diskB -purge-purgeオプションを使用すると、既存の投票ファイルが削除されます。 -
投票ファイルを削除するには、次のコマンドを実行します。1つ以上の空白区切りの投票ファイルFUIDまたは削除する投票ファイルのカンマ区切りのディレクトリ・パスを指定します。
$ crsctl delete css votedisk {FUID | path_to_voting_disk[...]}
注意:
クラスタが停止し、失われた投票ファイルのために再起動できない場合は、rootとして次のコマンドを実行してCSSを排他モードで起動する必要があります。
# crsctl start crs -excl
CSSを排他モードで起動したら、次のコマンドを使用して投票ファイルを置換できます。
# crsctl replace votedisk path_to_voting_disk