還原快照 - Amazon OpenSearch Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

還原快照

還原快照之前,請確定目的地網域不會將多可用區與待命 搭配使用。啟用待命會導致還原操作失敗。

警告

如果您使用索引別名,您應該停止對別名的寫入請求,或在刪除其索引之前將別名切換至另一個索引。停止寫入請求有助於避免以下情況:

  1. 刪除索引也會刪除它的別名。

  2. 錯誤的寫入請求至現已刪除的別名,會使用和別名相同的名稱建立新索引。

  3. 因與新索引有命名衝突之故,您不可再使用別名。當您從快照還原,如果您交換別名到另一個索引,此時請指定"include_aliases": false

還原快照

  1. 找到您要還原的快照。請確定此索引的所有設定,例如自訂分析器套件或配置需求設定,都與網域相容。若要查看所有快照儲存庫,請執行下列命令:

    curl -XGET 'domain-endpoint/_snapshot?pretty'

    在識別儲存庫後,請執行下列命令以查看所有快照:

    curl -XGET 'domain-endpoint/_snapshot/repository-name/_all?pretty'
    注意

    大多數自動快照存放在 cs-automated 儲存庫中。如果您的網域加密靜態資料,會將它們存放在 cs-automated-enc 儲存庫中。如果未看到您尋找的手動快照儲存庫,請確定您已將它註冊到網域。

  2. (選用) 如果您命名叢集上的索引與快照中的索引之間的衝突,請刪除或重新命名 OpenSearch 服務網域中的一或多個索引。您無法將索引的快照還原至已包含相同名稱索引的 OpenSearch 叢集。

    如果您有索引命名衝突,則具有下列選項:

    • 刪除現有 OpenSearch 服務網域上的索引,然後還原快照。

    • 在您從快照還原索引時將其重新命名,並為其重新編製索引。若要了解如何重新命名索引,請參閱 OpenSearch 文件中的此範例請求

    • 將快照還原至不同的 OpenSearch 服務網域 (僅適用於手動快照)。

    下列命令會刪除網域中的所有現有索引:

    curl -XDELETE 'domain-endpoint/_all'

    但是,如果您不打算還原所有索引,則只可以刪除一個索引:

    curl -XDELETE 'domain-endpoint/index-name'
  3. 若要還原快照,請執行以下命令:

    curl -XPOST 'domain-endpoint/_snapshot/repository-name/snapshot-name/_restore'

    由於 OpenSearch 儀表板和精細存取控制索引的特殊許可,嘗試還原所有索引可能會失敗,特別是當您嘗試從自動快照還原時。以下範例只從 my-index 快照儲存庫中的 2020-snapshot 還原一個索引 cs-automated

    curl -XPOST 'domain-endpoint/_snapshot/cs-automated/2020-snapshot/_restore' \ -d '{"indices": "my-index"}' \ -H 'Content-Type: application/json'

    或者,您可能想要還原所有索引,Dashboards 和精細存取控制索引除外

    curl -XPOST 'domain-endpoint/_snapshot/cs-automated/2020-snapshot/_restore' \ -d '{"indices": "-.kibana*,-.opendistro*"}' \ -H 'Content-Type: application/json'

    您可以使用 rename_patternrename_replacement 參數還原快照,而不刪除其資料。如需這些參數的詳細資訊,請參閱 OpenSearch 文件中的還原快照API請求欄位範例請求

注意

如果不是所有涉及的索引都有主要碎片,快照可能一個 statePARTIAL。此值表示至少一個碎片的資料未成功儲存。您仍然可以從部分快照還原,但您可能需要使用舊版的快照來還原任何遺失的索引。