失われた可能性があるオブジェクトの検索とリストア

Lost Objects(LOST)アラームとObject lostアラートをトリガーした(失われた可能性があると特定した)オブジェクトを検索してリストアできる場合があります。

開始する前に

タスク概要

次の手順に従って、グリッド内の他の場所で損失オブジェクトのレプリケート コピーを検索します。ほとんどの場合、損失オブジェクトは見つかりません。ただし、迅速に対処すれば、損失レプリケート オブジェクトを検索してリストアできる場合があります。
注意: この手順についてサポートが必要な場合は、テクニカル サポートに連絡してください。

手順

  1. 管理ノードの監査ログで、オブジェクトが存在する可能性のある場所を検索します。
    1. グリッド ノードにログインします。
      1. 次のコマンドを入力します:ssh admin@grid_node_IP
      2. Passwords.txtファイルに含まれているパスワードを入力します。
      3. 次のコマンドを入力してrootに切り替えます:su -
      4. Passwords.txtファイルに含まれているパスワードを入力します。
      rootとしてログインすると、プロンプトが$から#に変わります。
    2. 監査ログが格納されているディレクトリに移動します。cd /var/local/audit/export/
    3. grepを使用して、失われた可能性があるオブジェクトに関連付けられている監査メッセージを抽出し、出力ファイルに送信します。次のコマンドを入力します。 grep uuid-value audit_file_name > output_file_name
      次に例を示します。
      Admin: # grep 926026C4-00A4-449B-AC72-BCCA72DD1311 audit.log > messages_about_lost_object.txt
    4. grepを使用して、この出力ファイルからLocation Lost(LLST)監査メッセージを抽出します。次のコマンドを入力します。 grep LLST output_file_name
      次に例を示します。
      Admin: # grep LLST messages_about_lost_objects.txt
      以下は、LLST監査メッセージの例です。
      [AUDT:[NOID(UI32):12448208][CBIL(UI64):0x38186FE53E3C49A5]
      [UUID(CSTR):"926026C4-00A4-449B-AC72-BCCA72DD1311"][LTYP(FC32):CLDI]
      [PCLD(CSTR):"/var/local/rangedb/1/p/17/11/00rH0%DkRs&LgA%#3tN6"]
      [TSRC(FC32):SYST][RSLT(FC32):NONE][AVER(UI32):10][ATIM(UI64):
      1581535134379225][ATYP(FC32):LLST][ANID(UI32):12448208][AMID(FC32):CLSM]
      [ATID(UI64):7086871083190743409]]
    5. LLSTメッセージでPCLDフィールドとNOIDフィールドを検索します。
      PCLDの値は、欠落しているレプリケート オブジェクト コピーのディスク上の完全なパスです。NOIDの値は、オブジェクトのコピーが配置されている可能性のあるLDRのノードIDです。
      注意: 出力ファイルにLLSTメッセージが見つからない場合やLLSTメッセージにPCLDフィールドが含まれていない場合、そのオブジェクトの監査メッセージは、グリッドをStorageGRID 11.4にアップグレードする前に記録されたものである可能性があります。オブジェクトのCBIDを使用してオブジェクトの場所を検索する方法については、テクニカル サポートにお問い合わせください。
      オブジェクトの場所がわかれば、そのオブジェクトをリストアできる場合があります。
    6. このLDRノードIDのストレージ ノードを見つけます。
      ノードIDを使用してストレージ ノードを見つける方法は2つあります。
      • Grid Managerで、[Support]を選択します。次に、メニューの[Tools]セクションで[Grid Topology]を選択します。次に、[Data Center] > [Storage Node] > [LDR]を選択します。LDRのノードIDは、[Node Information]テーブルにあります。このLDRをホストしているストレージ ノードが見つかるまで、各ストレージ ノードの情報を確認します。
      • グリッドのリカバリ パッケージをダウンロードして解凍します。SAIDパッケージの\docsディレクトリにある index.htmlファイルの「Servers Summary」には、すべてのグリッド ノードのすべてのノードIDが記載されています。
  2. 監査メッセージに記載されているストレージ ノードにオブジェクトが存在するかどうかを確認します。
    1. グリッド ノードにログインします。
      1. 次のコマンドを入力します:ssh admin@grid_node_IP
      2. Passwords.txtファイルに含まれているパスワードを入力します。
      3. 次のコマンドを入力してrootに切り替えます:su -
      4. Passwords.txtファイルに含まれているパスワードを入力します。
      rootとしてログインすると、プロンプトが$から#に変わります。
    2. オブジェクトのファイル パスが存在するかどうかを確認します。
      オブジェクトのファイル パスには、LLST監査メッセージのPCLDの値を使用します。
      たとえば、次のように入力します。
      ls '/var/local/rangedb/1/p/17/11/00rH0%DkRs&LgA%#3tN6'
      注: コマンドにオブジェクトのファイル パスを入力するときは、特殊文字をエスケープするために必ず一重引用符で囲んでください。
      • オブジェクトのパスが見つからない場合、オブジェクトは失われており、この手順ではリストアできません。テクニカル サポートに連絡してください。
      • オブジェクトのパスが見つかった場合は、手順3に進みます。見つかったオブジェクトをStorageGRIDにリストアできる可能性があります。
  3. オブジェクトのパスが見つかった場合は、オブジェクトをStorageGRIDにリストアします。
    1. 同じストレージ ノードから、オブジェクト ファイルをStorageGRIDで管理できるようにファイルの所有権を変更します。次のコマンドを入力します。 chown ldr-user:bycast 'file_path_of_object'
    2. Telnetでlocalhost 1402に接続して、LDRコンソールにアクセスします。次のように入力します。telnet 0 1402
    3. 次のように入力します。cd /proc/STOR
    4. 次のコマンドを入力します。 Object_Found 'file_path_of_object'
      たとえば、次のように入力します。
      Object_Found '/var/local/rangedb/1/p/17/11/00rH0%DkRs&LgA%#3tN6'
      Object_Foundコマンドを実行すると、グリッドにオブジェクトの場所が通知されます。また、アクティブなILMポリシーがトリガーされ、ポリシーの指定に従って追加のコピーが作成されます。
    注: オブジェクトが見つかったストレージ ノードがオフラインの場合は、オンラインの任意のストレージ ノードにオブジェクトをコピーできます。オブジェクトは、オンラインのストレージ ノードのいずれかの/var/local/rangedbディレクトリに配置してください。次に、そのオブジェクトのファイル パスを使用して、Object_Foundコマンドを実行します。
    • オブジェクトをリストアできない場合、Object_Foundコマンドは失敗します。テクニカル サポートに連絡してください。
    • オブジェクトがStorageGRIDにリストアされた場合、成功を伝えるメッセージが表示されます。次に例を示します。
      ade 12448208: /proc/STOR > Object_Found '/var/local/rangedb/1/p/17/11/00rH0%DkRs&LgA%#3tN6'
      
      ade 12448208: /proc/STOR > Object found succeeded.
      First packet of file was valid. Extracted key: 38186FE53E3C49A5
      Renamed '/var/local/rangedb/1/p/17/11/00rH0%DkRs&LgA%#3tN6' to '/var/local/rangedb/1/p/17/11/00rH0%DkRt78Ila#3udu'
      

      手順4に進みます。

  4. オブジェクトがStorageGRIDにリストアされた場合は、新しい場所が作成されたことを確認します。
    1. 次のように入力します。cd /proc/OBRP
    2. 次のコマンドを入力します。 ObjectByUUID UUID_value
      次の例では、UUIDが926026C4-00A4-449B-AC72-BCCA72DD1311のオブジェクトの場所が2つあります。
      ade 12448208: /proc/OBRP > ObjectByUUID 926026C4-00A4-449B-AC72-BCCA72DD1311
      
      {
          "TYPE(Object Type)": "Data object",
          "CHND(Content handle)": "926026C4-00A4-449B-AC72-BCCA72DD1311",
          "NAME": "cats",
          "CBID": "0x38186FE53E3C49A5",
          "PHND(Parent handle, UUID)": "221CABD0-4D9D-11EA-89C3-ACBB00BB82DD",
          "PPTH(Parent path)": "source",
          "META": {
              "BASE(Protocol metadata)": {
                  "PAWS(S3 protocol version)": "2",
                  "ACCT(S3 account ID)": "44084621669730638018",
                  "*ctp(HTTP content MIME type)": "binary/octet-stream"
              },
              "BYCB(System metadata)": {
                  "CSIZ(Plaintext object size)": "5242880",
                  "SHSH(Supplementary Plaintext hash)": "MD5D 0xBAC2A2617C1DFF7E959A76731E6EAF5E",
                  "BSIZ(Content block size)": "5252084",
                  "CVER(Content block version)": "196612",
                  "CTME(Object store begin timestamp)": "2020-02-12T19:16:10.983000",
                  "MTME(Object store modified timestamp)": "2020-02-12T19:16:10.983000",
                  "ITME": "1581534970983000"
              },
              "CMSM": {
                  "LATM(Object last access time)": "2020-02-12T19:16:10.983000"
              },
              "AWS3": {
                  "LOCC": "us-east-1"
              }
          },
          "CLCO(Locations)": [
              {
                  "Location Type": "CLDI(Location online)",
                  "NOID(Node ID)": "12448208",
                  "VOLI(Volume ID)": "3222345473",
                  "Object File Path": "/var/local/rangedb/1/p/17/11/00rH0%DkRt78Ila#3udu",
                  "LTIM(Location timestamp)": "2020-02-12T19:36:17.880569"
              },
              {
                  "Location Type": "CLDI(Location online)",
                  "NOID(Node ID)": "12288733",
                  "VOLI(Volume ID)": "3222345984",
                  "Object File Path": "/var/local/rangedb/0/p/19/11/00rH0%DkRt78Rrb#3s;L",
                  "LTIM(Location timestamp)": "2020-02-12T19:36:17.934425"
              }
          ]
      }
      
    3. LDRコンソールからサインアウトします。次のように入力します。exit
  5. 管理ノードから、監査ログを検索してこのオブジェクトのORLM監査メッセージを探し、情報ライフサイクル管理(ILM)によって必要なコピーが配置されたことを確認します。
    1. グリッド ノードにログインします。
      1. 次のコマンドを入力します:ssh admin@grid_node_IP
      2. Passwords.txtファイルに含まれているパスワードを入力します。
      3. 次のコマンドを入力してrootに切り替えます:su -
      4. Passwords.txtファイルに含まれているパスワードを入力します。
      rootとしてログインすると、プロンプトが$から#に変わります。
    2. 監査ログが格納されているディレクトリに移動します。cd /var/local/audit/export/
    3. grepを使用して、オブジェクトに関連付けられている監査メッセージを出力ファイルに抽出します。次のコマンドを入力します。 grep uuid-value audit_file_name > output_file_name
      次に例を示します。
      Admin: # grep 926026C4-00A4-449B-AC72-BCCA72DD1311 audit.log > messages_about_restored_object.txt
    4. grepを使用して、この出力ファイルからObject Rules Met(ORLM)監査メッセージを抽出します。次のコマンドを入力します。 grep ORLM output_file_name
      次に例を示します。
      Admin: # grep ORLM messages_about_restored_object.txt
      以下は、ORLM監査メッセージの例です。
      [AUDT:[CBID(UI64):0x38186FE53E3C49A5][RULE(CSTR):"Make 2 Copies"]
      [STAT(FC32):DONE][CSIZ(UI64):0][UUID(CSTR):"926026C4-00A4-449B-AC72-BCCA72DD1311"]
      [LOCS(CSTR):"CLDI 12828634 2148730112, CLDI 12745543 2147552014"]
      [RSLT(FC32):SUCS][AVER(UI32):10][ATYP(FC32):ORLM][ATIM(UI64):1563398230669]
      [ATID(UI64):15494889725796157557][ANID(UI32):13100453][AMID(FC32):BCMS]]
    5. 監査メッセージでLOCSフィールドを検索します。
      このフィールドのCLDIの値は、オブジェクト コピーが作成されたノードIDとボリュームIDです。このメッセージは、ILMが適用され、2つのオブジェクト コピーがグリッドの2つの場所に作成されたことを示しています。
  6. Grid Managerで損失オブジェクトの数をリセットします。