システム ドライブに損傷がないストレージ ボリュームへのオブジェクト データのリストア

システム ドライブに損傷がないストレージ ノードでストレージ ボリュームをリカバリしたあとに、そのボリュームに他のストレージ ノードとアーカイブ ノードからオブジェクト データをリストアすることができます。

開始する前に

タスク概要

オブジェクト データをリストアするには、repair-dataスクリプトを実行します。このスクリプトは、オブジェクト データのリストア プロセスを開始し、ILMスキャンと連動してILMルールを適用します。repair-dataスクリプトの各オプションを使用して、オブジェクト レプリケーションで保護されたオブジェクト データ、およびイレイジャー コーディングで保護されたデータをリストアします。
注:プライマリ管理ノードのコマンドラインで「repair-data --help」と入力すると、repair-dataスクリプトの使用方法の詳細を確認できます。

レプリケート データ

レプリケート データのリストアには、repair-data start-replicated-node-repairコマンドとrepair-data start-replicated-volume-repairコマンドを使用します。Cassandraに不整合が生じている可能性があり、かつ失敗した修復は追跡されませんが、レプリケート データの修復のステータスはある程度監視できます。修復を監視し、レプリケート データの修復が完了したかどうかを可能な限り判別するには、次の属性の組み合わせを使用します。
  • レプリケート データの修復の進行状況を追跡するには、[Repairs Attempted (XRPA)]属性([Summary Attribute]ページ > [ILM Activity])を使用します。この属性は、LDRがハイリスク オブジェクトの修復を試みるたびに値が増えます。この属性の値が現在のスキャン期間([Scan Period – Estimated]属性で確認可能)よりも長い期間増えないときは、修復を必要とするハイリスク オブジェクトがILMスキャンでどのノードにも見つからなかったことを意味します。
    注:ハイリスク オブジェクトとは、完全に失われる危険があるオブジェクトです。ILM設定を満たしていないオブジェクトは含まれません。
  • 以前に取り込まれたオブジェクトにポリシー変更が適用されるタイミングを推定するには、[Scan Period – Estimated (XSCM)]属性を使用します。[Repairs Attempted]属性の値が現在のスキャン期間よりも長い期間増えない場合は、レプリケート データの修復が完了している可能性があります。スキャン期間は変わる可能性があるので注意してください。[Scan Period – Estimated (XSCM)]は、すべてのノード スキャン期間の最大値を示す概要レベルの属性です。[Scan Period – Estimated]属性の履歴を概要レベルで照会して、グリッドの適切な期間を特定することができます。

イレイジャー コーディング(EC)データ

イレイジャー コーディング データのリストアには、repair-data start-ec-node-repairコマンドとrepair-data start-ec-volume-repairコマンドを使用します。イレイジャー コーディング データの修復は、一部のストレージ ノードがオフライン状態で開始できます。修復はすべてのノードが使用可能になったあとに完了します。repair-data show-ec-repair-statusコマンドを使用すると、イレイジャー コーディング データの修復を追跡できます。

データ リカバリに関する注意事項

オブジェクト データのコピーがアーカイブ ノードにしか残っていない場合は、アーカイブ ノードからオブジェクト データが読み出されます。外部アーカイブ ストレージ システムからの読み出しには遅延が伴うため、アーカイブ ノードからストレージ ノードへのオブジェクト データのリストアには、別のストレージ ノードからコピーをリストアする場合に比べて時間がかかります。

注:単一のコピーだけをレプリケートするようにILMポリシーが設定されている場合、これらのオブジェクトが失われるとリカバリすることはできません。その場合も、失われたオブジェクトの情報をデータベースからパージするために「ストレージ ボリュームへのオブジェクト データのリストア」の手順を実行する必要があります。ILMポリシーの詳細については、『管理者ガイド』を参照してください。

