Bagaimana pangkalan data GCP dapat dipindahkan dengan lancar? Gunakan Perkhidmatan Migrasi Pangkalan Data (DMS) untuk mencapai penghijrahan tanpa henti

awan 2026-06-04 阅读 5
cloud

Dalam bidang pengkomputeran awan, ada satu perkara yang membolehkan semua arkitek dan operasi dan penyelenggaraan (SRE) bekerja lebih masa sepanjang malam dan dalam ketakutan.

Penghijrahan pangkalan data

Ketika banyak orang mendengar "penempatan semula perpustakaan", gambar yang terlintas di fikiran mereka adalah: pilih tempoh puncak perniagaan yang rendah pada hari ke-30 atau pukul tiga pagi, tutup halaman utama untuk mengumumkan "penyelenggaraan sistem", dan kemudian dengan tergesa-gesa mengeksport SQL, Pindahkan fail, import perpustakaan baru, ubah konfigurasi... Keseluruhan prosesnya seperti berjalan dengan ketat pada ketinggian tinggi. Setelah pautan di tengah tersekat atau data tidak sesuai, waktu penangguhan perniagaan akan diperpanjang selama-lamanya.

Tetapi sebenarnya, pengeluar awan semasa telah lama tidak menyukai kaedah bergerak tegar seperti ini "membunuh seribu musuh dan merosakkan diri sendiri 800". Hari ini kita akan bercakap mengenai artifak yang disediakan oleh Google Cloud (GCP) --

Pangkalan Data Migration Service (DMS)

Sebagai orang yang melintasi lumpur di persekitaran pengeluaran, saya menggunakan bahasa yang paling mudah difahami hari ini, tanpa membincangkan istilah yang mengantuk dalam dokumen rasmi, dan mengajar anda cara menggunakan DMS untuk mencapai "Zero Downtime (Zero Downtime)" Bergerak dengan lancar.

1. Konsep teras: Apakah "zero downtime dan bergerak" DMS?

Sebelum melakukannya, kami menghabiskan satu minit untuk memahami logik asasnya. Inti kemampuan DMS untuk mencapai "zero downtime" adalah bahawa ia tidak membuang data sekaligus, tetapi terbahagi kepada dua tahap:

Pembelian Akaun Awan Google

Permulaan jumlah penuh (replikasi data stok):DMS pertama kali akan menyalin semua data sejarah yang ada dalam pangkalan data sumber ke pangkalan data sasaran GCP (seperti Cloud SQL). Dalam proses ini, perniagaan dalam talian anda beroperasi seperti biasa, dan membaca dan menulis biasa tidak akan terjejas sama sekali.

Penyegerakan tambahan (data penjejakan masa nyata): Apabila data sejarah dihantar, DMS akan membaca log perpustakaan sumber (seperti Binlog MySQL atau WAL PostgreSQL) untuk terus "menyegerakkan data perniagaan yang baru dihasilkan semasa tempoh bergerak penuh" "Ke perpustakaan baru. Pada masa ini, data perpustakaan lama dan baru hampir diselaraskan sepenuhnya dalam masa nyata.

Oleh kerana data pangkalan data lama dan baru konsisten, anda boleh menukar rentetan sambungan pangkalan data aplikasi ke alamat pangkalan data baru pada siang hari dan ketika perniagaan paling santai.

Masa gangguan perniagaan hanya berpuluh-puluh saat atau bahkan beberapa saat untuk memulakan semula aplikasi dan menukar konfigurasi.

2. "Tiga pemeriksaan keselamatan" sebelum bergerak (persiapan)

Bergerak dengan DMS adalah seperti terbang dengan kapal terbang. Setelah pemeriksaan keselamatan selesai, pelayaran akan menjadi separuh jalan. Tiga perkara berikut secara langsung menentukan sama ada penghijrahan akan gagal:

1. Buka log perpustakaan sumber (langkah paling kritikal)

DMS mesti dapat membaca log masa nyata perpustakaan sumber anda untuk melakukan penyegerakan tambahan.

Sekiranya perpustakaan sumber adalah MySQL: anda mesti memastikan bahawa binlog dihidupkan, dan binlog_format mesti ditetapkan ke ROW,binlog

_ Row_image ditetapkan kepada FULL.

Sekiranya perpustakaan sumber adalah PostgreSQL: anda perlu menetapkan wal_level ke logical dan mengkonfigurasi Slot Replikasi.

2. Fikirkan cara berkomunikasi dengan rangkaian (rancangan sambungan)

Perpustakaan sumber dan GCP mesti dapat bercakap dengan selamat. DMS menyediakan beberapa kaedah sambungan, disusun mengikut tahap keselamatan dan cadangan:

