MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

ClusterControl - Manajemen Cadangan Tingkat Lanjut - MongoDB

Pemulihan bencana tidak akan selesai tanpa sistem pencadangan yang tepat. Ketika sesuatu yang buruk terjadi, data dapat dipulihkan dengan menggunakan cadangan sebaiknya dengan yang terbaru. Kami mungkin ingin menghindari memulihkan data yang tidak diperbarui. Mungkin ada beberapa informasi yang hilang dengan cadangan lama. Itulah alasan mengapa memiliki praktik pencadangan yang baik sangat penting untuk sebagian besar sistem saat ini.

MongoDB telah menjadi lebih populer dari tahun ke tahun. Ada banyak perusahaan yang mulai menggunakan MongoDB sebagai salah satu database mereka. Salah satu fitur dan mungkin alasan mengapa MongoDB populer adalah karena kecepatannya dan MongoDB mudah untuk diskalakan. MongoDB adalah salah satu database yang didukung di ClusterControl. Anda dapat menerapkan, mengimpor, menskalakan, dan bahkan melakukan pencadangan dengan ClusterControl. Dalam posting blog ini, kita akan membahas fitur Cadangan Lanjutan untuk kumpulan replika MongoDB dan sharded cluster.

Jenis Cadangan MongoDB

MongoDB mendukung pencadangan logis dan fisik. Selain itu, MongoDB juga mendukung Point In Time Recovery (PITR). Mari kita lihat apa perbedaan antara ketiga jenis backup tersebut.

Cadangan logis

mongodump

Utilitas ini akan membuat ekspor biner dari isi database. Tidak hanya itu, mongodump dapat mengekspor data dari instance mongod atau mongos, dapat mengekspor data dari standalone, replika set, dan penerapan sharded cluster

Cadangan fisik

NA

Pencadangan fisik di MongoDB hanya dapat dilakukan di tingkat sistem. Saat ini, tidak ada cadangan fisik yang tersedia di ClusterControl. Cara kerja pencadangan fisik adalah dengan membuat snapshot di LVM atau alat penyimpanan.

PITR

Cadangan Percona untuk MongoDB

Percona Backup untuk MongoDB diwarisi dari dan menggantikan mongodb_consistent_backup, yang sudah tidak digunakan lagi. Ini adalah solusi terdistribusi dan berdampak rendah untuk mencapai pencadangan yang konsisten untuk kluster sharded MongoDB dan set replika. Jenis cadangan ini logis tetapi pada saat yang sama dapat bertindak sebagai cadangan PITR.

Sekarang kita tahu apa perbedaan antara jenis cadangan.

Manajemen Cadangan MongoDB

ClusterControl memungkinkan Anda membuat cadangan secara realtime serta menjadwalkannya sesuai jadwal yang Anda inginkan. Satu hal yang perlu disebutkan, jika Anda ingin menjadwalkan, ClusterControl akan menggunakan zona waktu UTC. Jadi Anda perlu memilih waktu yang tepat yang sesuai dengan zona waktu Anda sehingga jadwal akan berjalan pada waktu yang tidak terlalu sibuk.

Mari kita lanjutkan dan coba gunakan fungsi pencadangan di ClusterControl. Selain itu, kami juga akan mengulas salah satu fitur lanjutannya yaitu mengunggah cadangan ke cloud. Dimulai dengan ClusterControl 1.9.0, MongoDB mendukung unggahan awan yang memungkinkan Anda mengunggah cadangan ke penyedia penyimpanan awan pilihan Anda.

Cadangan Logis MongoDB

Mari kita mulai dengan pencadangan logis. Sebelum fitur unggah cadangan ke cloud dapat digunakan, Anda harus mengintegrasikannya dengan penyedia cloud pilihan Anda. Untuk kasus kami, kami akan mengintegrasikannya dengan AWS cloud. Untuk melakukan integrasi AWS lengkap, Anda dapat mengikuti langkah-langkah berikut:

  • Gunakan alamat email dan kata sandi akun AWS Anda untuk masuk ke AWS Management Console sebagai pengguna root akun AWS .

  • Pada halaman Dasbor IAM, pilih nama akun Anda di bilah navigasi, lalu pilih Kredensial Keamanan Saya.

  • Jika Anda melihat peringatan tentang mengakses kredensial keamanan untuk akun AWS Anda, pilih Continue to Security Credentials.

  • Luaskan bagian Access keys (ID kunci akses dan kunci akses rahasia).

  • Pilih Buat Kunci Akses Baru. Kemudian pilih Unduh File Kunci untuk menyimpan ID kunci akses dan kunci akses rahasia ke file di komputer Anda. Setelah Anda menutup kotak dialog, Anda tidak dapat mengambil kunci akses rahasia ini lagi.

Dengan asumsi bahwa Anda telah menyiapkan cluster MongoDB, kami akan memulai proses pencadangan. Pertama, buka cluster MongoDB -> Backup -> Create Backup