手順

  1. サービス ラップトップから、プライマリ管理ノードにログインします。
    1. 次のコマンドを入力します:ssh admin@primary_Admin_Node_IP
    2. Passwords.txtファイルに含まれているパスワードを入力します。
    3. 次のコマンドを入力してrootに切り替えます:su -
    4. Passwords.txtファイルに含まれているパスワードを入力します。
      rootとしてログインすると、プロンプトが$から#に変わります。
  2. /etc/hostsファイルを使用して、リストアされたストレージ ボリュームのストレージ ノードのホスト名を探します。グリッド内のすべてのノードのリストを表示するには、次のコマンドを入力します:cat /etc/hosts
  3. すべてのストレージ ボリュームで障害が発生した場合は、repair-dataノード修復コマンドを使用してノード全体を修復します。
    レプリケート データとイレイジャー コーディング データの両方がグリッドにある場合は、次の2つのコマンドを実行します。
    • レプリケート データrepair-data start-replicated-node-repairコマンドに--nodesオプションを指定して、ストレージ ノード全体を修復します。

      次のコマンドでは、例としてノード名に「SG-DC-SN3」を使用しています。

      repair-data start-replicated-node-repair --nodes SG-DC-SN3
    • イレイジャー コーディング データrepair-data start-ec-node-repairコマンドに--nodesオプションを指定して、ストレージ ノード全体を修復します。

      次のコマンドでは、例としてノード名に「SG-DC-SN3」を使用しています。

      repair-data start-ec-node-repair --nodes SG-DC-SN3

      このrepair_data処理に対する一意のrepair IDが返されます。このrepair IDを使用して、repair_data処理の進行状況と結果を追跡します。リカバリ プロセスが完了するまでにこの他に返される情報はありません。

      注:イレイジャー コーディング データの修復は、一部のストレージ ノードがオフライン状態で開始できます。修復はすべてのノードが使用可能になったあとに完了します。
    注:複数のノードに対して同時にrepair-data処理を実行することはできません。複数のノードをリカバリする場合は、テクニカル サポートにお問い合わせください。

    オブジェクト データがリストアされる際に、StorageGRID Webscaleシステムがレプリケート オブジェクト データを見つけられない場合は、LOST(オブジェクト損失)アラームがトリガーされます。システム全体のストレージ ノードに対してアラームがトリガーされることがあります。損失の原因およびリカバリが可能かどうかを特定する必要があります。詳細については、『トラブルシューティング ガイド』を参照してください。

  4. 一部のボリュームにのみ障害が発生している場合は、repair-dataボリューム修復コマンドを使用して、1つまたは一連のボリュームを修復します。

    ボリュームIDを16進形式で入力します。0000は最初のボリューム、000Fは16番目のボリュームです。1つまたは一連のボリュームを指定できます。

    レプリケート データとイレイジャー コーディング データの両方がグリッドにある場合は、次の2つのコマンドを実行します。
    • レプリケート データstart-replicated-volume-repairコマンドに--nodesオプションと--volume-rangeオプションを指定します。

      次のコマンドは、サンプルのノード名SG-DC-SN3を使用して、0003~000Bのすべてのボリュームにオブジェクト データをリストアします。

      repair-data start-replicated-volume-repair --nodes SG-DC-SN3 --volume-range 0003,000B

      レプリケート データの場合は、同じノードに対して複数のrepair-data処理を同時に実行できます。この方法は、連続しない2つのボリューム(0000と000Aなど)をリストアする必要がある場合に使用します。

    • イレイジャー コーディング データstart-ec-volume-repairコマンドに--nodesオプションと--volume-rangeオプションを指定します。

      次のコマンドは、サンプルのノード名SG-DC-SN3を使用して、単一のボリューム000Aにデータをリストアします。

      repair-data start-ec-volume-repair --nodes SG-DC-SN3 --volume-range 000A

      イレイジャー コーディング データの場合は、1つのrepair-data start ec-volume-repair処理が完了してから、同じノードに対して2回目のrepair-data処理を開始する必要があります。

      repair-data処理から、このrepair_data処理に対する一意のrepair IDが返されます。このrepair IDを使用して、repair_data処理の進行状況と結果を追跡します。リカバリ プロセスが完了するまでにこの他に返される情報はありません。
      注:イレイジャー コーディング データの修復は、一部のストレージ ノードがオフライン状態で開始できます。修復はすべてのノードが使用可能になったあとに完了します。
    注:複数のノードに対して同時にrepair-data処理を実行することはできません。複数のノードをリカバリする場合は、テクニカル サポートにお問い合わせください。

    オブジェクト データがリストアされる際に、StorageGRID Webscaleシステムがレプリケート オブジェクト データを見つけられない場合は、LOST(オブジェクト損失)アラームがトリガーされます。システム全体のストレージ ノードに対してアラームがトリガーされることがあります。損失の原因およびリカバリが可能かどうかを特定する必要があります。詳細については、『トラブルシューティング ガイド』を参照してください。

  5. イレイジャー コーディング データの修復のステータスを追跡して、修復が正常に完了したことを確認します。次のいずれかの処理を選択します。
    • repair-data処理の現在のステータスまたは結果を確認するには、次のコマンドを使用します。 repair-data show-ec-repair-status --repair-id repair ID

      指定したrepair IDのステータスが表示されます。

    • すべての修復処理を表示するには、次のコマンドを使用します。 repair-data show-ec-repair-status
      出力には、以前に実行した修復と現在実行中の修復の情報(repair IDなど)が表示されます。
      root@DC1-ADM1:~ # repair-data show-ec-repair-status                      
      
       Repair ID   Scope                   Start Time  End Time  State  Est Bytes Affected Bytes Repaired  Retry Repair
      ==========================================================================================================
       949283   DC1-S-99-10(Volumes: 1,2) 2016-11-30T15:27:06.9  Success   17359            17359           No
       949292   DC1-S-99-10(Volumes: 1,2) 2016-11-30T15:37:06.9  Failure   17359            0               Yes
       949294   DC1-S-99-10(Volumes: 1,2) 2016-11-30T15:47:06.9  Failure   17359            0               Yes
       949299   DC1-S-99-10(Volumes: 1,2) 2016-11-30T15:57:06.9  Failure   17359            0               Yes
      
      
  6. 失敗した修復処理が出力された場合は、--repair-idオプションを指定して失敗した修復を再試行します。

    次のコマンドは障害が発生したノードでイレイジャー コーディング データの修復を再試行します。repair IDは「83930030303133434」です。 repair-data start-ec-node-repair --repair-id 83930030303133434

    次のコマンドは障害が発生したイレイジャー コーディング データ ボリュームの修復を再試行します。repair IDは「83930030303133434」です。 repair-data start-ec-volume-repair --repair-id 83930030303133434