ディスクに障害が発生した場合、または発生中の場合、ディスクを置換できます。ディスクの置換手順は、ストアの稼働を維持するために必要です。この項では、データの可用性を維持するために障害が発生したディスクを置換する手順について説明します。
次の例では、3つのディスクがある3台のマシンのセットにKVStoreをデプロイします。他の2つのディスクのストレージの場所を指定するには、makebootconfig
コマンドのstoragedir
フラグを使用します。
> java -jar KVHOME/lib/kvstore.jar makebootconfig \ -root /opt/ondb/var/kvroot \ -port 5000 \ -admin 5001 \ -host node09 -harange 5010,5020 \ -num_cpus 0 \ -memory_mb 0 \ -store-security none \ -capacity 2 \ -storagedir /disk1/ondb/data \ -storagedir /disk2/ondb/data
前述のようなブート構成では、各マシンに作成および移入されるディレクトリ構造は次のようになります。
- Machine 1 (SN1) - - Machine 2 (SN2) - - Machine 3 (SN3) - /opt/ondb/var/kvroot /opt/ondb/var/kvroot /opt/ondb/var/kvroot log files log files log files /store-name /store-name /store-name /log /log /log /sn1 /sn2 /sn3 config.xml config.xml config.xml /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
この場合、構成情報および管理データは、すべてのレプリケーション・データとは別の場所に格納されます。レプリケーション・データ自体は、個別の物理メディア上の各レプリケーション・ノード・サービスに格納されます。このような方法でデータを格納すると障害が分離されるため、通常はディスク置換が単純になり、時間も短縮されます。
障害が発生したディスクを置換するには、次の手順を実行します。
障害が発生したディスクを特定します。これを行うには、標準のシステム・モニタリングおよび管理メカニズムを使用します。前述の例で、ストレージ・ノード3のdisk2に障害が発生し、交換が必要であるとします。
その後、ディレクトリ構造を考慮して、停止するレプリケーション・ノード・サービスを決定します。前述の構造では、ストアはレプリケートされたデータをストレージ・ノード3のdisk2に書き込むため、障害が発生したディスクを置換する前にrg2-rn3
を停止する必要があります。
plan stop-service
コマンドを使用して、システムによる通信の試行が行われなくなるように、影響を受けるサービス(rg2-rn3)を停止します。その結果、すでに認識している障害に関連するエラー出力の量が減少します。
kv-> plan stop-service -service rg2-rn3
オペレーティング・システム、ディスク製造業者またはハードウェア・プラットフォーム(あるいはそのすべて)によって決まる手順を使用して、障害が発生したディスク(disk2)を削除します。
適切な手順を使用して、新しいディスクをインストールします。
以前と同じストレージ・ディレクトリ(この場合/disk2/ondb/var/kvroot
)になるように、ディスクをフォーマットします。
新しいディスクの準備ができたら、plan start-service
コマンドを使用してrg2-rn3
サービスを開始します。
kv-> plan start-service -service rg2-rn3
障害の前にディスクに存在していたデータの量に応じて、ディスクがすべてのデータをリカバリするには相当な時間がかかる場合があります。新しいディスクを再移入しているときに、システムで追加のネットワーク・トラフィックおよびロードが発生する可能性があることにも注意してください。