Skip to main content
此產品有較新版本可以使用。
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

將物件資料還原至應用裝置的儲存磁碟區

貢獻者

恢復應用裝置儲存節點的儲存磁碟區之後、您可以還原儲存節點故障時遺失的物件資料。

您需要的產品
  • 您必須確認已恢復的儲存節點的連線狀態為*已連線*圖示警示綠色勾選標記 在Grid Manager的「節點>*總覽*」索引標籤上。

關於這項工作

物件資料可從其他儲存節點、歸檔節點或雲端儲存資源池還原、前提是已設定網格的ILM規則、使物件複本可供使用。

重要 如果ILM規則設定為只儲存一個複寫複本、且該複本存在於故障的儲存磁碟區上、您將無法恢復物件。
重要 如果物件的唯一剩餘複本位於Cloud Storage Pool中、StorageGRID 則必須向Cloud Storage Pool端點發出多個要求、才能還原物件資料。在執行此程序之前、請聯絡技術支援部門、以協助評估恢復時間範圍及相關成本。
註 如果物件的唯一剩餘複本位於歸檔節點、則會從歸檔節點擷取物件資料。由於外部歸檔儲存系統的擷取作業延遲、因此從歸檔節點將物件資料還原至儲存節點所需的時間、比從其他儲存節點還原複本所需的時間更長。

若要還原物件資料、請執行 repair-data 指令碼:此指令碼會開始還原物件資料的程序、並與ILM掃描搭配使用、以確保符合ILM規則。您可以在中使用不同的選項 repair-data 指令碼、根據您是要還原複寫資料或銷毀編碼資料、如下所示:

  • 複寫資料:根據您是需要修復整個節點、還是只需要修復節點上的特定磁碟區、有兩個命令可用於還原複寫資料:

    repair-data start-replicated-node-repair
    repair-data start-replicated-volume-repair
  • 銷毀編碼(EC)資料:根據您是需要修復整個節點、還是只需要修復節點上的特定磁碟區、有兩個命令可用於還原銷毀編碼資料:

    repair-data start-ec-node-repair
    repair-data start-ec-volume-repair

    在某些儲存節點離線時、可以開始修復銷毀編碼資料。所有節點都可用後、修復作業即告完成。您可以使用以下命令來追蹤銷毀編碼資料的修復:

    repair-data show-ec-repair-status
註 EC修復工作會暫時保留大量的儲存空間。可能會觸發儲存警示、但會在修復完成時解決。如果保留的儲存空間不足、EC修復工作將會失敗。無論工作失敗或成功、儲存保留都會在EC修復工作完成時釋出。

如需使用的詳細資訊、請參閱 repair-data 指令碼、輸入 repair-data --help 從主管理節點的命令列。

