障害が発生したディスクの置換

障害が発生中のディスクまたはすでに障害が発生したディスクを置換できます。ディスクの置換手順は、ストアの稼働を維持するために必要です。これらは、障害が発生したディスクを置換してデータの可用性を維持するために必要なステップです。

次の例では、3つのディスクがある3台のマシンのセットにKVStoreをデプロイします。makebootconfigコマンドのstoragedirフラグを使用して、ディスクの記憶域の場所を指定します。

> java -Xmx64m -Xms64m \
-jar KVHOME/lib/kvstore.jar makebootconfig \
    -root /opt/ondb/var/kvroot \
    -port 5000  \
    -host node09
    -harange 5010,5020 \
    -num_cpus 0  \
    -memory_mb 0 \
    -capacity 3  \
    -admindir /disk1/ondb/admin -admindirsize 1_gb \
    -storagedir /disk1/ondb/data \
    -storagedir /disk2/ondb/data \
    -storagedir /disk3/ondb/data \
    -rnlogdir /disk1/ondb/rnlog01    

前述の例のようなブート構成では、各マシンに作成および移入されるディレクトリ構造は次のようになります。

 - Machine 1 (SN1) -     - Machine 2 (SN2) -    - Machine 3 (SN3) -
/opt/ondb/var/kvroot   /opt/ondb/var/kvroot  /opt/ondb/var/kvroot
  /security            /security              /security
  /store-name           /store-name           /store-name
    /sn1                   /sn2                  /sn3
      config.xml             config.xml            config.xml

/disk1/ondb/admin         /disk1/ondb/admin        /disk1/ondb/admin
  /admin1                   /admin2                 /admin3
    /env                     /env                    /env

/disk1/ondb/data         /disk1/ondb/data        /disk1/ondb/data
  /rg1-rn1                 /rg1-rn2                /rg1-rn3
    /env                     /env                    /env

/disk2/ondb/data         /disk2/ondb/data        /disk2/ondb/data
  /rg2-rn1                 /rg2-rn2                /rg2-rn3
    /env                     /env                    /env 

/disk3/ondb/data         /disk3/ondb/data        /disk3/ondb/data
  /rg3-rn1                 /rg3-rn2                /rg3-rn3
    /env                     /env                    /env

/disk1/ondb/rnlog01      /disk1/ondb/rnlog01        /disk1/ondb/rnlog01
  /log                     /log                       /log

この場合、構成情報および管理データは、すべてのレプリケーション・データとは別の場所に格納されます。レプリケーション・データ自体は、個別の物理メディア上の各レプリケーション・ノード・サービスに格納されます。このような方法でデータを格納すると障害が分離されるため、通常はディスク置換が単純になり、時間も短縮されます。ストアをデプロイする方法の詳細は、KVStoreの構成を参照してください。

障害が発生したディスクを置換するには、次の手順を実行します。

  1. 障害が発生したディスクを特定します。これを行うには、標準のシステム・モニタリングおよび管理メカニズムを使用します。前述の例で、ストレージ・ノード3のdisk2に障害が発生し、交換が必要であるとします。

  2. その後、ディレクトリ構造を考慮して、停止するレプリケーション・ノード・サービスを決定します。前述の構造では、ストアはレプリケートされたデータをストレージ・ノード3のdisk2に書き込むため、障害が発生したディスクを置換する前にrg2-rn3を停止する必要があります。

  3. plan stop-serviceコマンドを使用して、システムによる通信の試行が行われなくなるように、影響を受けるサービス(rg2-rn3)を停止します。その結果、すでに認識している障害に関連するエラー出力の量が減少します。

    kv-> plan stop-service -service rg2-rn3
  4. オペレーティング・システム、ディスク製造業者またはハードウェア・プラットフォーム(あるいはそのすべて)によって決まる手順を使用して、障害が発生したディスク(disk2)を削除します。

  5. 適切な手順を使用して、新しいディスクをインストールします。

  6. 以前と同じストレージ・ディレクトリ(この場合/disk2/ondb/var/kvroot)になるように、ディスクをフォーマットします。

  7. 新しいディスクの準備ができたら、plan start-serviceコマンドを使用してrg2-rn3サービスを開始します。

    kv-> plan start-service -service rg2-rn3

    ノート:

    障害が発生する前にディスクに格納されていたデータの量によっては、データのリカバリにかなりの時間がかかることがあります。また、新しいディスクの再移入中に、予期しないまたは追加のネットワーク・トラフィックおよび負荷がシステムで発生することもあります。その場合は、このようなイベントによって、完了するまでにさらに時間がかかります。