新規ストレージ・ノードの使用

別の新しいストレージ・ノード(障害が発生したホストと異なるホスト名、IPアドレスおよびポート)を使用して、障害が発生したストレージ・ノードを置換するには、次の手順を実行します。
  1. ハードウェアを置換する場合、起動し、本番環境の準備が整っていることを確認します。

  2. 新しい置換ノードで、次のコマンドを指定してmakebootconfigユーティリティを使用し、boot config構成ファイルを作成します。新規のストレージ・ノードが実行されるハードウェアでこれを実行します。

    > mkdir -p KVROOT     (if it doesn't already exist)
    > java -Xmx64m -Xms64m \
    -jar KVHOME/lib/kvstore.jar makebootconfig -root KVROOT \
                                               -port 5000 \
                                               -host <hostname> \
                                               -harange 5010,5020 \
                                               -capacity 1 \
                                               -admindir /export/admin1 \
                                               -admindirsize 3_gb \
                                               -storagedir /export/data1 \
                                               -storagedirsize 1_tb \
                                               -rnlogdir /export/rnlog1
  3. securityconfigツールを使用して、セキュリティ・ディレクトリを作成します。詳細は、KVStoreインストールの構成を参照してください。

  4. 正常なノードから障害の発生したノードへセキュリティ・ディレクトリをコピーします。

    scp -r <sec dir> node02:KVROOT/security KVROOT/
  5. 新規ノードでOracle NoSQL Databaseソフトウェアを起動します。

    注意:

    SNAを開始する前に、各ノードで環境変数MALLOC_ARENA_MAX1に設定します。こうすることで、メモリー使用量が指定されたヒープ・サイズに制限されます。

    > nohup java -Xmx64m -Xms64m \
    -jar KVHOME/lib/kvstore.jar start -root KVROOT & 
  6. 新規ストレージ・ノードを新規ノードにデプロイします。CLIを使用してこれを行う場合、次のようにします。

    > java -Xmx64m -Xms64m \
    -jar KVHOME/lib/kvstore.jar runadmin \
    -port <5000> -host <host> \
    -security USER/admin.security
    kv-> plan deploy-sn -zn <id> -host <host> -port <5000> -wait
    kv-> 
  7. 新規ストレージ・ノードをストレージ・ノード・プールに追加します。(ストレージ・ノード・プールはストアのインストール時に作成し、すべてのストレージ・ノードを追加しましたが、製品のこのバージョンではこれ以外に使用されません。)

    kv-> show pools
    AllStorageNodes: sn1, sn2, sn3, sn4 ... sn25, sn26
    BostonPool: sn1, sn2, sn3, sn4 ... sn25
    kv-> pool join -name BostonPool -sn sn26
    AllStorageNodes: sn1, sn2, sn3, sn4 ... sn25, sn26
    BostonPool: sn1, sn2, sn3, sn4 ... sn25
    kv->
  8. 古いストレージ・ノードが稼働していないことを確認します。ハードウェアの問題の場合、壊れたマシンを停止します。次のようにして、ストレージ・ノード・ソフトウェアのみ停止することもできます。

    > java -Xmx64m -Xms64m \
    -jar KVHOME/lib/kvstore.jar stop -root KVROOT &
  9. あるストレージ・ノードから別のストレージ・ノードにサービスを移行します。このプランの構文は、次のとおりです。

    kv-> plan migrate-sn -from <old SN ID> -to <new SN ID>

    ストレージ・ノード25から26に移行することを前提とすると、次のようになります。

    kv-> plan migrate-sn -from sn25 -to sn26 
  10. 古いストレージ・ノードはトポロジに表示され、UNREACHABLEとレポートされます。ソースSNAは削除される必要があり、そのルートディレクトリは空にする必要があります。古いSNAを起動すると、レプリケーション・グループのメンバーではなくなっている古いレプリケーション・ノードも起動されます。これは残りのストアには無害ですが、エラー・メッセージを発生させるため、ストアに問題があると解釈されかねません。plan remove-snコマンドを使用して、デプロイメントにある古い未使用のストレージ・ノードを削除してください。

    kv-> plan remove-sn sn25 -wait

注意:

ストレージ・ノードの置換は、トポロジの変更とみなされます。これは、ストレージ・ノードが置換される前に作成されたスナップショットからストアをリストアする場合、Loadプログラムを使用する必要があるということです。詳細は、「Loadプログラムの使用」を参照してください。