处理大文件的木偶效率如何?举个具体的例子:
假设我们正在以千兆字节的顺序处理配置数据(存储在文件中)。 Puppet需要确保每个代理程序运行时文件都是最新的。
问题 :木偶是否事先执行某种文件摘要操作,或者只是在代理运行期间对每个配置文件进行虚拟复制?
答案 0 :(得分:5)
使用file { 'name': source => <URL> }
时,除非主服务器和代理程序之间存在校验和不匹配,否则不会通过网络发送文件内容。默认校验和类型为md5。
谨防content
的{{1}}属性。它的价值是目录的一部分。请勿通过file
或file()
函数为其分配大文件内容。
所以是的,你可以通过Puppet在技术上管理任意大小的文件。在实践中,我尽量避免使用它,因为所有Puppet文件都应该是template()
repo或类似文件的一部分。不要把你的tarball推到里面。 Puppet可以通过其他方式(包,HTTP,...)部署它们。
答案 1 :(得分:1)
我不完全确定现在puppets文件服务器在最新更新中工作,但在以前的版本中,Puppet将文件读入内存,这就是为什么不建议使用文件服务器传输大于1gb的文件。我建议你仔细阅读这些答案,看看它是否有意义https://serverfault.com/a/398133