Pada halaman berikutnya, Anda dapat menentukan apakah ingin mengaktifkan enkripsi atau bukan. Untuk enkripsi, ClusterControl akan menggunakan OpenSSL untuk mengenkripsi cadangan menggunakan algoritma AES-256 CBC. Enkripsi terjadi pada node cadangan. Jika Anda memilih untuk menyimpan cadangan pada node pengontrol, file cadangan dialirkan dalam format terenkripsi melalui socat atau netcat. Enkripsi dianggap sebagai salah satu fitur pencadangan lanjutan yang dapat digunakan, jadi dalam kasus kami, kami akan mengaktifkan opsi ini. Anda juga dapat menentukan periode penyimpanan cadangan Anda di halaman ini. Untuk kasus kami, kami akan menggunakan pengaturan default 31 hari.

Pada halaman ketiga, Anda perlu menentukan login untuk penyedia cloud , pilih/buat ember. Anda juga dapat menentukan retensi untuk cadangan cloud Anda, pengaturan defaultnya adalah 180 hari.

Setelah Anda mengklik tombol Buat Cadangan, pekerjaan akan langsung dimulai dan akan memakan waktu cukup lama tergantung pada ukuran database Anda. Pada saat yang sama, cadangan akan diunggah ke penyimpanan cloud (AWS). Anda mungkin melihat ikon "kunci" dan "awan" disorot setelah pencadangan selesai seperti berikut:

Sekarang Anda telah menyiapkan cadangan, langkah untuk memulihkan cadangan adalah sangat sederhana. Yang harus Anda lakukan adalah dengan mengklik tautan “Pulihkan” dan klik tombol “Selesai” pada halaman pemulihan seperti berikut:

Cadangan PITR MongoDB

Seperti disebutkan sebelumnya, Percona Backup untuk MongoDB adalah jenis cadangan PITR. Sebelum Anda dapat menggunakan jenis cadangan ini, Anda perlu menginstal agen (pbm-agent) di semua node/instance MongoDB. Sebelum itu, Anda juga perlu memasang direktori bersama di semua node. Mari kita mulai!

Pertama, Anda perlu mengkonfigurasi server NFS. Untuk menginstal server NFS, Anda harus memilih atau menggunakan mesin virtual apa pun, untuk kasus kami, kami akan menginstal server NFS di node ClusterControl (Centos):

[[email protected] ~]# dnf install nfs-utils

Setelah utilitas NFS diinstal, Anda dapat memulai layanan dan mengaktifkannya saat boot sistem:

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

[[email protected] ~]# # systemctl aktifkan nfs-server.service

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

Langkah selanjutnya adalah mengkonfigurasi file /etc/exports agar direktori dapat diakses oleh klien NFS:

[[email protected] ~]# vi /etc/exports

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

Di node klien yang merupakan node database kami, kami juga perlu menginstal paket NFS yang diperlukan:

[[email protected] ~]# dnf install nfs-utils nfs4-acl-tools

Setelah paket diinstal, kami dapat membuat direktori dan memasangnya:

[[email protected] ~]# mkdir -p /mnt/backups

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

Pastikan untuk melakukan mount pada semua node database agar kami dapat menginstal pbm-agent. Mengingat semua node sudah memiliki direktori terpasang NFS, kami akan melanjutkan untuk menginstal agen sekarang. Buka cluster MongoDB -> Backup -> Settings -> Percona Backup

Setelah Anda mengklik tombol Instal Percona Backup, layar berikut akan muncul . Di sini, Anda perlu menentukan direktori bersama. Sekali lagi, pastikan bahwa direktori telah dipasang di semua node MongoDB Anda. Setelah Direktori Cadangan ditentukan, Anda dapat mengklik tombol Instal dan menunggu hingga penginstalan selesai.

Instalasi yang berhasil akan seperti screenshot berikut. Sekarang kita dapat melanjutkan proses pencadangan:

Untuk membuat cadangan menggunakan Percona Backup, langkah-langkahnya sederhana. Sayangnya, Anda tidak dapat menggunakan opsi untuk mengenkripsi cadangan menggunakan metode ini. Untuk menggunakan fitur untuk mengunggah ke cloud, Anda harus mengaktifkan opsi sebelum memilih jenis cadangan, jika tidak, cadangan Anda tidak akan diunggah. Anda akan melihat fitur upload akan hilang setelah Anda memilih “percona-backup-mongodb”.

Pada halaman kedua Anda dapat menentukan retensi lokal:

Untuk halaman terakhir, Anda dapat menentukan detail cloud dan retensi seperti dalam contoh sebelumnya. Proses restore sama seperti contoh sebelumnya, yang perlu anda lakukan adalah klik link “Restore” dan ikuti langkah-langkah pada halaman restore:

Kesimpulan

Dengan ClusterControl, Anda dapat membuat dan mengunggah cadangan MongoDB Anda ke cloud. Mengunggah ke cloud adalah salah satu fitur baru dan canggih untuk MongoDB yang telah diperkenalkan dimulai dengan ClusterControl 1.9.0 menyediakan integrasi ke penyedia cloud telah berhasil dilakukan. Anda juga dapat mengenkripsi cadangan Anda menggunakan ClusterControl jika Anda ingin melindungi cadangan Anda.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb mengurutkan array dalam

  2. Deserialisasi tipe polimorfik dengan MongoDB C# Driver

  3. Menggabungkan $regex dan $or operator di Mongo

  4. Panggil fungsi di dalam agregat mongodb?

  5. Cara Menghentikan Runaway Index Build di MongoDB