Puppet 中的文件桶配置

rob*_*byt 11 linux unix puppet

你如何配置和使用你的 Puppet 文件桶?

我想:

  1. 将文件桶数据存储在单个服务器上
  2. 必要时能够审计/解析/修剪文件桶
  3. 确保 filebucket 数据在 client->master 之间安全传输

fre*_*eit 16

好吧,在我所有节点都包含的类中,我有:

filebucket { puppet: server => "puppet.example.edu" }
Run Code Online (Sandbox Code Playgroud)

文件类型中的默认值是备份到名为“puppet”的本地文件桶。通过将“puppet”文件桶更改为服务器文件桶,默认情况下您将获得基于服务器的文件桶。

或者,如果您想保留覆盖一个特定文件以使用本地文件桶的选项,您可以执行以下操作:

filebucket { main: server => "puppet.example.edu"; }
File { backup => main }
Run Code Online (Sandbox Code Playgroud)

有关选项的更多详细信息,请参阅http://docs.puppetlabs.com/references/latest/type.html#filebucket

这完成了第 1 项,因为它告诉所有节点对文件桶使用相同的单个服务器。第 3 项免费提供,因为它仍然通过基于 SSL 的连接和 SSL 证书验证进行。

Filebucket 在恢复的情况下最有用,这很可能是同一天。在这种情况下,查看报告并使用“ filebucket”或“ puppet filebucket”命令根据报告中的 md5sum 检索原始内容。


第 2 项是事情变得棘手的地方......

我用这样的脚本修剪它:

find /var/lib/puppet/clientbucket/ -type f -mtime +45 -atime +45 -delete
Run Code Online (Sandbox Code Playgroud)

这会删除任何超过 45 天且在那段时间内根本没有被访问过的内容。45 天是基于我们的备份和备份保留策略,因为它足够长的备份发生并为我们提供 18 个月的理论上的恢复时间。


你在寻找什么样的解析?服务器上的存储桶设置是由 md5sum 组织的层次结构,在与 md5sum 匹配的目录名称中,有“路径”告诉您哪个文件和“内容”是实际文件。您需要查看报告以了解它来自哪个系统。


我不做任何审计。你在寻找什么样的审计?这可能意味着很多事情。