Sambungan VPC (sambungan peer-to-peer VPC): Sekiranya perpustakaan sumber anda sudah ada di VPC GCP atau bilik komputer yang disambungkan melalui talian khusus (Interconnect), ini adalah pilihan pertama, cepat dan selamat.

Reverse SSH Tunnel (terowong SSH terbalik): Skim awam yang paling biasa digunakan. Buka mesin maya kecil di rangkaian perpustakaan sumber sebagai mesin loncatan, dan sambungkan GCP melalui terowong yang disulitkan.

IP Dibenarkan (IP Awam): Paling mudah tetapi juga paling kurang disyorkan. Mendedahkan secara langsung IP rangkaian awam perpustakaan sumber ke rangkaian IP DMS. Sekiranya hanya ujian yang dapat dilakukan, gunakan dengan berhati-hati dalam persekitaran pengeluaran.

3. Buat akaun migrasi

Pembelian akaun Google Cloud

Jangan gunakan secara langsung

akar

Atau

pentadbir

Akaun tertinggi seperti ini untuk menjalankan dan berhijrah. Buat sementara

Dms_user

, Hanya berikan kebenaran membaca dan menyalin yang diperlukan (seperti MySQL

REPLICATION CLIENT

,

REPLICATION SLAVE

,

PILIH

Dll). Setelah bergerak, hapus akaun ini secara langsung, yang selamat dan elegan.

Tiga, pertempuran sebenar: empat langkah konfigurasi DMS

Setelah persiapan selesai, kami terus ke konsol GCP dan cari

Pangkalan Data Migration

Langkah pertama: buat "Migrasi Job"

Setelah mengklik Buat, anda perlu mengisi maklumat asas pekerjaan:

Jenis pangkalan data sumber: seperti MySQL yang dibina sendiri, AWS RDS atau pangkalan data awan yang lain.

Jenis Pangkalan Data Sasaran: Biasanya Cloud SQL atau AlloyDB yang dihoskan oleh GCP.

Jenis penghijrahan: Jangan teragak-agak untuk memilih "Continuous". Hanya dengan memilih ini, anda boleh bergerak tanpa henti; jika anda memilih "Satu Masa", data akan berakhir setelah penghantaran, tidak termasuk penyegerakan tambahan berikutnya.

Langkah 2: Konfigurasikan Sambungan Sumber

Inilah "maklumat pemeriksaan keselamatan" yang baru kami sediakan:

Masukkan alamat IP, port, akaun dms_user dan kata laluan perpustakaan sumber yang baru dibuat.

Pilih kaedah sambungan rangkaian yang telah anda tetapkan (seperti mengkonfigurasi Rev

Terowong SSH).

Klik "Uji Sambungan" untuk memastikan bar kemajuan menjadi hijau. Sekiranya ralat dilaporkan, biasanya firewall atau kumpulan keselamatan tidak melepaskannya, kembali dan periksa rangkaian.

Langkah 3: Konfigurasikan Perpustakaan Sasaran (Cloud SQL)

Sekiranya sasaran Cloud SQL belum dibuat, DMS membolehkan anda "membuat baru dengan satu klik" secara langsung di antara muka.

Anda boleh memilih konfigurasi yang sama dengan perpustakaan sumber (CPU, memori, ruang penyimpanan).

Cadangan yang kuat: By the way, periksa ketersediaan tinggi (HA) dan sandaran automatik perpustakaan sasaran, dan letakkan dalam satu langkah.

Langkah 4: Mulakan Pengesahan dan Jalankan (Start Job)

Sebelum mengklik untuk menjalankan, DMS akan mempunyai fungsi "pra-pemeriksaan" yang sangat kuat. Ia akan membantu anda memeriksa secara automatik: Adakah format log perpustakaan sumber betul? Adakah kebenaran mencukupi? Versi tidak serasi?

Sekiranya terdapat ralat merah, ikuti arahan untuk pergi ke perpustakaan sumber untuk mengubah konfigurasi; jika semuanya berwarna hijau, klik terus

"Mula (Mula)"

4. Cutover: Cara menembak "tembakan terakhir" dengan sempurna

Apabila kerja dijalankan, anda akan melihat bahawa keadaan menjadi

Penuh dump in program

(Eksport penuh), kemudian menjadi

CDC dalam program

(Penyegerakan tambahan).

Apabila keadaan masuk

CDC dalam program

Dan

"Penyegerakan Kelewatan (Lag)" menghampiri 0

Pada masa itu, ini bermaksud bahawa data perpustakaan baru dan perpustakaan lama telah diselaraskan sepenuhnya. Pada masa ini, kita dapat menyiapkan "pemotongan" yang sebenar.

