MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

ClusterControl — zaawansowane zarządzanie kopiami zapasowymi — MongoDB

Odzyskiwanie po awarii nie zakończy się bez odpowiedniego systemu tworzenia kopii zapasowych. Gdy dzieje się coś złego, dane można przywrócić, korzystając z kopii zapasowej, najlepiej z najnowszą. Możemy chcieć uniknąć przywracania danych, które nie są aktualizowane. Prawdopodobnie w starej kopii zapasowej brakuje niektórych informacji. To jest powód, dla którego dobra praktyka tworzenia kopii zapasowych jest obecnie kluczowa dla większości systemów.

MongoDB z roku na rok staje się coraz bardziej popularne. Wiele firm zaczęło używać MongoDB jako jednej ze swoich baz danych. Jedną z cech i prawdopodobnie powodem, dla którego MongoDB jest popularny, jest jego szybkość, a MongoDB jest łatwy do skalowania. MongoDB to jedna z obsługiwanych baz danych w ClusterControl. Możesz wdrażać, importować, skalować, a nawet wykonywać kopie zapasowe za pomocą ClusterControl. W tym poście na blogu omówimy funkcję Zaawansowanej kopii zapasowej dla zestawu replik MongoDB i klastra podzielonego na fragmenty.

Typy kopii zapasowych MongoDB

MongoDB obsługuje zarówno logiczne, jak i fizyczne tworzenie kopii zapasowych. Oprócz tego MongoDB obsługuje również odzyskiwanie punktu w czasie (PITR). Zobaczmy, jaka jest różnica między wszystkimi 3 typami kopii zapasowych.

Logiczna kopia zapasowa

mongodump

To narzędzie stworzy binarny eksport zawartości bazy danych. Co więcej, mongodump może eksportować dane z instancji mongod lub mongos, może eksportować dane z wdrożeń autonomicznych, zestawu replik i wdrożeń klastrów podzielonych na fragmenty

Fizyczna kopia zapasowa

Nie dotyczy

Fizyczne kopie zapasowe w MongoDB można było wykonać tylko na poziomie systemu. Obecnie w ClusterControl nie ma fizycznej kopii zapasowej. Sposób, w jaki działa fizyczna kopia zapasowa, polega na tworzeniu migawki na LVM lub urządzeniu pamięci masowej.

PITR

Kopia zapasowa Percona dla MongoDB

Percona Backup for MongoDB odziedziczony i zastępuje mongodb_consistent_backup, który jest już przestarzały. Jest to rozproszone rozwiązanie o niewielkim wpływie na tworzenie spójnych kopii zapasowych zarówno dla klastrów shardowanych MongoDB, jak i zestawów replik. Ten rodzaj kopii zapasowej jest logiczny, ale jednocześnie może działać jako kopia zapasowa PITR.

Teraz wiemy, jaka jest różnica między typem kopii zapasowej.

Zarządzanie kopiami zapasowymi MongoDB

ClusterControl umożliwia tworzenie kopii zapasowej w czasie rzeczywistym oraz planowanie jej według żądanego harmonogramu. Warto wspomnieć o jednej rzeczy, jeśli chcesz zaplanować, ClusterControl użyje strefy czasowej UTC. Musisz więc wybrać odpowiedni czas, który pasuje do Twojej strefy czasowej, aby harmonogram działał w mniej zajętym czasie.

Chodźmy dalej i spróbujmy użyć funkcji kopii zapasowej w ClusterControl. Oprócz tego przyjrzymy się również jednej z zaawansowanych funkcji, jaką jest przesyłanie kopii zapasowej do chmury. Począwszy od ClusterControl 1.9.0, MongoDB obsługuje przesyłanie do chmury, co pozwala przesłać kopię zapasową do preferowanego dostawcy pamięci w chmurze.

Logiczna kopia zapasowa MongoDB

