使用Ansible Synchronize vs Copy模块有什么优缺点。据我所知,synchronize具有复制所具有的所有功能但可能更快,因此我正在考虑更改所有内容以使用同步。同步的唯一缺点是需要rsync,这在Linux环境中似乎无处不在。
答案 0 :(得分:6)
差异与传统rsync
vs scp
非常相似。 Rsync具有更多功能并且通常更快,但设置起来有点棘手,并且有更多旋钮可以转动。
此外,https://docs.ansible.com/ansible/copy_module.html声明:
“复制”模块递归复制工具不会扩展到批量(>数百)文件。有关替代方法,请参阅synchronize模块,它是rsync的包装。
答案 1 :(得分:1)
对我们来说,有一个很大的不同之处在于:synchronize
不会重复使用来自ansible的ssh
会话。使用负载平衡器时,这使我们很头疼,无法找到根本原因:
ansible
将开始到负载均衡器的ssh会话,并最终到达machine1 synchronize
任务在后台使用rsync
,这将启动一个新的ssh
会话,并可能最终(随机)连接到machine2 synchronize
中存在的文件时,它们将失败,因为这些文件存在于另一台计算机上。答案 2 :(得分:0)
使用ansible 2.4.2.0,这完美无瑕。我可能不应该使用CentOS回购中的ansible。离曲线太远,没有进攻CentOS。
-h
答案 3 :(得分:0)
截至最新的Ansible(v2.8),synchronize
仍为in “preview” status:
不保证此模块具有向后兼容的接口。 [预览]
当我不需要copy
的性能和功能时,我会使用synchronize
。