Pada artikel ini, kami akan meninjau pengalaman kami menggunakan cadangan CommVault untuk PostgreSQL. Untuk melakukan ini, kami akan menganalisis sebagian kecil dari salah satu proyek kami yang lalu, di mana kami membuat cadangan dari database PostgreSQL dari klien.

Tentang CommVault
CommVault adalah platform berskala tunggal yang menyediakan perlindungan data terintegrasi dan manajemen konten. Platform ini mendukung modul perangkat lunak dengan fungsi untuk membuat cadangan dan memulihkan data, pengarsipannya, deduplikasi, replikasi, distribusi media dan enkripsi secara hierarkis. Modul platform bekerja dengan konten perusahaan dari berbagai sumber dan menyediakan pencarian informasi ujung-ke-ujung di lingkungan perusahaan dan ketersediaannya yang konstan bahkan dari arsip berkat pengindeksan dokumen tunggal yang cerdas dalam repositori virtual. Platform ini juga dilengkapi dengan alat analisis canggih yang menghasilkan laporan tentang tindakan pengguna dan aplikasi serta fungsi infrastruktur.
CommVault melindungi, mengembalikan, dan mengelola data serta akses ke sana dalam lingkungan fisik dan virtual.
Tentang cadangan PostgreSQL
Untuk melakukan backup dari database PostgreSQL, agen (iDataAgent) digunakan, yang diinstal pada server tempat database berjalan. Agen dirancang untuk secara efektif mengelola dan melindungi data bisnis penting dalam database PostgreSQL. Anda dapat menggunakan agen ini untuk membuat cadangan dan memulihkan seluruh server PostgreSQL atau database individual. Jika perlu, Anda juga dapat mengembalikan masing-masing tabel.
Fitur utama:
PostgreSQL iDataAgent memberikan fleksibilitas untuk membuat cadangan basis data dalam berbagai mode dan memulihkannya dalam waktu minimal. Anda dapat mencadangkan atau mencadangkan seluruh server PostgreSQL, basis data individual, atau log arsip kapan saja.
Fitur cadangan dan pemulihan yang dapat dilakukan dalam berbagai mode:
- iDataAgent menyediakan kemampuan untuk memulihkan seluruh server PostgreSQL. Semua database yang terletak di server sumber dapat dipulihkan di server tujuan.
- Definisikan satu basis data atau kelompok basis data sebagai data sub-daftar dan buat cadangan dan pulihkan.
- Cadangkan hanya log di server PostgreSQL. File log ini dapat digunakan untuk memulihkan transaksi basis data yang hilang karena sistem operasi atau kegagalan disk.
- Kembalikan seluruh server PostgreSQL Anda pada titik waktu tertentu untuk Pencadangan Berbasis Sistem File.
- Lihat dan verifikasi status operasi pencadangan dan pemulihan dari Kontroler Pekerjaan dan Peraga Peristiwa di konsol CommCell. Lacak status pekerjaan Anda dengan laporan yang dapat Anda simpan dan distribusikan.
- Gunakan pencadangan tingkat blok sebagai cara yang lebih cepat untuk mencadangkan data, karena cadangan hanya untuk luasan (atau bagian database yang dimodifikasi), dan bukan untuk seluruh basis data PostgreSQL.
- Deduplikasi Tingkat Blok Deduplikasi menyediakan cara yang lebih cerdas untuk menyimpan data dengan mengidentifikasi dan menghapus duplikat dalam operasi perlindungan data.
Arsitektur
Skema
Cara kerjanya:Platform CommVault digunakan pada jaringan sebagai bagian dari server manajemen CommServe dan server MediaAgent yang terpisah (disarankan untuk menggunakan server fisik).
Agen (iDataAgent) diinstal di server dengan database PostgreSQL dan kebijakan cadangannya dikonfigurasi sesuai dengan persyaratan. iDataAgent mengumpulkan data yang diperlukan, kompres, deduplikat, jika perlu, mengenkripsi dan mentransfernya ke MediaAgent.
Selanjutnya, data ditempatkan pada sistem penyimpanan, pada perpustakaan tape atau pada penyimpanan cloud.
Untuk pemulihan, data diekstraksi dari penyimpanan dan disalin ke server dengan PostgreSQL.
Pengaturan di CommVault ConsoleSekarang mari kita lihat bagaimana melakukan ini di konsol manajemen.
1. Untuk memulai cadangan basis data saat ini, pilih di konsol Browser CommCell:
Komputer Klien | | PostgreSQL | | DumpBasedBackupSet.
Klik kanan pada folder
default di
sublient dan pilih
Backup .

2. Pilih
Penuh sebagai jenis cadangan dan pilih
Segera .
3. Klik
OK . Cadangan
PostgreSQL dimulai .

4. Selama pelaksanaan pekerjaan, statusnya dapat dimonitor melalui jendela
Pekerjaan konsol
CommCell mereka.

5. Setelah tugas selesai, Anda dapat melihat detail tugas yang diselesaikan dari jendela
Riwayat Cadangan . Pilih folder
default di
sub-daftar dan pilih
Backup History .

