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

將物件資料還原到系統磁碟機完好的儲存卷

在系統磁碟機完好的儲存節點上還原儲存磁碟區後,您可以還原儲存磁碟區發生故障時遺失的複製或擦除編碼物件資料。

我應該使用哪種程式?

只要有可能,就使用網格管理器中的*體積恢復*頁面恢復物件資料。

  • 如果磁碟區列在 維護 > 磁碟區復原 > 要復原的節點 中,請使用"網格管理器中的磁碟區復原頁面"

  • 如果磁碟區未在「維護 > 磁碟區復原 > 要復原的節點」中列出,請依照下列步驟使用 `repair-data`腳本來恢復對象資料。

    如果復原的儲存節點包含的磁碟區少於它所替換的節點,則必須使用 `repair-data`腳本。

註 修復資料腳本已棄用,並將在未來版本中刪除。如果可能,請使用"網格管理器中的磁碟區復原流程"

使用 `repair-data`恢復物件資料的腳本

開始之前
  • 您已確認復原的儲存節點的連線狀態為*已連線*圖示警報綠色複選標記在網格管理器中的 NODES > Overview 標籤上。

關於此任務

假設網格的 ILM 規則已配置為可以使用物件副本,則可以從其他儲存節點或雲端儲存池還原物件資料。

請注意以下事項:

  • 如果 ILM 規則配置為僅儲存複製副本,且該副本存在於發生故障的儲存磁碟區上,則您將無法復原該物件。

  • 如果物件的唯一剩餘副本位於雲端儲存池中,StorageGRID必須向雲端儲存池端點發出多個請求來還原物件資料。在執行此過程之前,請聯絡技術支援以取得協助,以估計恢復時間範圍和相關成本。

關於 `repair-data`腳本

若要恢復對象數據,請運行 `repair-data`腳本。此腳本開始復原物件資料的過程並與 ILM 掃描配合使用以確保滿足 ILM 規則。

選擇下面的*複製資料*或*擦除編碼 (EC) 資料*來了解不同的選項 `repair-data`腳本,取決於您要恢復複製的資料還是擦除編碼的資料。如果需要恢復兩種類型的數據,則必須執行兩組命令。

註 有關 `repair-data`腳本,輸入 `repair-data --help`從主管理節點的命令列。
註 修復資料腳本已棄用,並將在未來版本中刪除。如果可能,請使用"網格管理器中的磁碟區復原流程"
複製數據

根據您是否需要修復整個節點或僅修復節點上的某些卷,有兩個命令可用於恢復複製的資料:

repair-data start-replicated-node-repair

repair-data start-replicated-volume-repair

您可以使用以下命令追蹤複製資料的修復:

repair-data show-replicated-repair-status

清除編碼 (EC) 數據

根據您是否需要修復整個節點或僅修復節點上的某些卷,有兩個命令可用於恢復擦除編碼資料:

repair-data start-ec-node-repair

repair-data start-ec-volume-repair

您可以使用以下命令追蹤擦除編碼資料的修復:

repair-data show-ec-repair-status

註 當某些儲存節點處於離線狀態時,可以開始修復擦除編碼資料。然而,如果無法解釋所有擦除編碼數據,則無法完成修復。所有節點可用後修復將完成。
註 EC修復工作暫時預留了大量儲存空間。儲存警報可能會被觸發,但修復完成後就會解決。如果沒有足夠的儲存空間用於預留,EC 修復作業將會失敗。無論 EC 修復作業失敗或成功,儲存預留都會在作業完成時釋放。

尋找儲存節點的主機名

  1. 登入主管理節點:

    1. 輸入以下命令: ssh admin@primary_Admin_Node_IP

    2. 輸入 `Passwords.txt`文件。

    3. 輸入以下命令切換到root: su -

    4. 輸入 `Passwords.txt`文件。

      當您以 root 身分登入時,提示字元將從 $`到 `#

  2. 使用 /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系統無法找到複製的物件數據,則會觸發「物件遺失」警報。整個系統的儲存節點可能會觸發警報。您應該確定損失的原因以及是否可以恢復。看"調查遺失的物品"
清除編碼 (EC) 數據

