将多台机器的远程文件夹同步到一个AWS实例



我有3个AWS p实例处理一些繁重的工作并将结果保存到相关的/home/user/folder
此外,我有一个主服务器,该服务器具有相同的文件夹,我希望在其中收集来自这3个实例的结果
每个实例在整个任务的自己部分上工作,它们的结果在子文件夹中不重叠

实例每个有2 TB,所以我希望每个实例一出现就得到结果
这样,当它的工作完成时,我就不会花半天时间将结果复制到主服务器

我认为解决这个问题的一种方法是在每个实例上运行这样的东西:

*/30 * * * * rsync /home/user/folder ubuntu@1.1.1.1:/home/user/folder

考虑到所有实例都是AWS,是否还有其他更聪明的方法可以实现相同的结果
我还考虑过(1(可拆卸存储和(2(在S3上存储,但作为AWS的新手,我可能会忽略此类工作流程中的一些隐藏陷阱,尤其是在涉及到TB数据和昂贵实例时。

如何从远程实例收集已处理的数据?

我会考虑使用rclone工具,它可以很容易地为共享S3存储桶配置。只需注意复制/同步模式。根据您的实例类型,它可以提供高达几GB的吞吐量。

项目链接:rclone.org

我对OP和评论中提到的一些选项的看法,以及我想到的其他一些选项:

  1. EFS:创建一个EFS并将其作为NFS驱动器装载到所有实例上。这是最简单的,但可能成本最高
  2. s3fs:让所有实例使用s3fs装载同一个S3存储桶。这可能是最便宜的解决方案。您也不必担心磁盘空间不足。缺点是,与挂载的NFS驱动器相比,性能不会那么好
  3. EBS卷:将一个EBS卷连接到每个工作实例,以便它们将结果写入其中。完成后,分离卷并将其连接到主服务器。这将是最快的,而且仍然比EFS便宜。如果你不能或不会手动完成所有的分离/附加,你需要写一些脚本
  4. 老式NFS共享:没有任何花哨的AWS首字母缩写的普通NFS设置没有错。:-(

相关内容

最新更新