Zacznijmy od logicznej kopii zapasowej. Zanim funkcja prześle kopię zapasową do chmury, należy ją zintegrować z preferowanym dostawcą chmury. W naszym przypadku zintegrujemy go z chmurą AWS. Aby przeprowadzić pełną integrację z AWS, możesz wykonać następujące kroki:

  • Użyj adresu e-mail i hasła konta AWS, aby zalogować się do konsoli zarządzania AWS jako użytkownik root konta AWS .

  • Na stronie IAM Dashboard wybierz nazwę swojego konta na pasku nawigacyjnym, a następnie wybierz Moje poświadczenia zabezpieczeń.

  • Jeśli zobaczysz ostrzeżenie dotyczące dostępu do danych uwierzytelniających dla Twojego konta AWS, wybierz Kontynuuj do danych uwierzytelniających.

  • Rozwiń sekcję Klucze dostępu (identyfikator klucza dostępu i tajny klucz dostępu).

  • Wybierz Utwórz nowy klucz dostępu. Następnie wybierz Pobierz plik klucza, aby zapisać identyfikator klucza dostępu i tajny klucz dostępu do pliku na swoim komputerze. Po zamknięciu okna dialogowego nie możesz ponownie odzyskać tego tajnego klucza dostępu.

Zakładając, że masz już gotowy klaster MongoDB, rozpoczniemy proces tworzenia kopii zapasowej. Najpierw przejdź do klastra MongoDB -> Kopia zapasowa -> Utwórz kopię zapasową

Na następnej stronie możesz określić, czy chcesz włączyć szyfrowanie, czy nie. Do szyfrowania ClusterControl użyje OpenSSL do zaszyfrowania kopii zapasowej za pomocą algorytmu AES-256 CBC. Szyfrowanie odbywa się w węźle zapasowym. Jeśli zdecydujesz się przechowywać kopię zapasową w węźle kontrolera, pliki kopii zapasowej są przesyłane strumieniowo w zaszyfrowanym formacie przez socat lub netcat. Szyfrowanie jest uważane za jedną z zaawansowanych funkcji tworzenia kopii zapasowych, które można wykorzystać, dlatego w naszym przypadku włączymy tę opcję. Na tej stronie możesz również zdefiniować okres przechowywania kopii zapasowej. W naszym przypadku użyjemy domyślnego ustawienia 31 dni.

Na trzeciej stronie musisz podać login dostawcy chmury , wybierz/utwórz zasobnik. Możesz również określić przechowywanie kopii zapasowej w chmurze, domyślne ustawienie to 180 dni.

Po kliknięciu przycisku Utwórz kopię zapasową zadanie zostanie natychmiast uruchomione i zajmie to trochę czasu w zależności od rozmiaru bazy danych. W tym samym czasie kopia zapasowa zostanie przesłana do magazynu w chmurze (AWS). Możesz zauważyć, że ikony „klucza” i „chmury” są podświetlone po zakończeniu tworzenia kopii zapasowej w następujący sposób:

Teraz, gdy masz już gotową kopię zapasową, aby przywrócić kopię zapasową, wykonaj bardzo prosta. Wszystko, co musisz zrobić, to kliknąć link „Przywróć” i kliknąć przycisk „Zakończ” na stronie przywracania, jak poniżej:

Kopia zapasowa MongoDB PITR

Jak wspomniano wcześniej, Percona Backup for MongoDB to typ kopii zapasowej PITR. Zanim będzie można użyć tego typu kopii zapasowej, należy zainstalować agenta (agent-pbm) na wszystkich węzłach/instancjach MongoDB. Wcześniej musisz również zamontować współdzielony katalog na wszystkich węzłach. Zaczynajmy!

Najpierw musisz skonfigurować serwer NFS. Aby zainstalować serwer NFS, musisz wybrać lub wdrożyć dowolną maszynę wirtualną, w naszym przypadku zainstalujemy serwer NFS w węźle ClusterControl (Centos):

