

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

# 還原快照
<a name="managedomains-snapshot-restore"></a>

還原快照之前，請確定目的地網域未使用[多可用區域與待命](managedomains-multiaz.md#managedomains-za-standby)。啟用待命會導致還原操作失敗。

**警告**  
如果您使用索引別名，您應該停止對別名的寫入請求，或在刪除其索引之前將別名切換到另一個索引。停止寫入請求有助於避免以下情況：  
刪除索引也會刪除它的別名。
錯誤的寫入請求至現已刪除的別名，會使用和別名相同的名稱建立新索引。
因與新索引有命名衝突之故，您不可再使用別名。當您從快照還原，如果您交換別名到另一個索引，此時請指定`"include_aliases": false`。

還原快照

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

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

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

   ```
   curl -XGET 'domain-endpoint/_snapshot/repository-name/_all?pretty'
   ```
**注意**  
大多數自動快照存放在 `cs-automated` 儲存庫中。如果您的網域加密靜態資料，會將它們存放在 `cs-automated-enc` 儲存庫中。如果未看到您尋找的手動快照儲存庫，請確定您[已將它註冊](managedomains-snapshot-registerdirectory.md)到網域。

1. (選用) 如果叢集上的索引與快照中的索引存在命名衝突，可以刪除或重新命名 OpenSearch Service 網域中的一個或多個索引。您無法將索引的快照還原到已經包含具相同名稱之索引的 OpenSearch 叢集。

   如果您有索引命名衝突，則具有下列選項：
   + 刪除現有 OpenSearch Service 網域上的索引，然後還原快照。
   + 在您從快照還原索引時將其重新命名，並為其重新編製索引。若要了解如何重新命名索引，請參閱 OpenSearch 文件中的[此範例請求](https://opensearch.org/docs/latest/api-reference/snapshots/restore-snapshot/#example-request)。
   + 將快照還原到不同 OpenSearch Service 網域 (只能還原手動快照)。

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

   ```
   curl -XDELETE 'domain-endpoint/_all'
   ```

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

   ```
   curl -XDELETE 'domain-endpoint/index-name'
   ```

1. 若要還原快照，請執行以下命令：

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

   由於 OpenSearch Dashboards 的特殊許可和精細存取控制索引，嘗試還原所有索引可能會失敗，尤其是當您嘗試從自動快照還原時。以下範例只從 `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'
   ```
**注意**  
根據您的 OpenSearch 版本，可能還需要排除其他系統索引，例如 `-.opensearch-observability*`和 `-.plugins-ml-config*`。如果這些索引已存在於目標網域上，則還原操作可能會失敗。若要排除它們，請將它們新增至`indices`排除清單。例如：`"indices": "-.kibana*,-.opendistro*,-.opensearch-observability*,-.plugins-ml-config*"`。

   您可以使用 `rename_pattern`和 `rename_replacement` 參數還原快照，而不刪除其資料。如需這些參數的詳細資訊，請參閱 OpenSearch 文件中的還原快照 API [請求欄位](https://opensearch.org/docs/latest/api-reference/snapshots/restore-snapshot/#request-fields)和[範例請求](https://opensearch.org/docs/latest/api-reference/snapshots/restore-snapshot/#example-request)。

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