プライマリ・コンテンツに移動
Oracle® Clusterware管理およびデプロイメント・ガイド
12c リリース1 (12.1)
B71322-07
目次へ移動
目次
索引へ移動
索引

前
次

クローニングを使用したクラスタへのノードの追加

また、クローニングを使用してクラスタにノードを追加することもできます。図8-2では、クローニング手順の最終結果を示しており、ここでは、ノード1上のOracle Grid Infrastructureホームが同じクラスタ上のノード2にクローニングされ、クラスタ2が2ノード・クラスタとして作成されています。クラスタへ新しく追加されたノードは、同じOCRおよび投票ファイルを共有します。

図8-2 クラスタにノードを追加するためのクローニング

図8-2の説明が続きます
「図8-2 クラスタにノードを追加するためのクローニング」の説明

図8-2を例とし、次の手順では、クローニングを使用してクラスタへノードを追加する方法を説明します。この手順では、最初にノード1を作成するために使用したイメージ(クローン)をノード2にコピーします。

  1. 手順1: 新規クラスタ・ノードの準備で説明されているように、ノード2を準備します。
  2. 手順2: 宛先ノードでのOracle Grid Infrastructureホームのデプロイで説明されているように、ノード2でOracle Grid Infrastructureホームをデプロイします。

    tarユーティリティを使用してノード1でOracle Grid Infrastructureホームのアーカイブを作成し、それをノード2にコピーします。ノード1のOracle Grid Infrastructureホームの場所が$ORACLE_HOMEである場合は、これと同じディレクトリをノード2のコピー先として使用する必要があります。

  3. ノード2のGrid_home/clone/binディレクトリに格納されているclone.plスクリプトを実行します。

    関連項目:

    clone.plスクリプトで使用されるパラメータの詳細は、表8-1を参照してください。

    次の例は、LinuxまたはUNIXシステムの場合です。

    $ perl clone.pl ORACLE_HOME=/u01/app/12.1/grid ORACLE_HOME_NAME=OraHome1Grid
       ORACLE_BASE=/u01/app/oracle "'CLUSTER_NODES={node1, node2}'"
       "'LOCAL_NODE=node2'" CRS=TRUE INVENTORY_LOCATION=/u01/app/oraInventory
    

    root.shの実行を求めるプロンプトが表示されたら、そのプロンプトを無視して、次の手順に進みます。

    次の例は、Windowsシステムの場合です。

    C:\>perl clone.pl ORACLE_BASE=D:\u01\app\grid ORACLE_HOME=D:\u01\app\grid\12.1.0
    ORACLE_HOME_NAME=OraHome1Grid '"CLUSTER_NODES={node1,node2}"'
    '"LOCAL_NODE=node2"' CRS=TRUE

    注意:

    前述のコマンドでは、ノードをクローニングしてノードを追加するときに、ORACLE_HOME_NAMEが必要です。ノードのレジストリからクローニングしているノードの正確な値は、次のように取得できます。

    HKEY_LOCAL_MACHINE\SOFTWARE\oracle\KEY_OraCRs12c_home1

    ORACLE_HOME_NAMEパラメータ・キーを探して値を取得します。前述のコマンドのORACLE_HOME_NAMEパラメータの値が、クローニングするノードの値と一致しない場合、新しいノードを追加すると失敗します。

  4. この手順はWindowsには適用されません。

    ノード2の中央インベントリ・ディレクトリで、rootとしてorainstRoot.shスクリプトを実行します。このスクリプトは、/etc/oraInst.locディレクトリに中央インベントリの場所を移入します。次に例を示します。

    [root@node2 root]# /opt/oracle/oraInventory/orainstRoot.sh
    

    複数の宛先ノードで同時にスクリプトを実行することができます。

  5. 次のように、ノード1のGrid_home/addnodeディレクトリに格納されているaddnode.sh(Windowsではaddnode.bat)スクリプトを実行します。
    $ addnode.sh -silent -noCopy ORACLE_HOME=Grid_home "CLUSTER_NEW_NODES={node2}"
       "CLUSTER_NEW_VIRTUAL_HOSTNAMES={node2-vip}" "CLUSTER_NEW_NODE_ROLES={HUB}"

    注意:

    • ノード2ではclone.plスクリプトをすでに実行してあるため、この手順では、ノードでインベントリを更新し、ローカル・ノードでスクリプトをインスタンス化するのみです。

    • addnode.shスクリプトで-noCopyオプションを使用する場合、パスワード・ファイルのコピーはノード2に存在しない可能性があり、この場合、ノード2に正しいパスワード・ファイルをコピーする必要があります。

    • addnode.shスクリプトは、cluvfy stage -pre nodeadd検証を実行します。

    • 追加するノードがハブ・ノードかリーフ・ノードであるかをOracle Flex Clusterで示すには、CLUSTER_NEW_NODE_ROLESパラメータを使用します。

    次のように、複数のノードを追加できます。

    $ addnode.sh -silent -noCopy ORACLE_HOME=Grid_home "CLUSTER_NEW_NODES={node2,node3,node4}"
       "CLUSTER_NEW_VIRTUAL_HOSTNAMES={node2-vip,node3-vip,}"
       "CLUSTER_NEW_NODE_ROLES={HUB,HUB,LEAF}"
    

    前述の構文例で、ノード4はリーフ・ノードとして指定されているため、VIPが含まれている必要はありません。

  6. 次のファイルをaddnode.shを実行したノード1からノード2へコピーします。
    Grid_home/crs/install/crsconfig_addparams
    Grid_home/crs/install/crsconfig_params
    Grid_home/gpnp
    
  7. ノード2で、Grid_home/root.shスクリプトを実行します。

    注意:

    • root.shまたはgridconfig.batスクリプトを実行する前に、すべてのデータベース・ホームを展開したことを確認します。

    • この例のクラスタのノードは2つのみです。クラスタに複数のノードを追加する場合、すべてのノードでroot.shを同時に実行することができます。

    次の例はLinuxまたはUNIXシステム用の例です。ノード2で、次のコマンドを実行します。

    [root@node2 root]# Grid_home/root.sh
    

    root.shスクリプトは、Oracle Cluster Registry (OCR)に仮想IP (VIP)リソースを自動的に構成します。

    Windowsでは、ノード2で次のコマンドを実行します。

    C:\>Grid_home\crs\config\gridconfig.bat
    
  8. ノード1で次のクラスタ検証ユーティリティ(CVU)・コマンドを実行します。
    $ cluvfy stage -post nodeadd -n destination_node_name [-verbose]

    関連項目:

    このCVUコマンドの詳細は、cluvfy stage [-pre | -post] nodeaddを参照してください。