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

Jak wykonać kopię zapasową bazy danych Open edX MongoDB

Open edX to projekt open source do nauki online opracowany przez zespół MIT i Harvard. Jest to aplikacja internetowa z wieloma komponentami, takimi jak skierowane do uczniów, tworzenie kursów, dostarczanie kursów i zarządzanie treścią.

Open edX jest zbudowany w Pythonie i używa Django jako frameworka internetowego. Wykorzystuje MongoDB jako zaplecze bazy danych. Budując i konfigurując środowisko Open edX, należy pomyśleć o czasie pracy usługi, ponieważ platforma jest szeroko wykorzystywana przez ucznia i uczącego się jako platforma otwarta.

Wysoka dostępność jest koniecznością dla baz danych MongoDB, nie tylko dla serwera aplikacji. W przypadku odzyskiwania po awarii kluczowa jest solidna strategia tworzenia kopii zapasowych, dzięki czemu wiesz, że możesz przywrócić dane, jeśli coś pójdzie nie tak.

W tym blogu dowiemy się, jak wykonać kopię zapasową bazy danych Open edX MongoDB.

Przygotowywanie magazynu kopii zapasowych

Pierwszą rzeczą, którą musimy zrobić, to przygotować miejsce na kopię zapasową MongoDB. Możesz umieścić kopie zapasowe w tej samej infrastrukturze, co usługi Open edX, a następnie zarchiwizować je poza siedzibą firmy. Możesz użyć Storage Area Network (SAN) lub Network Attached Storage, gdzie jest ona zamontowana na jednym z serwerów MongoDB. AWS zapewnia prostą usługę przechowywania o nazwie S3 do archiwizowania kopii zapasowych, podczas gdy Google Cloud Platform ma Cloud Storage.

Jest to usługa na żądanie, a model cenowy jest oparty na rozmiarze GiB kopii zapasowej. Ze względów bezpieczeństwa możesz przynajmniej umieścić kopię zapasową bazy danych Open edX w 2 różnych obszarach; który znajduje się w Twojej siedzibie i w chmurze.

Ręczna kopia zapasowa MongoDB

Zazwyczaj tworzenie kopii zapasowych baz danych MongoDB odbywa się za pomocą narzędzia mongodump, które jest dołączone podczas instalacji serwera MongoDB. Możesz wykonać kopię zapasową na jednym z serwerów MongoDB, po prostu uruchom mongodump, jak pokazano poniżej:

$ mongodump --db edxapp --out /backups/open-edx/`date +"%m-%d-%y"`

2021-01-11T11:23:42.541-0500    writing edxapp.module to /backups/open-edx/01-11-21/edxapp/module.bson

2021-01-11T11:23:42.878-0500    writing edxapp.module metadata to /backups/open-edx/01-11-21/newdb/module.metadata.json

2021-01-11T11:23:42.923-0500    done dumping edxapp.module (25359 documents)

2021-01-11T11:23:42.945-0500    writing newdb.system.indexes to /backups/open-edx/01-11-21/edxapp/system.indexes.bson

……

Utworzy kopię zapasową na hoście MongoDB, możesz mieć skrypt, aby przenieść pliki kopii zapasowej do innego miejsca.

Kopia zapasowa MongoDB dla Open edX przy użyciu ClusterControl

ClusterControl obsługuje tworzenie kopii zapasowych MongoDB dla Twojej platformy Open edX. Obsługuje mongodump i właśnie dodaliśmy obsługę nowej metody tworzenia kopii zapasowych o nazwie PBM (Percona Backup for MongoDB), która byłaby bardziej odpowiednia dla klastrów MongoDB podzielonych na fragmenty. Tworzenie kopii zapasowej za pomocą mongodump w ClusterControl jest bardzo łatwe dzięki kreatorowi opartemu na GUI. Wybierz kartę Kopia zapasowa, a następnie Utwórz kopię zapasową. Dostępne są dwie opcje, możesz natychmiast utworzyć kopię zapasową lub zaplanować tworzenie kopii zapasowej.

A następnie kliknij Kontynuuj:

Wybierz mongodump jako metodę tworzenia kopii zapasowej, a następnie zapisz katalog lokalizacji, w którym chcesz umieścić kopię zapasową. W tym kroku możesz użyć Storage Area Network lub Network Attached Storage, które są zamontowane na twoim serwerze MongoDB.

ClusterControl obsługuje również tworzenie kopii zapasowych w chmurze, obecnie obsługujemy Amazon Web Services (AWS), Google Cloud Platform i Microsoft Azure.

Możesz także włączyć szyfrowanie kopii zapasowej, jest to szczególnie ważne, jeśli archiwizują w chmurze. Następnie wystarczy nacisnąć Utwórz kopię zapasową, uruchomi to nowe zadanie dla kopii zapasowej, jak pokazano poniżej:

Możesz również użyć Percona Backup for MongoDB do spójnego tworzenia kopii zapasowych swojego zestawu MongoDB Replicaset i Sharded Cluster.. Wystarczy wybrać metodę percona-backup-mongodb jako metodę tworzenia kopii zapasowej, wymaga to zainstalowania agenta na każdym węźle, a współdzielona pamięć masowa będzie zamontowana na każdym węźle MongoDB.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb $w limicie

  2. Aktualizacja dużej liczby rekordów w kolekcji

  3. Czy można wielokrotnie wysyłać zapytania do bazy danych MongoDB na żądanie?

  4. Jak stronicować z Mongoose w Node.js?

  5. Jak poprawić wydajność wstawiania MongoDB