MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Cara Membuat Klon dari Cluster Database MySQL atau PostgreSQL Anda

Jika Anda mengelola database produksi, kemungkinan besar Anda harus mengkloning database ke server lain selain server produksi. Metode dasar untuk membuat klon adalah dengan memulihkan database dari cadangan terbaru ke server database lain. Metode lain adalah dengan mereplikasi dari database sumber saat masih berjalan, dalam hal ini penting bahwa database asli tidak terpengaruh oleh prosedur kloning.

Mengapa Anda Perlu Mengkloning Basis Data?

Kluster basis data yang dikloning berguna dalam sejumlah skenario:

  • Pecahkan masalah kluster produksi kloning Anda dalam keamanan lingkungan pengujian Anda saat melakukan operasi destruktif pada database.
  • Uji patch/upgrade database kloning untuk memvalidasi proses upgrade sebelum menerapkannya ke cluster produksi.
  • Validasi pencadangan &pemulihan kluster produksi menggunakan kluster kloning.
  • Validasi atau uji aplikasi baru pada kluster produksi yang digandakan sebelum menerapkannya di kluster produksi langsung.
  • Mengkloning database dengan cepat untuk persyaratan audit atau kepatuhan informasi, misalnya pada akhir kuartal atau tahun di mana konten database tidak boleh diubah.
  • Database pelaporan dapat dibuat secara berkala untuk menghindari perubahan data selama pembuatan laporan.
  • Migrasikan database ke server baru, lingkungan penerapan baru, atau pusat data baru.

Saat menjalankan infrastruktur basis data Anda di cloud, biaya memiliki host (mesin virtual bersama atau khusus) jauh lebih rendah dibandingkan dengan cara tradisional menyewa ruang di pusat data atau memiliki server fisik. Selain itu, sebagian besar penyebaran cloud dapat diotomatisasi dengan mudah melalui API penyedia, perangkat lunak klien, dan skrip. Oleh karena itu, mengkloning cluster dapat menjadi cara umum untuk menduplikasi lingkungan penerapan Anda, misalnya, dari dev ke staging hingga produksi atau sebaliknya.

Kami belum pernah melihat fitur ini ditawarkan oleh siapa pun di pasar sehingga merupakan hak istimewa kami untuk menunjukkan cara kerjanya dengan ClusterControl.

Mengkloning Cluster Galera MySQL

Salah satu fitur keren di ClusterControl adalah memungkinkan Anda untuk dengan cepat mengkloning, Cluster MySQL Galera yang ada sehingga Anda memiliki salinan persis dataset di cluster lain. ClusterControl melakukan operasi kloning secara online, tanpa mengunci atau membawa downtime ke cluster yang ada. Ini seperti operasi skala kluster kecuali kedua kluster independen satu sama lain setelah sinkronisasi selesai. Cluster yang dikloning tidak harus memiliki ukuran cluster yang sama dengan yang sudah ada. Kita bisa mulai dengan cluster satu node, dan meningkatkannya dengan lebih banyak node database di tahap selanjutnya.

Dalam contoh ini, kita memiliki sebuah cluster yang disebut "Staging" yang ingin kita kloning sebagai cluster lain yang disebut "Production". Premisnya adalah cluster pementasan sudah menyimpan data yang diperlukan yang akan segera diproduksi. Cluster produksi terdiri dari 3 node lain, dengan spesifikasi produksi.

Diagram berikut merangkum arsitektur akhir dari apa yang ingin kita capai:

Hal pertama yang harus dilakukan adalah menyiapkan SSH tanpa kata sandi dari server ClusterControl ke server produksi. Pada server ClusterControl jalankan perintah berikut:

$ whoami

root

$ ssh-copy-id [email protected]

$ ssh-copy-id [email protected]

$ ssh-copy-id [email protected]

Masukkan kata sandi root dari server target jika diminta.

Dari daftar cluster database ClusterControl, klik tombol Cluster Action dan pilih Clone Cluster. Wizard berikut akan muncul:

Tentukan alamat IP atau nama host dari cluster baru dan pastikan Anda mendapatkan semua ikon centang hijau di sebelah host yang ditentukan. Ikon hijau berarti ClusterControl dapat terhubung ke host melalui SSH tanpa kata sandi. Klik tombol "Clone Cluster" untuk memulai penerapan.

Langkah penerapannya adalah:

  1. Buat cluster baru yang terdiri dari satu node.
  2. Sinkronkan cluster satu node baru melalui SST. Donor adalah salah satu server sumber.
  3. Node baru yang tersisa akan bergabung dengan cluster setelah donor dari cluster yang dikloning disinkronkan dengan cluster.

