

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

# 还原 Amazon EFS 文件系统
<a name="restoring-efs"></a>

如果要还原 Amazon Elastic File System (Amazon EFS) 实例，您可以执行完整还原或项目级还原。

**完整还原**

在执行完整还原时，整个文件系统都将被还原。

AWS Backup 不支持使用 Amazon EFS 进行破坏性恢复。破坏性还原是指还原的文件系统会删除或覆盖源文件系统或现有文件系统。相反， AWS Backup 将文件系统还原到根目录中的恢复目录。

**项目级还原**

执行项目级还原时， AWS Backup 还原特定的文件或目录。必须指定相对于文件系统根目录的路径。例如，如果文件系统挂载到 `/user/home/myname/efs` 并且文件路径为 `user/home/myname/efs/file1`，则输入 **/file1**。路径区分大小写。不支持通配符和正则表达式字符串。如果使用接入点挂载文件系统，则您的路径可能与主机中的路径不同。

使用控制台执行 EFS 还原时，最多可以选择 10 个项目。使用 CLI 进行还原时没有项目数限制；但是，可以传递的还原元数据长度有 200 KB 的限制。

可以将这些项目还原到新的或现有的文件系统。无论哪种方式， AWS Backup 都会从根目录创建一个新的 Amazon EFS 目录 (`aws-backup-restore_datetime`) 来包含这些项目。指定项目的完整层次结构将保留在恢复目录中。例如，如果目录 A 包含子目录 B、C 和 D，则在恢复 A、B、C 和 D 时， AWS Backup 会保留分层结构。无论是执行到现有文件系统还是新文件系统的 Amazon EFS 项目级还原，每次还原尝试都会从根目录创建一个新的恢复目录来包含已还原的文件。如果尝试对同一路径进行多次还原，则可能存在多个包含已还原项目的目录。

**注意**  
 如果只保留一个每周备份，则只能还原到执行该备份时的文件系统状态。您无法还原到以前的增量备份。

## 使用 AWS Backup 控制台恢复 Amazon EFS 恢复点
<a name="efs-restore-console"></a>

**还原 Amazon EFS 文件系统**

