Cóż, w klasie obejmującej wszystkie moje węzły mam:
filebucket { puppet: server => "puppet.example.edu" }
Domyślnym typem pliku jest tworzenie kopii zapasowej w lokalnym pliku plików o nazwie „marionetka”. Zmieniając „marionetkowy” pojemnik na pliki na serwerowy, otrzymujesz domyślnie serwerowy.
Alternatywnie, jeśli chcesz zachować opcję przesłaniania jednego konkretnego pliku, aby użyć lokalnego zbioru plików, możesz:
filebucket { main: server => "puppet.example.edu"; }
File { backup => main }
Więcej informacji na temat opcji można znaleźć na stronie http://docs.puppetlabs.com/references/latest/type.html#filebucket .
Osiąga to punkt 1, ponieważ każe węzłom używać tego samego pojedynczego serwera dla bufora plików. Pozycja nr 3 jest dostarczana za darmo, ponieważ nadal trwa połączenie oparte na SSL z weryfikacją certyfikatu SSL.
Filebucket jest najbardziej przydatny w przypadku odzyskiwania, które prawdopodobnie nastąpi tego samego dnia. W takim przypadku spójrz na raport i użyj polecenia „ filebucket
” lub „ puppet filebucket
”, aby pobrać oryginalną treść na podstawie md5sum w raporcie.
Punkt 2 jest trudny ...
Przycinam go za pomocą takiego skryptu:
find /var/lib/puppet/clientbucket/ -type f -mtime +45 -atime +45 -delete
To usuwa wszystko, co jest starsze niż 45 dni i w ogóle nie było dostępne. 45 dni opiera się na naszej polityce tworzenia kopii zapasowych i przechowywania kopii zapasowych, ponieważ jest wystarczająco długa, aby wykonać kopię zapasową z długim czasem przechowywania i dać nam teoretyczny 18-miesięczny czas odzyskiwania.
Jakiego rodzaju parsowania szukasz? Konfiguracja segmentu na serwerze jest hierarchią zorganizowaną przez md5sum, a wewnątrz nazwy katalogu pasującej do md5sum znajdują się „ścieżki”, które informują, który plik i „zawartość” jest plikiem rzeczywistym. Musisz spojrzeć na raporty, aby zobaczyć z jakiego systemu pochodzi.
Nie przeprowadzam audytu. Jakiego rodzaju audytu szukasz? To może znaczyć wiele rzeczy.
Jedną z sugestii byłoby dodanie do plików na serwerze kontroli wersji (svn, git). Wszystkie pliki, które korelują z określonym modułem, przechowuję w katalogu modułów w katalogu / files. Po zmodyfikowaniu pliku jest on sprawdzany w SVN i przekazywany do systemu głównego za pomocą haków.
Na przykład mam moduł, który zarządza postfiksem i przekazuje pliki / etc / postfix / virtual do klientów. Pliki są przechowywane w / etc / puppet / modules / postfix / files.
Daje to tę zaletę, że można ponownie wykorzystać kod utworzony w modułach, a także organizować pliki według modułów.
źródło