Uruchom serwer konfiguracji MongoDB bez 3 GB plików dziennika

9

Do produkcji produkcyjnej instalacji MongoDB potrzebujemy 3 serwerów konfiguracji. Zgodnie z dokumentacją „proces mongod serwera konfiguracji jest dość lekki i można go uruchamiać na komputerach wykonujących inne prace”. Jednak w domyślnej konfiguracji wszystkie mają włączone rejestrowanie, a przy wstępnej alokacji zajmuje to 3 GB miejsca na dysku. Zakładam, że rzeczywisty wolumen danych i transakcji serwera konfiguracji jest dość mały, więc wydaje się to trochę za dużo.

Czy jest sposób (bezpiecznie!) Uruchomić te serwery konfiguracji przy znacznie mniejszym użyciu dysku dla dziennika? Czy w ogóle potrzebuję kronikowania na serwerach konfiguracji? Czy mogę ustawić mniejszy rozmiar dziennika?

Thilo
źródło

Odpowiedzi:

10

Tak - istnieje sposób na zminimalizowanie domyślnego rozmiaru plików dziennika, z zastrzeżeniem kilku zastrzeżeń. Z dokumentacji konfiguracji MongoDB :

Aby zmniejszyć wpływ kronikowania na użycie dysku, możesz pozostawić kronikę włączony i ustawić małe pliki na wartość true, aby zmniejszyć rozmiar danych i plików kroniki.

Oto smallfilesinformacje o konfiguracji:

Ustaw na wartość true, aby zmodyfikować MongoDB, aby używał mniejszego domyślnego rozmiaru pliku danych. W szczególności smallfiles zmniejsza początkowy rozmiar plików danych i ogranicza je do 512 megabajtów. Ustawienie małych plików zmniejsza również rozmiar każdego pliku dziennika z 1 gigabajta do 128 megabajtów.

Użyj ustawienia smallfiles, jeśli masz dużą liczbę baz danych, z których każda zawiera niewielką ilość danych. Ustawienie smallfiles może doprowadzić mongod do utworzenia wielu plików, co może wpłynąć na wydajność większych baz danych.

platformy
źródło
0

Możesz niektórzy członkowie replikacji korzystać z kronikowania, a inni nie. [1]

Możesz ustawić mniejszy rozmiar jounrala za pomocą wiersza poleceń „--smallfiles”. [2]

Nican
źródło
I czy cokolwiek z tego jest zalecane?
Thilo,
MongoDB dokonuje wstępnej alokacji z plikami dziennika, aby uniknąć późniejszego marnowania czasu. Jeśli martwisz się więcej miejsca na dysku niż wydajnością, jest to opcja. Polecam pozostawienie księgowania na wszystkich maszynach, nigdy nie wiadomo, kiedy i jak może się zdarzyć awaria. Nigdy nie możesz być zbyt bezpieczny.
Nican
1
To oczywiście dobra wskazówka. Ale pytające umysły chcą wiedzieć, czy serwer konfiguracji ma wolumen transakcji, który wymaga 3 GB dzienników, i czy jest jakaś korzyść z posiadania dzienników w ogóle, poza szybszym uruchomieniem po awarii (zauważ, że przy 3 serwerach konfiguracji nie powinno być może nastąpić jakakolwiek utrata danych, nawet bez kronikowania, prawda?) A o ile szybciej przy niewielkiej ilości danych tylko do konfiguracji. Wydaje mi się, że zasady tutaj powinny być różne dla węzłów repliki i serwerów konfiguracji. Dokumenty mówią, że „powinieneś być w porządku, jeśli możesz odzyskać jeden z nich w ciągu jednego dnia”.
Thilo,
0

Możesz uruchomić mongod z opcją --nojournal, ale byłbym bardzo pewny co do twoich kopii zapasowych serwera konfiguracji.

gWaldo
źródło
1
O ile bardziej muszę być pewny niż trzy serwery konfiguracji na trzech różnych komputerach? Jaka jest również procedura tworzenia kopii zapasowych serwera konfiguracji? Jeśli nie wykonam kopii zapasowej po każdej zmianie (powiedzmy, że kolekcja została dodana lub zdarzenie dzielenia), to nie mogę odzyskać z tych nieaktualnych kopii zapasowych, prawda?
Thilo,