步驟
  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 同時執行多個節點的作業。若要恢復多個節點、請聯絡技術支援部門。
    • 如果您的網格包含複寫資料、請使用 repair-data start-replicated-node-repair 命令 --nodes 修復整個儲存節點的選項。

      此命令可修復名為SG-DC-SN3之儲存節點上的複寫資料:

      repair-data start-replicated-node-repair --nodes SG-DC-SN3
      註 還原物件資料時、StorageGRID 如果無法找到複製的物件資料、就會觸發*物件遺失*警示。警示可能會在整個系統的儲存節點上觸發。您應該判斷遺失原因、以及是否有可能恢復。請參閱「監控StorageGRID 及疑難排解指令」。
    • 如果您的網格包含銷毀編碼資料、請使用 repair-data start-ec-node-repair 命令 --nodes 修復整個儲存節點的選項。

      此命令可修復名為SG-DC-SN3的儲存節點上的銷毀編碼資料:

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

      作業會傳回唯一的 repair ID 以識別這一點 repair_data 營運。請使用這項功能 repair ID 以追蹤的進度和結果 repair_data 營運。恢復程序完成時、不會傳回其他意見反應。

    註 在某些儲存節點離線時、可以開始修復銷毀編碼資料。所有節點都可用後、修復作業即告完成。
    • 如果您的網格同時具有複寫和銷毀編碼資料、請執行這兩個命令。

  4. 如果只有部分磁碟區發生故障、請修復受影響的磁碟區。

    以十六進位格式輸入Volume ID。例如、 0000 是第一個Volume和 000F 為第16個Volume。您可以指定一個磁碟區、一個磁碟區範圍或多個未依序排列的磁碟區。

    所有磁碟區都必須位於同一個儲存節點上。如果您需要還原多個儲存節點的磁碟區、請聯絡技術支援部門。

    • 如果您的網格包含複寫資料、請使用 start-replicated-volume-repair 命令 --nodes 用於識別節點的選項。然後新增任一項 --volumes--volume-range 選項、如下列範例所示。

      單一磁碟區:此命令可將複寫的資料還原至磁碟區 0002 在名為SG-DC-SN3的儲存節點上:

      repair-data start-replicated-volume-repair --nodes SG-DC-SN3 --volumes 0002

      磁碟區範圍:此命令可將複寫的資料還原至範圍內的所有磁碟區 00030009 在名為SG-DC-SN3的儲存節點上:

      repair-data start-replicated-volume-repair --nodes SG-DC-SN3 --volume-range 0003-0009

      多個磁碟區未依序:此命令可將複寫的資料還原至磁碟區 00010005`和 `0008 在名為SG-DC-SN3的儲存節點上:

      repair-data start-replicated-volume-repair --nodes SG-DC-SN3 --volumes 0001,0005,0008
      註 還原物件資料時、StorageGRID 如果無法找到複製的物件資料、就會觸發*物件遺失*警示。警示可能會在整個系統的儲存節點上觸發。您應該判斷遺失原因、以及是否有可能恢復。請參閱「監控StorageGRID 及疑難排解指令」。
    • 如果您的網格包含銷毀編碼資料、請使用 start-ec-volume-repair 命令 --nodes 用於識別節點的選項。然後新增任一項 --volumes--volume-range 選項、如下列範例所示。

      *單一Volume *:此命令可將銷毀編碼資料還原至Volume 0007 在名為SG-DC-SN3的儲存節點上:

      repair-data start-ec-volume-repair --nodes SG-DC-SN3 --volumes 0007

      磁碟區範圍:此命令可將銷毀編碼資料還原至範圍內的所有磁碟區 00040006 在名為SG-DC-SN3的儲存節點上:

      repair-data start-ec-volume-repair --nodes SG-DC-SN3 --volume-range 0004-0006

      多個磁碟區未依序:此命令可將銷毀編碼資料還原至磁碟區 000A000C`和 `000E 在名為SG-DC-SN3的儲存節點上:

      repair-data start-ec-volume-repair --nodes SG-DC-SN3 --volumes 000A,000C,000E

      repair-data 作業會傳回唯一的 repair ID 以識別這一點 repair_data 營運。請使用這項功能 repair ID 以追蹤的進度和結果 repair_data 營運。恢復程序完成時、不會傳回其他意見反應。

    註 在某些儲存節點離線時、可以開始修復銷毀編碼資料。所有節點都可用後、修復作業即告完成。
    • 如果您的網格同時具有複寫和銷毀編碼資料、請執行這兩個命令。

  5. 監控複寫資料的修復。

    1. 選擇*節點*>*正在修復的儲存節點*>* ILM *。

    2. 請使用「評估」區段中的屬性來判斷是否已完成修復。

      當修復完成時、「等待-全部」屬性表示0個物件。

    3. 若要更詳細地監控修復、請選取*支援*>*工具*>*網格拓撲*。

    4. 選擇* GRID*>*正在修復的儲存節點*>* LDR*>*資料儲存*。

    5. 請使用下列屬性組合來判斷複寫的修復是否完成、以及可能的情況。

      註 Cassandra可能存在不一致之處、而且無法追蹤失敗的修復。
      • 嘗試的維修(XRPA):使用此屬性來追蹤複寫的維修進度。每次儲存節點嘗試修復高風險物件時、此屬性都會增加。如果此屬性的增加時間不超過目前掃描期間(由*掃描期間-預估*屬性提供)、表示ILM掃描未發現任何需要在任何節點上修復的高風險物件。

        註 高風險物件是可能完全遺失的物件。這不包括不符合ILM組態的物件。
      • 掃描期間-預估(XSCM):使用此屬性來預估原則變更何時會套用至先前擷取的物件。如果*已嘗試的維修*屬性在一段時間內沒有增加、則可能是因為複寫的維修已經完成。請注意、掃描期間可能會變更。「掃描期間-預估(XSCM)」屬性適用於整個網格、是所有節點掃描期間的上限。您可以查詢網格的*掃描期間-預估*屬性歷程記錄、以判斷適當的時間範圍。

  6. 監控銷毀編碼資料的修復、然後重試任何可能失敗的要求。

    1. 判斷銷毀編碼資料修復的狀態:

      • 使用此命令查看特定的狀態 repair-data 營運:

        repair-data show-ec-repair-status --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/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
    2. 如果輸出顯示修復作業失敗、請使用 --repair-id 重試修復的選項。

      此命令會使用修復ID重試失敗的節點修復 83930030303133434

      repair-data start-ec-node-repair --repair-id 83930030303133434

      此命令會使用修復ID重試失敗的Volume修復 83930030303133434

    repair-data start-ec-volume-repair --repair-id 83930030303133434