亚马逊AWS官方博客

新增功能-通过Amazon EFS Replication实现数据冗余和故障转移

Amazon EFS 提供了一个简单、无服务器、一劳永逸的 Elastic File System,可与 Amazon Web Services 服务和本地资源配合使用。它为您提供各种存储类以供选择,其中标准存储类会将数据存储在至少三个可用区 (AZ) 内,每个可用区都在亚马逊云科技区域内,且相距数英里,以实现更高的可用性和持久性;单区存储类则将数据存储在单个 AZ,更具成本优势。

Amazon EFS 的设计可实现 99.999999999%(11 个 9)的持久性和最高 99.99%(4 个 9)的可用性。受监管行业的组织通常需要遵守法规要求,按规定将辅助数据副本存储在距离原始数据数百英里的地方。您可以使用 Amazon EFS Replication 在所选区域或可用区中自动维护 Amazon EFS 文件系统的副本,使用 Amazon EFS 控制台、Amazon CLI 和 API 在现有文件系统上启用复制。该功能可以有效提升应用程序的业务连续性,在本地灾备、异地灾备、蓝绿部署以及某些合规性需求场景中形成合理的解决方案。

Amazon EFS 会自动保持源和目标文件系统的同步,并提供分钟级别的RPO和RTO。您可以通过两次点击操作来快速配置复制,极大地降低了配置数据冗余的时间成本。

启用 EFS Replication

在本次示例中我们将配置一个标准类的EFS文件系统复制到另一个区域的单区EFS文件系统。

要配置EFS Replication,请使用 AWS 管理控制台 选择一个已有的文件系统或创建一个新的文件系统。在配置界面中选择“复制”标签,然后点击“创建复制”

根据您的业务需求,可以选择将文件系统复制到相同或不同的亚马逊云科技区域

配置好区域后,选择复制目标文件系统的存储类。请留意目前仅支持复制到一个新的文件系统,无法复制到一个已有的文件系统。

在本示例中我们所有选项配置完成后,点击“创建复制”按钮。

复制的文件系统默认会包含以下属性,如有需要您可以随时通过控制台进行修改:

  • 启用自动备份
  • 启用突发吞吐量模式
  • 未启用智能分层

目标端新的Amazon EFS文件系统将使用与源文件系统一致的性能模式(通用/最大IO),当指定目标文件系统为单区类型时,将使用通用模式。性能模式无法在文件系统创建后进行修改。有关于此的详细信息请参阅官方文档

创建执行成功后,我们可以通过“复制”标签中看到配置的详情。在初始阶段,复制会处于“正在进行初始同步”的状态,并会显示源目文件系统的信息,可以看到目标端文件系统处于只读的状态,这个状态会一直持续直到复制配置被删除,期间目标端文件系统将始终保持为只读状态。

初始同步的时间在绝大多数情况下会在15分钟内完成,当源文件系统中更改操作频繁,总量超过1亿个文件或平均文件大小大于100GB,复制所需时间有可能会超过15分钟。

初始同步完成后,门户中会显示上一次同步的时间,如图所示:

此时通过连接进入目标文件系统配置界面,会显示提示说明文件系统处于只读模式。

至此,我们已经完成通过门户配置EFS复制。当然,您也可以通过命令行进行配置,命令格式如下:

aws efs create-replication-configuration \
--source-file-system-id <fs-xxxxxxxxxxxxx> \
--destinations AvailabilityZoneName=<region_id>

如配置正确下发,会得到如下的响应:

{
    "SourceFileSystemArn": "arn:aws:elasticfilesystem:<region_name>:111122223333:file-system/<fs-xxxxxxxxxxxxx>", 
    "SourceFileSystemRegion": "<region_name>", 
    "Destinations": [
        {
            "Status": "ENABLING", 
            "FileSystemId": "fs-xxxxxxxxxxxxxxxxx", 
            "Region": "<region_name>"
        }
    ], 
    "SourceFileSystemId": "fs-xxxxxxxxxxxxxxxxx",
    "CreationTime": 1641491892.0, 
    "OriginalSourceFileSystemArn": "arn:aws:elasticfilesystem:<region_name>:111122223333:file-system/<fs-xxxxxxxxxxxxxxxxx>"
}

执行故障转移

要在Amazon EFS复制配置中故障切换到目标文件系统,须删除复制配置。删除复制配置后,目标文件系统将变为可写状态,之后您就可以在应用程序工作流中开始使用它。此过程可能需要几分钟的时间才能完成。

故障切换到目标文件系统后,该文件系统可以在新的复制配置中用作源文件系统。但后续不能再将其指定为目标文件系统。复制配置始终为目标创建一个新的EFS文件系统。

在管理门户中选择目标文件系统的“复制”标签,点击“删除复制”按钮:

删除复制配置需要进行二次确认,点击“删除复制”执行。该操作会自动完成,期间会看到复制状态会显示为“正在删除”,操作执行完毕后该文件系统将不会再显示为只读并不再包含复制配置。此时,故障转移操作完成。

Amazon EFS Replication已在由光环新网运营的亚马逊云科技中国(北京)区域和由西云数据运营的亚马逊云科技中国(宁夏)区域推出。您可以参阅EFS文档了解更多信息。

本篇作者

王志达

AWS解决方案架构师,主要负责基础架构如计算、存储的云端设计、改造和优化方案。有多年存储、容器平台和Devops运维经验。