7 Oracle Clusterwareのクローニング
この章では、Oracle Grid Infrastructureホームをクローニングする方法およびクローニングされたホームを使用してクラスタを作成する方法について説明します。この章のクローニング手順を実行するには、サイレント・モードでスクリプトを使用します。クローニング手順は、LinuxおよびUNIXシステムに適用できます。この章の例ではLinuxおよびUNIXのコマンドを使用しますが、通常、クローニングの概念および手順はすべてのプラットフォームに適用されます。
ノート:
この章は、次のように構成されたOracle Clusterware 19cインストールをクローニングすることを前提としています。
-
グリッド・ネーミング・サービス(GNS)なし
-
Intelligent Platform Management Interface仕様(IPMI)なし
-
投票ファイルおよびOracle Cluster Registry(OCR)がOracle Automatic Storage Management(Oracle ASM)に格納されている
-
単一クライアント・アクセス名(SCAN)はDNSで解決される
この章のトピックは、次のとおりです:
Oracle Clusterwareのクローニングの概要
クローニングとは、既存のOracle Clusterwareインストールを別の場所にコピーし、その後、コピーしたインストールを新しい環境で動作するよう更新するプロセスです。クローニング元のOracle Grid Infrastructureホームに適用済の個別パッチによる変更は、クローニング後も継承されます。クローニング中には、Oracle Grid Infrastructureホームのインストールで実行された操作を再実行するスクリプトを実行します。
クローニングには、正常にインストールされたOracle Grid Infrastructureホームを使用することが必要です。このホームを、Oracle Grid Infrastructureホームを拡張するスクリプト実装のベースにして、元のGridホームに基づくクラスタを作成します。
手動でのクローニング・スクリプトの作成では、入力を検証する対話形式のチェックを使用せずにスクリプトを準備するため、エラーが発生しやすくなる場合があります。ただし、数十または数百のクラスタに対して単一スクリプトを実行するような場合には、この最初の作業は意味があります。インストールするクラスタが1つのみの場合は、Oracle Universal Installer(OUI)またはOracle Enterprise ManagerのProvisioning Pack機能など、従来の自動化された対話形式のインストール方法を使用してください。
ノート:
クローニングは、Provisioning Packに含まれるOracle Enterprise Managerクローニングにかわるものではありません。Oracle Enterprise Managerによるクローニングでは、プロビジョニング・プロセスによってOracleホームの詳細が対話形式で確認されることで、クローニングが単純化されています。対話時の質問では、クローニングされた環境のデプロイ先、Oracle Databaseホームの名前、クラスタ内のノードのリストなどが確認されます。
Oracle Enterprise Manager Grid ControlのProvisioning Pack機能では、ノードおよびクラスタのプロビジョニングを自動化するフレームワークが提供されています。多数のクラスタを持つデータ・センターの場合、既存のクラスタに新規クラスタおよび新規ノードをプロビジョニングするためのクローニング手順を作成する作業は、その労力に見合った価値があります。
次のリストに、クローニングが有効ないくつかの状況を示します。
-
クローニングにより、Oracle Grid Infrastructureホームを1回準備するだけで、多数のホストに同時にデプロイされます。非対話形式のプロセスとして、サイレント・モードでインストールを完了できます。グラフィカル・ユーザー・インタフェース(GUI)のコンソールを使用する必要がなく、必要に応じて、セキュア・シェル(SSH)・ターミナル・セッションからクローニングを実行できます。
-
クローニングにより、すべてのパッチが適用されたインストール(本番、テスト、または開発用インストールのコピー)を1回のステップで作成できます。ベース・インストールを実行してソース・システムにすべてのパッチ・セットとパッチを適用した後は、クローニングにより、それらの個別のステップはすべて単一の手順で実行されます。これにより、クラスタの各ノードですべてのインストール・プロセスを通して行い、インストール、構成およびパッチ適用を個別のステップで実行するのとは、対照的な効果が得られます。
-
クローニングによるOracle Clusterwareのインストールでは、非常に短時間で処理を完了できます。たとえば、3つ以上のノードを持つクラスタにOracle Grid Infrastructureホームをクローニングする場合、必要な時間は、Oracleソフトウェアのインストールにかかる数分間と各ノードにかかる数分間を合わせた時間(合計時間は
root.sh
スクリプトの実行にかかる時間とほぼ等しい)となります。 -
クローニングでは、複数のクラスタで同一のOracle Clusterwareインストールを正確に繰り返すための確実な方法が提供されます。
クローニングされたインストールは、クローニング元のインストールと同じ動作をします。たとえば、クローニングされたOracle Grid Infrastructureホームは、OUIを使用して削除したり、OPatchを使用してパッチを適用することができます。また、クローニングされたOracle Grid Infrastructureホームを、別のクローニング操作のソースとして使用できます。コマンドラインのクローニング・スクリプトを使用して、テスト用、開発用または本番用のインストールをクローニングしたコピーを作成できます。
多くの場合、デフォルトのクローニング手順で十分です。ただし、カスタム・ポート割当ての指定、またはカスタム設定の保持など、クローニングのいくつかの側面をカスタマイズすることもできます。
たとえば、リスナーのカスタム・ポートを、次のように指定できます。
$ export ORACLE_HOME=/u01/app/12.1.0/grid $ $ORACLE_HOME/bin/srvctl modify listener -endpoints tcp:12345
クローニング・プロセスでは、クローニング元のOracle Grid Infrastructureホームからクローニング先のOracle Grid Infrastructureホームにすべてのファイルをコピーします。Oracle Grid Infrastructureホームは、ローカル(非共有)ホームまたは共有ホームのどちらの場合でもクローニングできます。したがって、ソース・インスタンスで使用されているファイルの中で、クローニング元のOracle Grid Infrastructureホームのディレクトリ構造の外部に置かれているものがある場合、それはクローニング先にコピーされません。
ソースおよび宛先のバイナリ・ファイルのサイズは異なる場合がありますが、これはクローニング操作の一部としてこれらのファイルが再リンクされており、これら2つの位置のオペレーティング・システムのパッチ・レベルが異なっていることがあるためです。また、いくつかのファイルがソースからコピーされることによって、特にインスタンス化されたファイルはクローン操作の一部としてバックアップされるため、クローン・ホームのファイルの数が増える場合があります。
Oracle Grid Infrastructureホームをクローニングするための準備
クローニング元のOracle Grid Infrastructureホームでクローニングを準備するには、インストール済のOracle Grid Infrastructureホームのコピーを作成し、別のノードでクローニング手順を実行する際に使用します。次の段階ごとの手順に従って、Oracle Grid Infrastructureホームのコピーを準備します。
ステップ1: Oracle Clusterwareのインストール
『Oracle Grid Infrastructureインストレーションおよびアップグレード・ガイド』の詳細指示に従って、ソース・ノードで、次のステップを実行します。
ステップ2: 実行中のソフトウェアの停止
クローニング元のOracle Grid Infrastructureホームをコピーする前に、ノードで実行されているサービス、データベース、リスナー、アプリケーション、Oracle ClusterwareおよびOracle ASMインスタンスをすべて停止します。サーバー制御(SRVCTL)ユーティリティを使用してデータベースを停止してから、Oracle Clusterware制御(CRSCTL)ユーティリティを使用して残りのコンポーネントを停止することをお薦めします。
ステップ3: Oracle Grid Infrastructureホームのコピーの作成
インストールしたOracle Grid Infrastructureホームを作業ホームとして保持するために、クローニング元のOracle Grid Infrastructureホームの全体コピーを作成します。
ヒント:
コピーの作成時には、ファイル名にリリース番号を含めることをお薦めします。
次のいずれかの方法を使用して、Oracle Grid Infrastructureホームの圧縮コピーを作成できます。
方法1が、Oracle Grid Infrastructureホームのゴールド・イメージを作成するためのお薦めの方法です。
Oracle Grid Infrastructureホームのコピーを手動で作成するには方法2aまたは2bを使用できます(Grid_home
はすべてのファイルを含む元のノードの元のOracle Grid Infrastructureホームであり、copy_path
は不要なファイルが削除されるコピーされたOracle Grid Infrastructureホームへのディレクトリ・パスです)。
Oracle Clusterwareのクローニングによるクラスタの作成
この項では、正常にインストールされたOracle Clusterware環境をクローニングし、それをクローニング先のクラスタ上のノードにコピーすることにより、クラスタを作成する方法を説明します。この項の手順では、Linux、UNIXおよびWindowsシステムでクローニングを使用する方法について説明します。クローニングでクラスタを正常に作成した後、OCRおよび投票ファイルは2つのクラスタ間で共有されません。
たとえば、クローニングを使用して、正常にインストールされたOracle Clusterware環境を複製し、クラスタを作成することができます。図7-1では、クローニング手順の結果を示しており、ノード1上のOracle Grid Infrastructureホームはクラスタ2上のノード2およびノード3にクローニングされ、クラスタ2が新規の2ノード・クラスタとなっています。
クローニングでクラスタを作成するステップは次のとおりです。
ステップ1: 新規クラスタ・ノードの準備
Oracle Clusterwareをクローニングする前に、インストール前のステップを完了する必要があります。
各宛先ノードで、次のインストール前のステップを実行します。
-
カーネル・パラメータの指定
-
Oracle Clusterwareデバイス用のブロック・デバイスの構成
-
ブロック・デバイスの権限が正しく設定されていることの確認
-
/etc/hosts
ファイル内のすべての名前に対する短い非ドメイン修飾の名前の使用 -
ping
コマンドによる、インターコネクト・インタフェースが到達可能かどうかのテスト -
ping
コマンドによる、クローニング・プロセスの開始時に仮想IP (VIP)アドレスがアクティブでないことの検証(VIPアドレスのping
コマンドは失敗する必要があります) -
(ベンダーのクラスタウェアを実行しているIBM AIXシステムおよびOracle Solaris x86-64-bitシステムのみ)クラスタにノードを追加する場合は、クラスタにノードを追加する前に、ノードで
rootpre.sh
スクリプト(DVDからOracle Clusterwareをインストールした場合はマウント・ポイント、ソフトウェアをダウンロードした場合はtarファイルを解凍したディレクトリにあります)を実行する必要がありますノート:
Oracle Database 19c以降では、Oracle Clusterwareとベンダー・クラスタウェアの統合は非推奨であり、将来のリリースでサポートされなくなる可能性があります。このため、次回のソフトウェアまたはハードウェアのアップグレードでは、ベンダー・クラスタ・ソリューションを使用しないように移行することをお薦めします。 -
ハードウェアおよびオペレーティング・システム環境が正しく構成されていることを確認するには、クラスタ検証ユーティリティ(CVU)を実行します
ノート:
続行する前に、CVUを使用してクラスタをチェックしてください。従来のインストール方法とは異なり、クローニング・プロセスでは、準備フェーズ中に入力が検証されません。これと比較して、Oracle Universal Installer (OUI)を使用した従来のインストール方法では、インタビュー・フェーズ中に様々なチェックが実行されます。したがって、ハードウェア設定または準備フェーズ中にミスをすると、クローニング・インストールは失敗します。
インストール前の全チェックリストは、ご使用のプラットフォーム固有のOracle Clusterwareインストレーション・ガイドを参照してください。
ステップ2: Oracle Grid Infrastructureホームのデプロイ
この項で説明しているクローニング手順を開始する前に、Oracle Grid Infrastructureホームのコピーを作成するための必須タスクを完了していることを確認してください(「Oracle Grid Infrastructureホームをクローニングするための準備」を参照)。
クローニングを使用したクラスタへのノードの追加
また、クローニングを使用してクラスタにノードを追加することもできます。
図7-2では、クローニング手順の結果を示しており、ノード1上のOracle Grid Infrastructureホームは同じクラスタ上のノード2にクローニングされ、クラスタ2が2ノード・クラスタとなっています。クラスタへ新しく追加されたノードは、同じOCRおよび投票ファイルを共有します。
図7-2を例とし、次の手順では、クローニングを使用してクラスタへノードを追加する方法を説明します。この手順では、最初にノード1を作成するために使用したイメージ(クローン)をノード2にコピーします。
「ステップ1: 新規クラスタ・ノードの準備」で説明されているように、ノード2を準備します。
関連トピック
クローニング時に生成されたログ・ファイルの配置と表示
クローニング・スクリプトは、それぞれがログ・ファイルを生成できる複数のツールを実行します。gridSetup.sh
ユーティリティの実行が終了した後、これらのログ・ファイルを参照して、クローニング手順のステータスに関する詳細情報を入手することができます。表7-1では、クローニング時に生成される、診断に重要なログ・ファイルを示します。
ノート:
表7-1のCentral_inventory
は、Oracle Inventoryディレクトリを表します。
表7-1 クローニングのログ・ファイルおよび説明
ログ・ファイルの名前および場所 | 説明 |
---|---|
Central_inventory/logs/cloneActionstimestamp.log |
クローニングのOUI部分で行われたアクションの詳細ログが含まれます。 |
Central_inventory/logs/oraInstalltimestamp.err |
OUIの実行中に発生したエラーに関する情報が含まれます。 |
Central_inventory/logs/oraInstalltimestamp.out |
その他の情報が含まれます。 |
表7-2は、様々なプラットフォーム用のOracle Inventoryディレクトリの場所を示しています。
表7-2 Oracleインベントリ・ディレクトリの位置の確認
システムのタイプ | Oracleインベントリ・ディレクトリの位置 |
---|---|
LinuxおよびIBM AIXを除くすべてのUNIXコンピュータ |
|
IBM AIXおよびLinux |
|
Windows |
|