Z koniecznością utworzenia kopii zapasowej 10 TB staje się to nieco skomplikowane.
Repliki nie zastępują prawidłowych kopii zapasowych
Chociaż członkowie opóźnionego zestawu replik mogą zapewnić stosunkowo łatwy sposób pomocy w przypadkowych operacjach, nie ma możliwości zastąpienia prawidłowych kopii zapasowych, podobnie jak RAID nie zastępuje kopii zapasowych opartych na systemie plików.
Rekomendacje
To w dużej mierze zależy od tego, jak wygląda twoja konfiguracja.
Migawki SAN
W przypadku 10 TB zakładam, że masz podłączoną sieć SAN. Najprostszym sposobem wykonania kopii zapasowej MongoDB w tych środowiskach jest upewnienie się, że masz włączone księgowanie zarówno w systemie plików, jak i MongoDB, i po prostu zrób migawkę woluminu SAN jednego z pomocniczych, prawdopodobnie ukrytego, aby upewnić się, że twoje operacje nie nie przeszkadzają. Zwykle zajmuje to kilka sekund, ale proszę _ upewnić się, że okno oplogowania replikacji jest wystarczające. W przeciwnym razie może być konieczne ponowne zsynchronizowanie pomocniczej.
Nie używaj mongodump
Muszę się nie zgodzić z RolandoMySQLDBA na temat korzystania z mongodump. Przede wszystkim nakłada blokady na serwer. Chociaż są one podnoszone stosunkowo szybko, sama liczba blokad może sumować się i zakłócać twoje operacje, chyba że uruchomiona na ukrytym węźle lub gdy nie ma preferencji odczytu uderzającej w pomocnicze. Co więcej, nie jest to dokładnie szybkie. Spodziewałbym się, że będzie działać co najmniej przez wiele godzin, najprawdopodobniej dłużej niż okno zapasowe. Uwaga dodatkowa: Zawsze uruchamiaj mongodump z --oplog
opcją. Należy również pamiętać, że mongodump nie tworzy kopii zapasowych indeksów, ale operacje tworzenia indeksów. Wskaźniki te należy odtworzyć podczas przywracania, co może znacznie wydłużyć czas potrzebny na jego przywrócenie. Z mojego doświadczenia wynika, że jeśli musisz przywrócić bazę danych, chcesz mieć ją tak szybko, jak to możliwe. Kolejna kwestia, dlaczego mongodump nie nadaje się do tworzenia kopii zapasowych 10 TB.
Uwagi na temat migawek LVM
Możesz wykonać migawkę LVM na działającej instancji mongod, pod warunkiem, że masz włączone rejestrowanie w mongod (i z mojego doświadczenia, nie ma nic złego w włączeniu go również na poziomie FS). Jednak migawki LVM mają pewne implikacje. Po pierwsze, oczywiście musisz mieć wystarczającą ilość miejsca na dysku, aby dokonać zmian podczas operacji tworzenia kopii zapasowej. Pozwól mi to wyjaśnić.
Załóżmy, że masz godzinną szybkość zmiany 500 GB. I że chcesz, aby twoja kopia zapasowa została skopiowana przed przesłaniem jej do pamięci. Nawet przy użyciu równoległego bzip2 kompresja 10 TB może zająć kilka godzin, po prostu dlatego, że najprawdopodobniej przepustowość pamięci masowej stanie się czynnikiem ograniczającym. Załóżmy, że skompresowanie danych do 2 TB zajęłoby 2 godziny. Do tego czasu potrzebowalibyśmy około 2 TB + 2 * 500 GB wolnego miejsca na dysku, 1 TB potrzebny na migawkę LVM. Powoduje to konieczność nadmiarowego udostępniania systemu plików przynajmniej30% Jeśli chcesz mieć odpowiedni margines bezpieczeństwa, może to łatwo wzrosnąć do 60-70% (20% dla współczynnika wykorzystania wynoszącego 0,8 dla oryginalnego systemu plików, to samo dla rozmiaru migawki plus miejsca potrzebnego na samą kopię zapasową. ). W większości środowisk produkcyjnych byłoby to niedopuszczalne, ponieważ nadmierne udostępnianie byłoby statyczne (nie chciałbyś, aby skrypt zapasowy dynamicznie współgrał z LVM?).
Kopia zapasowa MMS
Chociaż tworzenie kopii zapasowych MMS ma kilka niesamowitych funkcji (ciągłe tworzenie kopii zapasowych, łatwe odzyskiwanie w odpowiednim momencie), ma jednak pewną poważną wadę: jego cena za duże wdrożenia może być z łatwością w tysiącach. Przy założonej godzinnej szybkości zmiany 500 GB na tych 10 TB, byłaby to średnia sześciocyfrowa suma dla kopii zapasowych w chmurze . Miesięczny.
Sugeruję, aby wziął abonament korporacyjny na twoje serwery za uprawnienie do posiadania lokalnego wystąpienia MMS, w tym kopii zapasowej.
streszczenie
Oto opcje, które wybrałbym w malejącej kolejności preferencji.
- Migawki SAN: łatwe do wdrożenia, stosunkowo tanie
- Subskrypcja dla przedsiębiorstw: najlepsze funkcje. Zainstaluj, skonfiguruj, zapomnij, jest tam, kiedy jej potrzebujesz
- Migawki LVM: łatwe do wdrożenia, ale koszty niezbędnych nadwyżek mogą się z czasem sumować.