[przykł[email protected] ~]# dnf zainstaluj nfs-utils

Po zainstalowaniu narzędzia NFS możesz uruchomić usługę i włączyć ją podczas uruchamiania systemu:

[przykł[email protected] ~]# # systemctl start nfs-server.service

[przykł[email protected] ~]# # systemctl włącz nfs-server.service

[przykł[email protected] ~]# # status systemctl nfs-server.service

Następnym krokiem jest skonfigurowanie pliku /etc/exports tak, aby katalog był dostępny dla klientów NFS:

[przykł[email protected] ~]# vi /etc/eksporty

/mnt/backups                    10.10.80.10(rw,sync,no_root_squash,no_subtree_check)

W węźle klientów, który jest naszymi węzłami bazy danych, musimy również zainstalować niezbędne pakiety NFS:

[przykł[email protected] ~]# dnf zainstaluj nfs-utils nfs4-acl-tools

Po zainstalowaniu pakietów możemy utworzyć katalog i zamontować go:

[przykł[email protected] ~]# mkdir -p /mnt/kopie zapasowe

[przykł[email protected] ~]# mount -t nfs 10.10.80.10:/mnt/backups /mnt/backups

Upewnij się, że zamontowałeś wszystkie węzły bazy danych, abyśmy mogli zainstalować agenta pbm. Biorąc pod uwagę, że wszystkie węzły mają już zamontowany katalog NFS, teraz przystąpimy do instalacji agenta. Przejdź do klastra MongoDB -> Kopia zapasowa -> Ustawienia -> Kopia zapasowa Percona

Po kliknięciu przycisku Zainstaluj kopię zapasową Percona pojawi się następujący ekran . Tutaj musisz określić katalog współdzielony. Ponownie, upewnij się, że katalog został zamontowany we wszystkich twoich węzłach MongoDB. Po określeniu katalogu kopii zapasowej możesz kliknąć przycisk Instaluj i poczekać na zakończenie instalacji.

Pomyślna instalacja powinna wyglądać jak na poniższym zrzucie ekranu. Teraz możemy kontynuować proces tworzenia kopii zapasowej:

Aby utworzyć kopię zapasową za pomocą programu Percona Backup, wykonaj proste czynności. Niestety nie można było skorzystać z opcji szyfrowania kopii zapasowej tą metodą. Aby skorzystać z funkcji przesyłania do chmury, musisz włączyć opcję przed wybraniem typu kopii zapasowej, w przeciwnym razie kopia zapasowa nie zostanie przesłana. Zauważysz, że funkcja przesyłania zniknie po wybraniu „percona-backup-mongodb”.

Na drugiej stronie możesz określić przechowywanie lokalne:

Jeśli chodzi o ostatnią stronę, możesz określić szczegóły chmury i przechowywania, takie jak w poprzednim przykładzie. Proces przywracania jest taki sam jak w poprzednim przykładzie, wystarczy kliknąć link „Przywróć” i postępować zgodnie z instrukcjami na stronie przywracania:

Wnioski

Dzięki ClusterControl możesz tworzyć i przesyłać kopię zapasową MongoDB do chmury. Przesyłanie do chmury to jedna z nowych i zaawansowanych funkcji MongoDB, która została wprowadzona począwszy od ClusterControl 1.9.0, pod warunkiem, że integracja z dostawcą chmury przebiegła pomyślnie. Możesz również zaszyfrować kopię zapasową za pomocą ClusterControl, jeśli chcesz ją chronić.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Czy mogę wykonać zapytanie tekstowe za pomocą sterownika mongodb c#?

  2. Przełączanie awaryjne replikacji MySQL (i innych) — czy powinno być zautomatyzowane?

  3. Wyświetlanie ostatniej wiadomości z każdej rozmowy z udziałem użytkownika w MongoDB

  4. MongoDB odrębne polecenie

  5. Ładny wydruk w powłoce MongoDB domyślnie