konfiguracja filebucket w Puppet

11

W jaki sposób konfigurujesz i współpracujesz ze swoim Filebucket?

Chciałbym:

  1. Przechowuj dane segmentu plików na jednym serwerze
  2. W razie potrzeby można kontrolować / analizować / przycinać segment plików
  3. Upewnij się, że dane FileBucket są bezpiecznie przesyłane między klientem-> głównym
robbyt
źródło

Odpowiedzi:

16

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.

freiheit
źródło
Dzięki, właściwie to jest całkiem pomocne. Nie zdawałem sobie sprawy, że konfiguracja scentralizowanego serwera FileBucket u puppetmaster była taka prosta! Niektóre bilety na prośby o funkcje są otwarte dla lepszych narzędzi do zarządzania FileBucket @puppetlabs. Wygląda na to, że w tej chwili jest trochę niedojrzały. Mój centralny pojemnik na pliki zapełnia się teraz plikami, ale wydaje mi się, że nie mam sposobu, aby ustalić, z którego hosta pochodzą pliki. Twój 1-liniowy materiał jest jednak pomocny.
robbyt
Myślę, że jeśli wiele hostów ma identyczne pliki, wejdzie do bufora plików, zostanie ono zapisane tylko raz, więc związek między plikami w buforze plików i hostach nie jest prosty.
freiheit
0

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.

st3v3o
źródło
2
filebucket! = serwer plików. Popełniłem ten sam błąd, czytając pytanie po raz pierwszy.
Sirex,
tak, mówię o koszyku z marionetkami. System w Puppet, który przenosi zastąpione pliki do obszaru przemieszczania zamiast po prostu je usuwać. linux.die.net/man/8/filebucket
robbyt
Właściwie też tego nie rozumiem. Jeśli masz wszystkie wersje plików konfiguracyjnych w git repo, po co zadzierać z filebucket? Przypadkowo usuwasz coś innego? Usunięcie czegoś innego jest bardzo wyraźne w marionetce. Filebucket IMHO został zaprojektowany dla ludzi bez kontroli wersji.
Art Shayderov
Nie, pakiety plików są przydatne tylko do ręcznego pobierania przypadkowo usuniętych / nadpisanych plików (np. Przeglądasz dziennik sumy md5 i pobierasz plik z tą sumą z segmentu plików), ale gdy transakcje są w pełni obsługiwane, pakiety plików będą używane do cofnij transakcje.
Martijn Heemels,