Setelah selesai, Cluster MySQL Galera baru akan dicantumkan di bawah dasbor cluster ClusterControl setelah tugas penerapan selesai.

Perhatikan bahwa kloning cluster hanya mengkloning server database dan bukan seluruh tumpukan cluster. Artinya, komponen pendukung lain yang terkait dengan cluster seperti load balancer, alamat IP virtual, arbiter Galera atau budak asinkron tidak akan dikloning oleh ClusterControl. Namun demikian, jika Anda ingin mengkloning sebagai salinan persis dari infrastruktur database yang ada, Anda dapat mencapainya dengan ClusterControl dengan menerapkan komponen tersebut secara terpisah setelah operasi kloning database selesai.

Membuat Cluster Basis Data dari Cadangan

Fitur serupa lainnya yang ditawarkan oleh ClusterControl adalah "Buat Cluster dari Cadangan". Fitur ini diperkenalkan di ClusterControl 1.7.1, khusus untuk klaster Galera dan klaster PostgreSQL di mana seseorang dapat membuat klaster baru dari cadangan yang ada. Berlawanan dengan kloning cluster, operasi ini tidak membawa beban tambahan ke cluster sumber dengan tradeoff cluster kloning tidak akan berada pada status saat ini sebagai cluster sumber.

Untuk membuat cluster dari cadangan, Anda harus membuat cadangan yang berfungsi. Untuk Galera Cluster, semua metode pencadangan didukung sedangkan untuk PostgreSQL, hanya pgbackrest yang tidak didukung untuk penerapan cluster baru. Dari ClusterControl, cadangan dapat dibuat atau dijadwalkan dengan mudah di bawah ClusterControl -> Backup -> Create Backup. Dari daftar cadangan yang dibuat, klik Pulihkan cadangan, pilih cadangan dari daftar dan pilih "Buat Cluster dari Cadangan" dari opsi pemulihan:

Dalam contoh ini, kita akan menerapkan cluster Replikasi Streaming PostgreSQL baru untuk lingkungan pementasan, berdasarkan cadangan yang ada yang kami miliki di cluster produksi. Diagram berikut mengilustrasikan arsitektur akhir:

Hal pertama yang harus dilakukan adalah menyiapkan SSH tanpa kata sandi dari server ClusterControl ke server produksi. Pada server ClusterControl jalankan perintah berikut:

$ whoami

root

$ ssh-copy-id [email protected]

$ ssh-copy-id [email protected]

$ ssh-copy-id [email protected]

Bila Anda memilih Create Cluster From Backup, ClusterControl akan membuka dialog wizard penerapan untuk membantu Anda menyiapkan cluster baru:

Instance Replikasi Streaming PostgreSQL baru akan dibuat dari cadangan yang dipilih, yang akan digunakan sebagai basis dataset untuk cluster baru. Cadangan yang dipilih harus dapat diakses dari node di cluster baru, atau disimpan di host ClusterControl.

Mengklik "Lanjutkan" akan membuka wizard penerapan klaster basis data standar:

Perhatikan bahwa kata sandi pengguna root/admin untuk cluster ini harus sama dengan kata sandi admin/root PostgreSQL seperti yang disertakan dalam cadangan. Ikuti wizard konfigurasi yang sesuai dan ClusterControl kemudian lakukan penerapan dengan urutan berikut:

  1. Instal perangkat lunak dan dependensi yang diperlukan pada semua node PostgreSQL.
  2. Mulai simpul pertama.
  3. Streaming dan pulihkan cadangan pada node pertama.
  4. Konfigurasikan dan tambahkan node lainnya.

Setelah selesai, Cluster Replikasi PostgreSQL baru akan dicantumkan di bawah dasbor cluster ClusterControl setelah tugas penerapan selesai.

Kesimpulan

ClusterControl memungkinkan Anda untuk mengkloning atau menyalin cluster database ke beberapa lingkungan hanya dengan beberapa klik. Anda dapat mengunduhnya secara gratis hari ini. Selamat kloning!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Memantau Kontainer MySQL dengan Prometheus - Penerapan di Standalone dan Swarm::Bagian Satu

  2. Bagaimana LTRIM() Bekerja di MariaDB

  3. Bagaimana SIGN() Bekerja di MariaDB

  4. Apa yang Layak bagi Pelanggan Kami:Memperkenalkan Dokumentasi MariaDB Enterprise

  5. Praktik Terbaik dalam Penskalaan Basis Data:Bagian Kedua