

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 手动创建快照
<a name="managedomains-snapshot-create"></a>

快照不是即时发生的。它们需要时间才能完成，并且不能代表集群的完美 point-in-time视图。当快照正在进行时，您仍可以对文档编制索引并对集群发出其他请求，但新文档（和对现有文档的更新）通常不包含在快照中。快照包括 OpenSearch 启动快照时存在的主分片。根据快照线程池的大小，快照中可能包含时间略有不同的不同分片。有关快照最佳实践，请参阅 [提高快照性能](bp.md#bp-stability-snapshots)。

**警告**  
手动快照不包括存储在 UltraWarm 或冷存储层中的数据。如果您的域使用 UltraWarm 或冷存储，如果您需要保留这些数据，请在拍摄手动快照之前将这些索引迁移到热存储。

## 快照存储和性能
<a name="managedomains-snapshot-storage"></a>

OpenSearch 快照是增量的，这意味着它们仅存储自上次成功快照以来更改的数据。此增量性质意味着频繁快照与不频繁快照之间的磁盘使用率差异通常极其小。换句话说，一周内每小时快照（总共 168 个快照）占用的磁盘空间比一周结束时的一个快照所占用的磁盘空间并不高多少。此外，拍摄快照的频率越高，完成快照所需的时间就更少。例如，每日快照可能需要 20-30 分钟才能完成，而每小时快照可能在几分钟内即可完成。有些 OpenSearch 用户每半小时拍摄一次快照。

## 拍摄快照
<a name="managedomains-snapshot-take"></a>

创建参数时，您需要指定以下信息：
+ 快照存储库的名称
+ 快照名称

为了方便和简洁起见，本章中的示例使用 [curl](https://curl.haxx.se/)，这是一种常见的 HTTP 客户端。要向 curl 请求传递用户名和密码，请参阅[入门教程](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/gsg.html)。

如果访问策略指定用户或角色，您必须签署快照请求。对于 curl，您可以在 7.75.0 或更高版本中使用 [`--aws-sigv4` 选项](https://curl.se/docs/manpage.html#--aws-sigv4)。您也可以使用[示例 Python 客户端](managedomains-snapshot-registerdirectory.md#managedomains-snapshot-client-python)中的带注释示例将签名 HTTP 请求置于 curl 命令使用的同一端点。

要制作手动快照，请执行以下步骤：

1. 如果当前正在制作快照，则您无法制作快照。要进行检查，请运行以下命令：

   ```
   curl -XGET '{{domain-endpoint}}/_snapshot/_status'
   ```

1. 运行以下命令来手动创建快照：

   ```
   curl -XPUT '{{domain-endpoint}}/_snapshot/{{repository-name}}/{{snapshot-name}}'
   ```

   要包括或排除某些索引并指定其他设置，请添加请求正文。有关请求结构，请参阅 OpenSearch 文档中的[拍摄快照](https://opensearch.org/docs/1.1/opensearch/snapshot-restore/#take-snapshots)。

**注意**  
拍摄快照所需的时间会随着 OpenSearch 服务域的大小而增加。长时间运行的快照操作有时会遇到以下错误：`504 GATEWAY_TIMEOUT`。通常情况下，您可以忽略这些错误并等待操作成功完成。运行以下命令验证您的域中所有快照的状态：  

```
curl -XGET '{{domain-endpoint}}/_snapshot/{{repository-name}}/_all?pretty'
```