Open edX adalah proyek sumber terbuka untuk pembelajaran online yang dikembangkan oleh tim MIT dan Harvard. Ini adalah aplikasi berbasis web dengan banyak komponen seperti tampilan siswa, penulisan kursus, pengiriman kursus, dan manajemen konten.
Open edX dibangun dengan Python dan menggunakan Django sebagai kerangka kerja web. Ini menggunakan MongoDB sebagai backend database. Saat membangun dan menyiapkan lingkungan Open edX, orang perlu memikirkan waktu aktif layanan karena platform ini banyak digunakan oleh pelajar dan pelajar sebagai platform terbuka.
Ketersediaan tinggi adalah suatu keharusan untuk database MongoDB, di samping server aplikasi juga. Untuk pemulihan bencana, strategi pencadangan yang baik adalah kuncinya sehingga Anda tahu bahwa Anda dapat memulihkan data jika terjadi kesalahan.
Di blog ini, kami akan mengulas cara mem-backup database Open edX MongoDB Anda.
Menyiapkan Penyimpanan Cadangan
Hal pertama yang perlu kita lakukan adalah menyiapkan penyimpanan untuk cadangan MongoDB. Anda dapat menyusun pencadangan pada infrastruktur yang sama dengan layanan Open edX, lalu mengarsipkannya di luar lokasi. Anda dapat menggunakan Storage Area Network (SAN) atau Network Attached Storage yang dipasang ke salah satu server MongoDB. AWS menyediakan layanan penyimpanan sederhana yang disebut S3 untuk mengarsipkan cadangan Anda, sementara Google Cloud Platform memiliki Cloud Storage.
Ini adalah layanan berdasarkan permintaan dan model harga didasarkan pada ukuran per GiB cadangan Anda. Demi keamanan, setidaknya Anda bisa meletakkan backup database Open edX Anda di 2 area berbeda; yang ada di premis Anda, dan di cloud.
Pencadangan Manual untuk MongoDB
Biasanya backup untuk database MongoDB menggunakan utilitas mongodump yang dibundel saat Anda menginstal server MongoDB. Anda dapat melakukan backup di salah satu server MongoDB, jalankan saja mongodump seperti gambar di bawah ini:
$ 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
……
Ini akan membuat cadangan di host MongoDB, Anda dapat memiliki skrip untuk memindahkan file cadangan ke beberapa penyimpanan lain.
Cadangkan MongoDB untuk Open edX Menggunakan ClusterControl
ClusterControl mendukung pencadangan MongoDB untuk platform Open edX Anda. Ini mendukung mongodump dan kami baru saja menambahkan dukungan untuk metode pencadangan baru yang disebut PBM (Percona Backup for MongoDB), yang akan lebih sesuai untuk Cluster MongoDB yang di-sharded. Mengambil cadangan menggunakan mongodump di ClusterControl sangat mudah menggunakan wizard berbasis GUI. Pilih Tab Cadangan dan kemudian Buat Cadangan. Ada dua pilihan yang bisa Anda pilih, Anda bisa langsung membuat backup atau Anda bisa menjadwalkan backup.
Lalu klik Lanjutkan:
Pilih mongodump sebagai metode pencadangan, lalu tulis direktori lokasi tempat Anda ingin menempatkan cadangan. Pada langkah ini, Anda dapat menggunakan Storage Area Network atau Network Attached Storage yang terpasang ke server MongoDB Anda.
ClusterControl juga mendukung pencadangan ke cloud, saat ini kami mendukung Amazon Web Services (AWS), Google Cloud Platform, dan Microsoft Azure.
Anda juga dapat mengaktifkan enkripsi untuk cadangan Anda, ini sangat penting jika Anda sedang mengarsipkan di cloud. Selanjutnya tinggal tekan Create Backup, maka akan muncul job baru untuk backup seperti gambar di bawah ini:
Anda juga dapat menggunakan Percona Backup untuk MongoDB untuk cadangan yang konsisten dari Replika MongoDB Anda dan Sharded Cluster.. Cukup pilih percona-backup-mongodb sebagai metode pencadangan, Anda harus menginstal agen di setiap node dan penyimpanan bersama untuk dipasang di setiap node MongoDB.