Назад | Перейти на главную страницу

конфигурация файловой корзины в Puppet

Как вы настраиваете и работаете с вашей файловой корзиной Puppet?

Я бы хотел:

  1. Хранить данные файловых корзин на одном сервере
  2. Уметь при необходимости проверять / анализировать / сокращать файловую корзину
  3. Убедитесь, что данные файловой корзины надежно передаются между клиентом -> мастером.

Что ж, в классе, который включен всеми моими узлами, у меня есть:

filebucket { puppet: server => "puppet.example.edu" }

По умолчанию в типе файла выполняется резервное копирование в локальную файловую корзину с именем «марионетка». Изменяя «марионеточную» файловую корзину на серверную файловую корзину, вы по умолчанию получаете серверную файловую корзину.

В качестве альтернативы, если вы хотите сохранить возможность переопределения одного конкретного файла для использования локального файлового пакета, вы можете сделать:

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"команда для получения исходного содержимого на основе md5sum в отчете.


Пункт №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.

Это дает вам преимущество повторного использования кода, созданного в ваших модулях, а также организации файлов по модулям.