Inilah intipati untuk menentukan kejayaan atau kegagalan penutupan sifar, sila ikuti langkah-langkah di bawah:

1. Perniagaan memotong ke arah "baca sahaja"

Untuk mengelakkan kesalahan data baru dalam beberapa saat untuk menukar sambungan, pertama-tama tetapkan perkhidmatan ke "mod baca sahaja" pada lapisan aplikasi atau pangkalan data sumber.

2. Menunggu gelombang terakhir data DMS terikat

Perhatikan antara muka DMS untuk memastikan bahawa kelewatan (Lag) menjadi 0 sepenuhnya. Ini bermaksud bahawa beberapa data terakhir yang dihasilkan oleh perpustakaan sumber sebelum hanya membaca telah terbaring dengan stabil di perpustakaan baru GCP.

3. Klik "Selesai (Promote)" pada DMS

Klik pada konsol GCP

"Promote"

Butang. Tindakan ini akan melakukan dua perkara:

Pecahkan hubungan penyegerakan antara perpustakaan baru dan perpustakaan lama.

Pembelian akaun Google Cloud

Tingkatkan sasaran Cloud SQL dari "penerima baca sahaja" ke "perpustakaan induk pengeluaran yang boleh dibaca dan ditulis sepenuhnya".

4. Ubah konfigurasi aplikasi dan dalam talian sepenuhnya

Tukar konfigurasi sambungan pangkalan data aplikasi anda ke alamat IP Cloud SQL baru, batalkan mod baca sahaja aplikasi, dan mulakan semula perkhidmatan.

Periksa perniagaan untuk melihat apakah pesanan di meja depan dan log masuk di latar belakang adalah normal. Sekiranya semuanya berjalan lancar, tahniah, langkah pangkalan data yang mendebarkan ini sedang digunakan

Apabila isi rumah sama sekali tidak mempunyai persepsi, ia berjaya diselesaikan!

Lima, pemula mengelakkan lubang dan bercakap mengenai pengalaman

Walaupun DMS sangat berguna, sebagai orang yang datang ke sini, terdapat beberapa lubang yang tidak dapat dilihat yang mesti mengingatkan anda:

Jadual besar tidak mempunyai kunci utama (Kunci Utama): Sekiranya anda mempunyai beberapa jadual yang sangat besar di perpustakaan sumber, dan tidak ada kunci utama di dalamnya, prestasi DMS akan sangat buruk ketika melakukan penyegerakan tambahan (CDC), dan bahkan boleh menyebabkan penyegerakan tersekat mati. Sebelum berpindah, pastikan pelajar pembangunan melengkapkan kunci utama jadual tanpa kunci utama.

Jangan menjimatkan lebar jalur rangkaian: lebar jalur rangkaian sangat banyak digunakan semasa fasa bergerak penuh. Sekiranya perpustakaan sumber anda berada di ruang komputer tempatan, lebar jalur talian khusus atau rangkaian awam terlalu kecil, bukan sahaja bergerak selama beberapa hari dan malam, tetapi juga dapat menekan lebar jalur perkhidmatan biasa di ruang komputer anda. Ingatlah untuk memulakan pergerakan penuh semasa tempoh puncak perniagaan rendah, atau menetapkan had lalu lintas di DMS.

Perhatikan masalah zon waktu (Timezone): Cloud SQL adalah zon waktu UTC secara lalai. Sekiranya perpustakaan sumber anda menggunakan Asia/Shanghai (Daerah Lapan Timur), masa yang digunakan untuk mengetahui selepas penghijrahan mungkin kurang 8 jam. Ingatlah untuk menyesuaikan parameter zon waktu (default_timezone) sama dengan perpustakaan sumber semasa membuat perpustakaan sasaran.

📝Ringkasan

Perkhidmatan Migrasi Pangkalan Data GCP (DMS) pada dasarnya adalah

Alat penghijrahan tanpa pelayan percuma (Serverless)

(Anda hanya perlu membayar kos perkakasan dan rangkaian perpustakaan sasaran semasa proses migrasi, dan DMS sendiri tidak mengenakan yuran perisian).

Ini mengubah "perpustakaan pemindahan daging manusia manual" yang pernah tinggi dan berisiko tinggi menjadi tetikus kecil yang standard dan visual.

Ringkasan ayat terakhir:

Jangan gunakan pemikiran lama untuk menghentikan penyelenggaraan untuk membuang persekitaran pengeluaran. Gunakan DMS untuk melakukan penyegerakan kenaikan berterusan, ambil inisiatif di tangan anda sendiri, dan pindahkan perpustakaan dengan minum kopi pada siang hari. Inilah postur elegan yang harus dimiliki oleh operasi dan penyelenggaraan awan moden!

1
← 返回新闻中心