如果您的網格包含擦除編碼數據,請使用 `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。例如, `0000`是第一卷, `000F`是第十六卷。您可以指定一個磁碟區、一系列磁碟區或不在一個序列中的多個磁碟區。

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

複製數據

如果您的網格包含複製數據,請使用 `start-replicated-volume-repair`命令 `--nodes`識別節點的選項(其中 `--nodes`是節點的主機名稱)。然後添加 `--volumes`或者 `--volume-range`選項,如以下範例所示。

單一卷:此指令將複製的資料還原到卷 `0002`在名為 SG-DC-SN3 的儲存節點上:

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

卷範圍:此指令將複製的資料還原為範圍內的所有捲 `0003`到 `0009`在名為 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系統無法找到複製的物件數據,則會觸發「物件遺失」警報。整個系統的儲存節點可能會觸發警報。請注意警報描述和建議的操作,以確定遺失的原因以及是否可以恢復。
清除編碼 (EC) 數據

如果您的網格包含擦除編碼數據,請使用 `start-ec-volume-repair`命令 `--nodes`識別節點的選項(其中 `--nodes`是節點的主機名稱)。然後添加 `--volumes`或者 `--volume-range`選項,如以下範例所示。

單一卷:此命令將擦除編碼資料還原到卷 `0007`在名為 SG-DC-SN3 的儲存節點上:

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

磁碟區範圍:此指令將擦除編碼資料還原為範圍內的所有捲 `0004`到 `0006`在名為 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`手術。恢復過程完成後不會回傳任何其他回饋。

註 當某些儲存節點處於離線狀態時,可以開始修復擦除編碼資料。所有節點可用後修復將完成。

顯示器維修

根據您使用*複製資料*、*擦除編碼 (EC) 資料*或兩者來監控修復作業的狀態。

您也可以監控正在進行的磁碟區復原作業的狀態,並查看已完成的復原作業的歷史記錄"網格管理器"

複製數據
  • 若要取得重複修復的估計完成百分比,請新增 `show-replicated-repair-status`修復資料命令的選項。

    repair-data show-replicated-repair-status

  • 要確定修復是否完成:

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

    2. 查看評估部分中的屬性。修復完成後,Awaiting - All 屬性指示 0 個物件。

  • 要更詳細監控修復情況:

    1. 選擇*支援* > 工具 > 網格拓撲

    2. 選擇 grid > Storage Node being repaired > LDR > Data Store

    3. 盡可能結合使用以下屬性來確定複製修復是否完整。

      註 Cassandra 可能存在不一致,並且無法追蹤失敗的修復。
      • 嘗試修復 (XRPA):使用此屬性來追蹤重複修復的進度。每次儲存節點嘗試修復高風險物件時,此屬性都會增加。當此屬性在比當前掃描週期(由*掃描週期-估計*屬性提供)更長的時間內沒有增加時,表示 ILM 掃描未在任何節點上發現需要修復的高風險物件。

        註 高風險物體是指有完全失去風險的物體。這不包括不滿足其 ILM 配置的物件。
      • 掃描週期-估計值(XSCM):使用此屬性估計何時將策略變更套用至先前攝取的物件。如果「嘗試修復」屬性在比目前掃描週期更長的時間內沒有增加,則很可能進行了重複修復。請注意,掃描週期可能會變更。 掃描週期-估計值 (XSCM) 屬性適用於整個網格,並且是所有節點掃描週期的最大值。您可以查詢網格的*掃描週期-估計*屬性歷史記錄來決定適當的時間範圍。

清除編碼 (EC) 數據

要監控擦除編碼資料的修復並重試任何可能失敗的請求:

  1. 確定擦除編碼資料修復的狀態:

    • 選擇 SUPPORT > Tools > Metrics 來查看目前作業的預計完成時間和完成百分比。然後,在 Grafana 部分中選擇 EC Overview。查看*Grid EC 作業預計完成時間*和*Grid EC 作業完成百分比*儀表板。

    • 使用此命令查看特定 `repair-data`手術:

      repair-data show-ec-repair-status --repair-id repair ID

    • 使用此命令列出所有修復:

      repair-data show-ec-repair-status

    輸出列出訊息,包括 repair ID,適用於所有之前和目前正在進行的維修。

  2. 如果輸出顯示修復操作失敗,請使用 `--repair-id`選項來重試修復。

    此指令使用修復 ID 6949309319275667690 重試失敗的節點修復:

    repair-data start-ec-node-repair --repair-id 6949309319275667690

    此指令使用修復 ID 6949309319275667690 重試失敗的磁碟區修復:

    repair-data start-ec-volume-repair --repair-id 6949309319275667690