StorageGRIDアプライアンスのストレージボリュームにオブジェクトデータを復元します
アプライアンスのストレージ ノードのストレージボリュームを復旧した後、ストレージ ノードの障害発生時に失われたレプリケートされたオブジェクトデータまたはイレイジャーコーディングされたオブジェクトデータを復元できます。
どの手順を用いるべきですか?
可能な限り、Grid Manager の「ボリューム復元」ページを使用してオブジェクトデータを復元してください。
-
ボリュームが メンテナンス > ボリューム復元 > 復元するノード にリストされている場合は、"グリッドマネージャーのボリューム復元ページ" を使用してオブジェクトデータを復元してください。
-
ボリュームが メンテナンス > ボリューム復元 > 復元するノード にリストされていない場合は、以下の手順に従って `repair-data`スクリプトを使用してオブジェクトデータを復元してください。
復旧したストレージノードに、交換するノードよりも少ないボリュームが含まれている場合は、 `repair-data`スクリプトを使用する必要があります。
|
|
repair-data スクリプトは非推奨となり、今後のリリースで削除されます。可能な場合は、"グリッドマネージャーでのボリューム復元手順"を使用してください。 |
`repair-data`スクリプトを使用してオブジェクトデータを復元する
-
復旧したストレージノードの接続状態が Connected
であることを、Grid Manager の Nodes > Overview タブで確認しました。
グリッドのILMルールがオブジェクトのコピーが利用可能になるように構成されている場合、オブジェクトデータは他のストレージノードまたはクラウドストレージプールから復元できます。
次の点に注意してください。
-
ILMルールが複製コピーを1つだけ保存するように構成されていて、そのコピーが障害が発生したストレージボリューム上に存在していた場合、オブジェクトを復旧することはできません。
-
オブジェクトの唯一の残存コピーがクラウドストレージプールにある場合、StorageGRID はオブジェクトデータを復元するために、クラウドストレージプールエンドポイントに対して複数のリクエストを発行する必要があります。この手順を実行する前に、復旧にかかる時間と関連費用を見積もるために、テクニカルサポートにお問い合わせください。
`repair-data`スクリプトについて
オブジェクトデータを復元するには、 `repair-data`スクリプトを実行します。このスクリプトは、オブジェクトデータの復元プロセスを開始し、ILMスキャンと連携してILMルールが満たされていることを確認します。
以下の 複製データ または 消去符号化(EC)データ を選択して、レプリケートされたデータを復元するか、イレイジャーコーディングされたデータを復元するかに基づいた `repair-data`スクリプトのさまざまなオプションを確認してください。両方の種類のデータを復元する必要がある場合は、両方のコマンドセットを実行する必要があります。
|
|
`repair-data`スクリプトの詳細については、プライマリ管理ノードのコマンドラインから `repair-data --help`と入力してください。 |
|
|
repair-data スクリプトは非推奨となり、今後のリリースで削除されます。可能な場合は、"グリッドマネージャーでのボリューム復元手順"を使用してください。 |
レプリケートされたデータを復元するために、ノード全体を修復する必要があるか、ノード上の特定のボリュームのみを修復する必要があるかに応じて、2つのコマンドを使用できます。
repair-data start-replicated-node-repair
repair-data start-replicated-volume-repair
このコマンドを使用すると、複製されたデータの修復状況を追跡できます。
repair-data show-replicated-repair-status
消去符号化データを復元するためのコマンドは2つあり、ノード全体を修復する必要があるか、ノード上の特定のボリュームのみを修復する必要があるかに応じて使い分けることができます。
repair-data start-ec-node-repair
repair-data start-ec-volume-repair
このコマンドを使用すると、消去符号化データの修復状況を追跡できます。
repair-data show-ec-repair-status
|
|
消去符号化データの修復は、一部のストレージノードがオフラインの状態でも開始できます。ただし、すべての消去符号化データが確認できない場合、修復は完了できません。修復は、すべてのノードが利用可能になった後に完了します。 |
|
|
EC修復作業は、一時的に大量のストレージ容量を確保します。ストレージに関する警告が表示される場合がありますが、修復が完了すれば解消されます。予約に必要なストレージ容量が不足している場合、EC修復ジョブは失敗します。ストレージの予約は、EC修復作業が完了した時点で、作業の成否に関わらず解放されます。 |
ストレージノードのホスト名を確認する
-
いずれかの管理ノードにログインします。
-
次のコマンドを入力します:
ssh admin@primary_Admin_Node_IP -
`Passwords.txt`ファイルに記載されているパスワードを入力してください。
-
以下のコマンドを入力して root に切り替えます:
su - -
`Passwords.txt`ファイルに記載されているパスワードを入力してください。
rootとしてログインすると、プロンプトが `$`から `#`に変わります。
-
-
/etc/hosts`ファイルを使用して、復元されたストレージボリュームのストレージノードのホスト名を確認します。グリッド内のすべてのノードのリストを表示するには、次のコマンドを入力します: `cat /etc/hosts
すべてのボリュームに障害が発生している場合のデータ修復
すべてのストレージボリュームに障害が発生した場合は、ノード全体を修復してください。複製データ、イレイジャーコーディング(EC)データ、またはその両方を使用するかどうかに応じて、複製データ、イレイジャーコーディング(EC)データ、またはその両方に関する手順に従ってください。
一部のボリュームのみが失敗した場合は、[一部のボリュームのみが故障している場合のデータ修復]。
|
|
複数のノードに対して同時に `repair-data`操作を実行することはできません。複数のノードを復旧するには、テクニカルサポートにお問い合わせください。 |
グリッドに複製データが含まれている場合は、 `repair-data start-replicated-node-repair`コマンドに `--nodes`オプションを指定します。ここで `--nodes`はホスト名(システム名)であり、ストレージノード全体を修復します。
このコマンドは、SG-DC-SN3という名前のストレージノード上の複製データを修復します。
repair-data start-replicated-node-repair --nodes SG-DC-SN3
|
|
オブジェクトデータが復元されると、StorageGRID システムが複製されたオブジェクトデータを見つけられない場合に、*オブジェクトが失われました*アラートがトリガーされます。システム全体のストレージノードでアラートがトリガーされる可能性があります。損失の原因を特定し、復旧が可能かどうかを判断する必要があります。"紛失の可能性があるオブジェクトを調査する"を参照してください。 |
グリッドに消去符号化データが含まれている場合は、 `repair-data start-ec-node-repair`コマンドに `--nodes`オプションを指定します。ここで `--nodes`はホスト名(システム名)であり、ストレージノード全体を修復します。
このコマンドは、SG-DC-SN3という名前のストレージノード上のイレイジャーコーディングデータを修復します。
repair-data start-ec-node-repair --nodes SG-DC-SN3
この操作は一意の `repair ID`を返します。これにより、この `repair_data`操作を識別できます。この `repair ID`を使用して、 `repair_data`操作の進捗状況と結果を追跡します。復旧処理が完了しても、それ以上のフィードバックは返されません。
消去符号化データの修復は、一部のストレージノードがオフラインの状態でも開始できます。修復は、すべてのノードが利用可能になった後に完了します。
一部のボリュームのみが故障している場合のデータ修復
一部のボリュームのみが故障している場合は、影響を受けたボリュームを修復してください。複製データ、イレイジャーコーディング(EC)データ、またはその両方を使用するかどうかに応じて、複製データ、イレイジャーコーディング(EC)データ、またはその両方に関する手順に従ってください。
すべてのボリュームが失敗した場合は、[すべてのボリュームに障害が発生している場合のデータ修復]に進んでください。
ボリュームIDを16進数で入力してください。例えば、 `0000`は最初のボリュームで、 `000F`は16番目のボリュームです。単一のボリューム、ボリュームの範囲、または連続していない複数のボリュームを指定できます。
すべてのボリュームは同じストレージノード上に存在する必要があります。複数のストレージノードのボリュームを復元する必要がある場合は、テクニカルサポートにお問い合わせください。
グリッドに複製データが含まれている場合は、 `start-replicated-volume-repair`コマンドと `--nodes`オプションを使用してノードを識別します( `--nodes`はノードのホスト名です)。次に、以下の例に示すように、 `--volumes`または `--volume-range`オプションを追加します。
単一ボリューム:このコマンドは、SG-DC-SN3という名前のストレージノード上のボリューム `0002`に複製されたデータを復元します:
repair-data start-replicated-volume-repair --nodes SG-DC-SN3 --volumes 0002
ボリューム範囲:このコマンドは、SG-DC-SN3という名前のストレージノード上の `0003`から `0009`までの範囲内のすべてのボリュームに複製されたデータを復元します:
repair-data start-replicated-volume-repair --nodes SG-DC-SN3 --volume-range 0003,0009
連続していない複数のボリューム:このコマンドは、SG-DC-SN3という名前のストレージノード上のボリューム 0001、 0005、および `0008`に複製されたデータを復元します。
repair-data start-replicated-volume-repair --nodes SG-DC-SN3 --volumes 0001,0005,0008
|
|
オブジェクトデータが復元される際、StorageGRID システムが複製されたオブジェクトデータを見つけられない場合、*オブジェクトが失われました*アラートがトリガーされます。システム全体のストレージノードでアラートがトリガーされる可能性があります。アラートの説明と推奨される対処方法を確認して、損失の原因を特定し、復旧が可能かどうかを判断してください。 |
グリッドにイレイジャーコーディングデータが含まれている場合は、 `start-ec-volume-repair`コマンドに `--nodes`オプションを使用してノードを識別します( `--nodes`はノードのホスト名です)。次に、以下の例に示すように、 `--volumes`または `--volume-range`オプションを追加します。
単一ボリューム:このコマンドは、SG-DC-SN3という名前のストレージノード上のボリューム `0007`にイレイジャーコーディングされたデータを復元します。
repair-data start-ec-volume-repair --nodes SG-DC-SN3 --volumes 0007
ボリューム範囲:このコマンドは、SG-DC-SN3という名前のストレージノード上の `0004`から `0006`までの範囲内のすべてのボリュームにイレイジャーコーディングデータを復元します。
repair-data start-ec-volume-repair --nodes SG-DC-SN3 --volume-range 0004,0006
連続していない複数のボリューム:このコマンドは、SG-DC-SN3という名前のストレージノード上のボリューム 000A、 000C、および `000E`にイレイジャーコーディングされたデータを復元します。
repair-data start-ec-volume-repair --nodes SG-DC-SN3 --volumes 000A,000C,000E
この操作は、この `repair_data`操作を識別する一意の `repair ID`を返します。 `repair-data`この `repair ID`を使用して、 `repair_data`操作の進捗状況と結果を追跡します。リカバリ処理の完了時に、これ以外のフィードバックは返されません。
|
|
消去符号化データの修復は、一部のストレージノードがオフラインの状態でも開始できます。修復は、すべてのノードが利用可能になった後に完了します。 |
修復の監視
複製データ、消去符号化(EC)データ、またはその両方を使用しているかどうかに基づいて、修復ジョブのステータスを監視します。
進行中のボリューム復元ジョブのステータスを監視したり、完了した復元ジョブの履歴を"Grid Manager"で表示したりすることもできます。
-
複製された修復の完了率の推定値を取得するには、repair-data コマンドに `show-replicated-repair-status`オプションを追加します。
repair-data show-replicated-repair-status -
修理が完了したかどうかを確認するには:
-
ノード > 修復中のストレージノード > ILM を選択します。
-
評価セクションに記載されている属性を確認してください。修理が完了すると、*待機中 - すべて*属性は0オブジェクトを示します。
-
-
修復状況をより詳細に監視するには:
-
* Nodes * を選択します。
-
グリッド名 > ILM を選択します。
-
ILMキューグラフにカーソルを合わせると、*スキャンレート(オブジェクト/秒)*属性の値が表示されます。これは、グリッド内のオブジェクトがスキャンされ、ILM用にキューに追加されるレートです。
-
ILMキューのセクションで、以下の属性を確認してください。
-
スキャン期間 - 推定:すべてのオブジェクトの完全な ILM スキャンを完了するまでの推定時間。
フルスキャンを行ったとしても、ILMがすべてのオブジェクトに適用されているとは限りません。
-
修復試行回数: 高リスクとみなされる複製データに対するオブジェクト修復操作の試行回数の合計。高リスクオブジェクトとは、ILMポリシーで指定されているか、コピーの紛失の結果として、コピーが1つしか残っていないオブジェクトのことです。このカウントは、ストレージノードが高リスクオブジェクトの修復を試みるたびに増加します。グリッドが混雑した場合、高リスクのILM修復が優先されます。
修復後にレプリケーションが失敗した場合、同じオブジェクトの修復が再び実行される可能性があります。+ これらの属性は、ストレージノードボリュームの復旧状況を監視する際に役立ちます。修復試行回数の増加が止まり、フルスキャンが完了した場合、修復は完了した可能性が高いです。
-
-
または、 `storagegrid_ilm_scan_period_estimated_minutes`および `storagegrid_ilm_repairs_attempted`のPrometheusクエリを送信します。
-
消去符号化データの修復を監視し、失敗した可能性のあるリクエストを再試行するには:
-
消去符号化データ修復のステータスを確認する:
-
Support > Tools > Metrics を選択すると、現在のジョブの完了までの推定時間と完了率が表示されます。次に、Grafana セクションで EC Overview を選択します。Grid EC Job Estimated Time to Completion と Grid EC Job Percentage Completed のダッシュボードを確認してください。
-
このコマンドを使用して、特定の `repair-data`操作のステータスを確認します:
repair-data show-ec-repair-status --repair-id repair ID -
このコマンドを使用して、すべての修復内容を一覧表示します。
repair-data show-ec-repair-status
出力には、過去および現在実行中のすべての修復に関する情報( `repair ID`を含む)が一覧表示されます。
-
-
出力に修復操作が失敗したと表示された場合は、 `--repair-id`オプションを使用して修復を再試行してください。
このコマンドは、修復ID 6949309319275667690を使用して、失敗したノード修復を再試行します。
repair-data start-ec-node-repair --repair-id 6949309319275667690このコマンドは、修復ID 6949309319275667690を使用して、失敗したボリューム修復を再試行します:
repair-data start-ec-volume-repair --repair-id 6949309319275667690