使用配置管理工具同步大文件

使用配置管理工具同步大文件

我们正在研究使用配置管理工具(如 Salt 或 Puppet)来自动化目前大量的手动工作。一个要求是我们必须将相当大的文件/目录分发到我们的服务器(总共约 400gb)。将来,我们计划至少每月更新一次这些文件,也许每周更新一次,因此如果该过程可以完全自动化就太好了。

在网上搜索后发现,通常的 CM 工具似乎不适合处理大文件。您知道有什么 CM 工具擅长这项任务吗?如果没有,还有哪些常见的解决方案可以解决该问题?

谢谢!

编辑,澄清:

我们还想将 CM 工具用于许多其他用途,而不仅仅是复制文件。因此,我正在寻找一种可以很好地处理这两项任务的工具。

答案1

配置管理工具不适合执行此类任务。

虽然该领域中的所有/大多数工具都能够管理文件同步,但为此而实施配置管理工具并不值得。一般来说,使用配置管理工具是个好主意,但对于文件同步来说并非必要。

例如Ansible 的同步模块它只是一个包装器rsync。我会使用一个小的 bash 脚本来rsync完成这样的任务。

答案2

您可以使用 CM 工具来存储配置指令并单独存储数据。指令将从其他地方获取数据文件,然后进行部署和配置。数据可以存储在文件系统上,也可以使用工件存储库管理器进行管理,例如Nexus OSS或者工艺品

大多数版本控制工具(VCS,例如 git)不能很好地处理二进制工件。它们无法有效地计算可用的增量,最终会存储二进制文件的整个副本,即使是微小的更改(例如 war 文件的 MANIFEST.MF 中的时间戳)。如果相同的副本存储在文件系统的多个位置,它们可能会进行重复数据删除。需要对二进制文件的内部结构有更多了解才能做得更好。

相关内容