1. 在 [https://console.aws.amazon.com/backup](https://console.aws.amazon.com/backup) 上打开 AWS Backup 控制台。

1. 您的 EFS 备份保管库在创建后会收到访问策略 `Deny` `backup:StartRestoreJob`。如果是第一次还原备份保管库，则必须按以下步骤更改访问策略。

   1. 选择**备份保管库**。

   1. 选择包含要还原的恢复点的备份保管库。

   1. 向下滚动到保管库**访问策略**。

   1. 如果存在，请从 `Statement` 中删除 `backup:StartRestoreJob`。为此，请选择**编辑**、删除 `backup:StartRestoreJob`，然后选择**保存策略**。

1. 在导航窗格中，选择**受保护的资源**和要还原的 EFS 文件系统 ID。

1. 在**资源详细信息**页面上，将显示所选文件系统 ID 的恢复点列表。要还原文件系统，请在**备份**窗格中，选择文件系统的恢复点 ID 旁边的单选按钮。在窗格的右上角，选择**还原**。

1. 指定文件系统的还原参数。您输入的还原参数将特定于所选的资源类型。

   您可以执行**完整还原**，这会还原整个文件系统。或者，您可以使用**项目级还原**来还原特定的文件和目录。
   + 选择**完整还原**选项可还原整个文件系统，包括所有根级别的文件夹和文件。
   + 选择**项目级还原**选项可还原特定的文件或目录。您最多可以选择并还原 Amazon EFS 中的五个项目。

     要还原特定文件或目录，您必须指定与挂载点相关的相对路径。例如，如果文件系统挂载到 `/user/home/myname/efs` 并且文件路径为 `user/home/myname/efs/file1`，则输入 **/file1**。路径区分大小写，不能包含特殊字符、通配符和正则表达式字符串。

     1. 在**项目路径**文本框中，输入文件或文件夹的路径。

     1. 选择**添加项目**以添加其他文件或目录。您可以在 EFS 文件系统中选择并还原最多 5 个项目。

1. 对于**还原位置**
   + 如果要还原到源文件系统，请选择**还原到源文件系统中的目录**。
   + 如果要还原到其他文件系统，请选择**还原到新文件系统**。

1. 对于**文件系统类型**
   + **（推荐）如果要跨多个 AWS 可用区恢复文件系统，请选择 “区域”。**
   + 如果要将文件系统还原到单个可用区，请选择**单区**。然后，在**可用区**下拉列表中，选择还原的目的地。

   有关更多信息，请参阅《Amazon EFS 用户指南》**中的[管理 Amazon EFS 存储类](https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html)。

1. 对于**性能**
   + 如果您选择执行**区域**还原，请选择**（推荐）通用型**或**最大 I/O**。
   + 如果您选择执行**单区**还原，则必须选择**（推荐）通用型**。单区还原不支持**最大 I/O**。

1. 对于**启用加密**
   + 如果要对文件系统进行加密，请选择**启用加密**。使用 AWS Key Management Service (AWS KMS) 控制台创建 KMS 密钥 IDs 和别名后，它们会出现在列表中。
   + 在 **KMS 密钥**文本框中，从列表中选择要使用的密钥。

1. 对于**还原角色**，请选择 AWS Backup 将担任此还原的 IAM 角色。
**注意**  
如果您的账户中没有 AWS Backup 默认角色，则会为您创建一个具有正确权限的**默认角色**。您可以删除此默认角色或使其无法使用。

1. 选择**还原备份**。

   这将显示**还原作业**窗格。页面顶部的消息提供了有关还原作业的信息。
**注意**  
 如果只保留一个每周备份，则只能还原到执行该备份时的文件系统状态。您无法还原到以前的增量备份。

## 使用 AWS Backup API、CLI 或软件开发工具包恢复 Amazon EFS 恢复点
<a name="efs-restore-cli"></a>

使用 `[StartRestoreJob](https://docs.aws.amazon.com/aws-backup/latest/devguide/API_StartRestoreJob.html)`。在还原 Amazon EFS 实例时，您可以还原整个文件系统或特定的文件或目录。要还原 Amazon EFS 资源，您需要以下信息：
+ `file-system-id`— 由备份的 Amazon EFS 文件系统的 ID AWS Backup。在 `GetRecoveryPointRestoreMetadata` 中返回。还原**新**文件系统时不需要该值（如果参数 `newFileSystem` 为 `True`，则忽略该值）。
+ `Encrypted` - 一个布尔值，如果设为 true，则指定文件系统已加密。如果指定了 `KmsKeyId`，`Encrypted` 必须设置为 `true`。
+ `KmsKeyId`— 指定用于加密已恢复文件系统的密 AWS KMS 钥。
+ `PerformanceMode` - 指定文件系统的吞吐量模式。有效值为 `generalPurpose`（默认值）和 `maxIO`。`generalPurpose` 模式提供最低的每次操作延迟，并且每秒最多可实现 7000 次文件操作。`maxIO` 可扩展到更高级别的聚合吞吐量和每秒操作数，但文件操作延迟稍高。
+ `CreationToken` - 用户提供的值，确保请求的唯一性（幂等性）。
+ `newFileSystem` - 一个布尔值，如果设为 true，则指定恢复点将还原到新的 Amazon EFS 文件系统。
+ `ItemsToRestore ` - 最多包含五个字符串的一个数组，其中每个字符串均为一个文件路径。使用 `ItemsToRestore` 可还原特定文件或目录而不是整个文件系统。此参数为可选的。

您也可以添加 `aws:backup:request-id`。

可以通过包含以下参数来执行“单区”还原：

```
"singleAzFilesystem": "true" 
"availabilityZoneName": "ap-northeast-3"
```

有关 Amazon EFS 配置值的更多信息，请参阅[create-file-system](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/efs/create-file-system.html)。

## 在 Amazon EFS 中禁用自动备份
<a name="efs-backup-disable"></a>

默认情况下，[Amazon EFS 自动创建数据备份](https://docs.aws.amazon.com/efs/latest/ug/awsbackup.html#automatic-backups)。这些备份在中表示为恢复点 AWS Backup。尝试删除恢复点将导致出现错误消息，指出没有足够的权限来执行该操作。

最佳实践是保持此自动备份处于活动状态。特别是在意外删除数据的情况下，此备份允许将文件系统内容还原到上次创建恢复点的日期。

万一您希望将其关闭，则必须将访问策略从 `"Effect": "Deny"` 更改为 `"Effect": "Allow"`。有关开启或关闭[自动备份](https://docs.aws.amazon.com/efs/latest/ug/awsbackup.html#automatic-backups)的更多信息，请参阅《Amazon EFS 用户指南》**。