6. Di jendela
Riwayat Cadangan , Anda dapat melihat data berikut tentang tugas yang diselesaikan:
- Kesalahan cadangan saat menyelesaikan tugas;
- Item yang berhasil dicadangkan;
- Detail penugasan;
- Acara;
- File log;
- Media tempat data disimpan.
Mengapa Anda dapat membuat cadanganCadangan Berbasis Dump:
- Database sistem PostgreSQL;
- Database pengguna PostgreSQL
- Mencadangkan sistem file (Pencadangan Berbasis Sistem File).
Database PostgreSQL (data dan log) (data dan log):
Apa yang tidak disalin:
- File aplikasi PostgreSQL (file aplikasi);
- Data sistem operasi.
Gunakan File System iDataAgent untuk membuat cadangan komponen di atas.
Tantangan
Klien perlu menggunakan platform CommVault untuk mendukung layanannya. Salah satu layanan adalah database PostgreSQL, yang digunakan dalam konfigurasi cluster 2 node: Master dan Standby. Keduanya bekerja pada server fisik.
Fitur konfigurasi PostgreSQL klienKonfigurasi cluster PostgreSQL dipilih untuk memastikan toleransi kesalahan dari server database.
Klien melakukan backup database PostgreSQL menggunakan pg_dump.
Skema pekerjaan disajikan pada gambar di bawah ini:

Konfigurasikan cadangan dengan CommVault
Untuk menyatukan platform cadangan dan memanfaatkan penyimpanan cadangan, kami memutuskan untuk menggunakan CommVault untuk mencadangkan database PostgreSQL.
Karena klien menggunakan konfigurasi cluster PostgreSQL, untuk cadangan kami memutuskan untuk menggunakan opsi File System Based Backup untuk cadangan file. Pada saat yang sama, saya harus meninggalkan penggunaan cadangan blok (Block Level Backup), karena Versi kernel Linux yang digunakan PostgreSQL digunakan lebih tinggi daripada CommVault yang didukung secara resmi. Karena kenyataan bahwa layanan ini penting untuk organisasi, mereka memutuskan untuk membuat jadwal cadangan sesuai tabel:
| Salinan lengkap
| Log transaksi
|
---|
Grafik
| Sekali sehari, pada 23 jam
| Setiap jam selama 24 jam |
Masa penyimpanan salinan
| 7 hari
| 1 hari
|
Total volume database lebih dari 1,5 Tb dan untuk tetap dalam RTO dan RPO yang diperlukan, jaringan LAN terpisah digunakan untuk cadangan pada kecepatan 10 Gb / s.
Pencadangan dilakukan sesuai dengan diagram di bawah ini:

Cadangan diambil dari server PostgreSQL Standby dan disimpan di server dengan MediaAgent diinstal. Selanjutnya, sebulan sekali, salinan lengkap diunggah ke cloud Amazon untuk masa simpan satu tahun.
Semua pengaturan yang diperlukan telah dibuat, dan cadangan berhasil.
Fitur Konfigurasi Cadangan PostgreSQLSaat memasang dan mengkonfigurasi cadangan, kami menemui beberapa kesulitan, yang tercantum di bawah ini. Saya pikir akan bermanfaat untuk mempertimbangkan fitur-fitur ini ketika melakukan proyek serupa dan ketika mengatur administrator database PostgreSQL.
- Periksa bahwa node Master dan Standby memiliki pengaturan layanan PostgreSQL yang sama ditetapkan sesuai dengan dokumentasi CommVault:
dokumentasi.commvault.com/commvault/v11_sp14/article?p=21491.htm - Pastikan parameter yang ditentukan dalam Pemecahan Masalah Cadangan konsisten dengan yang ditentukan oleh tautan:
dokumentasi.commvault.com/commvault/v11_sp14/article?p=21723.htm
dokumentasi.commvault.com/commvault/v11_sp14/article?p=21518.htm - Pastikan bahwa hak akses ke server basis data dan basis data ditetapkan sesuai dengan persyaratan berikut:
dokumentasi.commvault.com/commvault/v11_sp14/article?p=21523.htm
PemulihanMencadangkan itu bagus. Secara alami, kami tertarik tidak hanya dalam proses penciptaannya, tetapi juga dalam pemulihan. Untuk apa semua ini dilakukan.
Dalam situasi ini, pemulihan, berdasarkan pengalaman kami, mungkin diperlukan untuk klien dalam 2 kasus:
- Untuk memulihkan basis data pada titik waktu tertentu agar dapat mengakses data yang, misalnya, dapat dihapus dari basis data;
- Dalam kasus hilangnya seluruh cluster database PostgreSQL.
Untuk memulihkan database, cukup baca dokumentasi di tautan ini:
dokumentasi.commvault.com/commvault/v11_sp14/article?p=21502.htmKami juga akan memusatkan perhatian Anda pada fitur dan langkah-langkah berikut selama pemulihan:
- SELALU mengikuti prosedur pemulihan dengan DBA PostgreSQL. Ini akan membantu Anda menghindari tindakan yang salah dan dengan cepat menyelesaikan masalah yang muncul selama proses pemulihan;
- Pemulihan harus dilakukan pada node dengan peran Master;
- Ketika memulihkan, pastikan untuk memverifikasi bahwa layanan PostgreSQL tidak dimulai setelah operasi selesai;
- Di simpul yang dipulihkan, ubah pengaturan ke peran Master, karena dalam kasus kami, kami mendukung node Standby;
- Nonaktifkan layanan pada Standby node, aktifkan mereka di node Master, lalu aktifkan Standby node dan konfigurasikan replikasi lagi.
Kesimpulan
Pada artikel ini, kami tidak memperhitungkan cadangan OS Linux itu sendiri dan sistem lainnya. Itu harus dilakukan secara terpisah. Dokumentasi CommVault menjelaskan ini secara rinci. Jika artikel kami membangkitkan minat, dan ada banyak keinginan, maka kami pasti akan menjelaskan cara membuat cadangan sistem lain. Tulis di komentar sistem mana yang menarik bagi Anda.
Kami berharap pengalaman kami akan membantu Anda dalam mengatur cadangan oleh DBA PostgreSQL.
Penulis:
Sergey Alexandrov, Kepala Kelompok Cadangan, Softline
Artyom Khmelenko, Teknisi Utama, Softline