Ну, в классе, который включен во все мои узлы, я получил:
filebucket { puppet: server => "puppet.example.edu" }
По умолчанию в поле «Тип файла» выполняется резервное копирование в локальную файловую корзину с именем «puppet». Изменив набор файлов «puppet» на набор файлов сервера, вы по умолчанию получаете файл-пакет сервера.
В качестве альтернативы, если вы хотите сохранить возможность переопределения одного конкретного файла для использования локального filebucket, вы можете сделать:
filebucket { main: server => "puppet.example.edu"; }
File { backup => main }
См. Http://docs.puppetlabs.com/references/latest/type.html#filebucket для получения дополнительной информации о параметрах.
Это завершает пункт № 1, потому что он сообщает узлам, чтобы все использовали один и тот же сервер для файловой корзины. Пункт № 3 предоставляется бесплатно, поскольку он все еще проходит через соединение на основе SSL с проверкой SSL-сертификата.
Filebucket в основном полезен в случае восстановления, которое, вероятно, будет в тот же день. В этом случае посмотрите на отчет и используйте команду « filebucket
» или « puppet filebucket
» для извлечения исходного содержимого на основе суммы md5 в отчете.
Пункт № 2, где все становится сложнее ...
Я сокращаю это с помощью сценария, как это:
find /var/lib/puppet/clientbucket/ -type f -mtime +45 -atime +45 -delete
Это удаляет все, что старше 45 дней, и к которому не было никакого доступа в то время. 45 дней основаны на нашей политике резервного копирования и хранения резервных копий, поскольку этого достаточно для создания резервной копии с длительным сроком хранения и теоретическим временем восстановления 18 месяцев.
Какой разбор вы ищете? Настройка контейнера на сервере представляет собой иерархию, организованную md5sum, и внутри имени каталога, соответствующего md5sum, есть «пути», указывающие, какой файл и «содержимое» является фактическим файлом. Вам нужно просмотреть отчеты, чтобы увидеть, из какой системы это произошло.
Я не делаю одитинга. Какой вид аудита вы ищете? Это может означать много вещей.
Одно из предложений - добавить файлы на сервер контроля версий (svn, git). Я храню все файлы, которые связаны с определенным модулем, в каталоге модулей в папке / files. Когда файл модифицируется, он регистрируется в SVN и передается мастеру с помощью хуков.
Например, у меня есть модуль, который управляет postfix и передает / etc / postfix / virtual файлы клиентам. Эти файлы хранятся в / etc / puppet / modules / postfix / files.
Это дает вам преимущество повторного использования кода, созданного в ваших модулях, а также организации файлов по модулям.
источник