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

識別並重試失敗的複寫作業

貢獻者

解決 *Cross-Grid 複寫永久性失敗 * 警示之後、您應該判斷是否有任何物件或刪除標記無法複寫到其他網格。接著您可以重新擷取這些物件、或使用 Grid Management API 來重試複寫。

「 *Cross-Grid 複寫永久失敗 * 」警示表示租戶物件無法在兩個網格上的貯體之間複寫、原因是需要使用者介入才能解決。此警示通常是由來源或目的地貯體變更所造成。如需詳細資訊、請參閱 "疑難排解網格同盟錯誤"

判斷是否有任何物件無法複寫

若要判斷是否有任何物件或刪除標記尚未複寫到其他網格、您可以搜尋稽核記錄 "CGRR (跨網格複寫要求)" 訊息。當 StorageGRID 無法將物件、多個零件物件或刪除標記複寫至目的地儲存區時、此訊息會新增至記錄檔。

您可以使用 "稽核說明工具" 將結果轉換成更容易讀取的格式。

開始之前
  • 您擁有root存取權限。

  • 您擁有 Passwords.txt 檔案:

  • 您知道主要管理節點的 IP 位址。

步驟
  1. 登入主要管理節點:

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

    2. 輸入中所列的密碼 Passwords.txt 檔案:

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

    4. 輸入中所列的密碼 Passwords.txt 檔案:

      當您以root登入時、提示會從變更 $#

  2. 在 audit.log 中搜尋 CGRR 訊息、並使用稽核說明工具來格式化結果。

    例如、此命令會在過去 30 分鐘內為所有 CGRR 訊息提供 Greps 、並使用稽核說明工具。

    # awk -vdate=$(date -d "30 minutes ago" '+%Y-%m-%dT%H:%M:%S') '$1$2 >= date { print }' audit.log | grep CGRR | audit-explain

此命令的結果將類似於此範例、其中包含六個 CGRR 訊息的項目。在範例中、所有跨網格複寫要求都會傳回一般錯誤、因為物件無法複寫。前三個錯誤是用於「複寫物件」作業、最後三個錯誤是用於「複寫刪除標記」作業。

CGRR Cross-Grid Replication Request tenant:50736445269627437748 connection:447896B6-6F9C-4FB2-95EA-AEBF93A774E9 operation:"replicate object" bucket:bucket123 object:"audit-0" version:QjRBNDIzODAtNjQ3My0xMUVELTg2QjEtODJBMjAwQkI3NEM4 error:general error
CGRR Cross-Grid Replication Request tenant:50736445269627437748 connection:447896B6-6F9C-4FB2-95EA-AEBF93A774E9 operation:"replicate object" bucket:bucket123 object:"audit-3" version:QjRDOTRCOUMtNjQ3My0xMUVELTkzM0YtOTg1MTAwQkI3NEM4 error:general error
CGRR Cross-Grid Replication Request tenant:50736445269627437748 connection:447896B6-6F9C-4FB2-95EA-AEBF93A774E9 operation:"replicate delete marker" bucket:bucket123 object:"audit-1" version:NUQ0OEYxMDAtNjQ3NC0xMUVELTg2NjMtOTY5NzAwQkI3NEM4 error:general error
CGRR Cross-Grid Replication Request tenant:50736445269627437748 connection:447896B6-6F9C-4FB2-95EA-AEBF93A774E9 operation:"replicate delete marker" bucket:bucket123 object:"audit-5" version:NUQ1ODUwQkUtNjQ3NC0xMUVELTg1NTItRDkwNzAwQkI3NEM4 error:general error

每個項目都包含下列資訊:

欄位 說明

CGRR 跨網格複寫要求

要求的名稱

租戶

租戶的帳戶 ID

連線

網格同盟連線的 ID

營運

嘗試的複寫作業類型:

  • Replicate 物件

  • 複寫刪除標記

  • 複寫多個部分物件

鏟斗

貯體名稱

物件

物件名稱

版本

物件的版本 ID

錯誤

錯誤類型。如果跨網格複寫失敗、則錯誤為「一般錯誤」。

重試失敗的複製

產生物件清單並刪除未複寫至目的地儲存區的標記、並解決基礎問題之後、您可以使用下列兩種方法重試複寫:

  • 將每個物件重新擷取至來源貯體。

  • 如所述、使用 Grid Management 私有 API 。

步驟
  1. 從 Grid Manager 頂端選取說明圖示、然後選取 * API 文件 * 。

  2. 選取 * 前往私有 API 文件 * 。

    註 標示為「私有」的 StorageGRID API 端點如有變更、恕不另行通知。私有端點也會忽略該要求的API版本。StorageGRID
  3. Cross-GRID 複寫 - advanci 區段中、選取下列端點:

    POST /private/cross-grid-replication-retry-failed

  4. 選擇*試用*。

  5. 在 * 本文 * 文字方塊中、將 * 版本 ID* 的範例項目取代為 audit.log 的版本 ID 、該版本 ID 對應於失敗的跨網格複寫要求。

    請務必保留字串周圍的雙引號。

  6. 選擇*執行*。

  7. 確認伺服器回應碼為 204 、表示物件或刪除標記已標記為待定、以便跨網格複寫至其他網格。

    註 擱置表示已將跨網格複寫要求新增至內部佇列以進行處理。

監控複寫重試次數

您應該監控複寫重試作業、以確保其完成。

提示 物件或刪除標記複寫到另一個網格可能需要幾個小時或更久的時間。

您可以使用下列兩種方式來監控重試作業:

  • 使用 S3 "標題物件""GetObject" 申請。回應包括 StorageGRID 專屬 x-ntap-sg-cgr-replication-status 回應標頭會有下列其中一個值:

    網格 複寫狀態

    來源

    • * 成功 * :複寫成功。

    • * 擱置 * :物件尚未複寫。

    • * 失敗 * :複寫失敗且持續失敗。使用者必須解決此錯誤。

    目的地

    • 複本 * :物件已從來源網格複寫。

  • 如所述、使用 Grid Management 私有 API 。

步驟
  1. 在私有 API 文件的 * 跨網格複寫進階 * 區段中、選取下列端點:

    GET /private/cross-grid-replication-object-status/{id}

  2. 選擇*試用*。

  3. 在「參數」區段中、輸入您在中使用的版本 ID cross-grid-replication-retry-failed 申請。

  4. 選擇*執行*。

  5. 確認伺服器回應碼為 200

  6. 檢閱複寫狀態、這將是下列其中一項:

    • * 擱置 * :物件尚未複寫。

    • * 已完成 * :複寫成功。

    • * 失敗 * :複寫失敗且永久失敗。使用者必須解決此錯誤。