我希望将现有的 EFS 复制到新的 EFS,并将其安装到克隆环境中以进行测试目的,但似乎找不到任何有用的信息。
需要澄清的是 - 我也将复制一个 EC2 实例,并希望创建一个完全独立的环境,以便新的 EFS 实例在某个时间点与源 EFS 相同,但之后不需要保持同步。
有什么想法吗?
以下链接是一个潜在的解决方案,但似乎过于复杂。尽管如此,这可能是最好的/唯一的方法: https://aws.amazon.com/premiumsupport/knowledge-center/efs-file-sync-between-files/
答案1
这似乎太简单了...我不确定我是否完全理解了你的问题。
- 将两个 EFS 文件系统挂载到单个实例(可能是您当前的实例)。
- 使用复制命令将文件复制到新的 EFS 文件系统。
- 断开新文件系统与实例的连接
- 将新的 EFS 文件系统挂载到新实例
更新
以下是一些很有可能奏效的命令。它们来自这一页。
挂载第二个文件系统
sudo mount -t efs -o tls fs-12345678:/ /mnt/efs2
复制文件
sudo cp -r /mnt/efs /mnt/efs2/
答案2
或者,如果您不想在现有服务器上安装新的 EFS,您可以仅将其安装到新服务器上并通过网络复制文件。
[root@old-instance ~] # rsync -PrvaSHz /efs new-instance:/efs
(假设 EFS 卷已安装/efs
在两侧)
希望有帮助:)
答案3
自 2019 年 5 月起,AWS DataSync 现已支持 EFS 到 EFS 传输。引自博客文章:
现在,您可以使用 AWS DataSync 在两个 Amazon Elastic File System (Amazon EFS) 资源之间自动、高效且安全地复制文件,包括不同 AWS 区域中的文件系统和不同 AWS 账户拥有的文件系统。使用 DataSync 在 EFS 文件系统之间复制数据,您可以执行一次性迁移、分布式工作负载的定期提取或自动复制以保护和恢复数据,速度比开源工具快 10 倍。