Penjelasan terperinci mengenai lingudcloud: sandaran pangkalan data Alibaba Cloud RDS MySQL dan pertempuran pemulihan bencana antara wilayah
Siapa yang tidak pernah mengalami beberapa saat mendebarkan dalam projek Internet?
"Menghapus pangkalan data pengeluaran secara tidak sengaja", "Kabel optik bilik komputer dipotong", dan "Penyulitan ransomware", kemalangan ini yang terdengar seperti lelucon, selagi ia berlaku sekali, boleh ditutup secara langsung oleh syarikat.
Ramai orang telah membeli Alibaba Cloud RDS MySQL dan berpendapat bahawa semuanya akan baik-baik saja jika mereka mengklik "sandaran automatik". Tetapi adakah anda pernah memikirkannya: Sekiranya seluruh bandar di mana bilik komputer awan berada mengalami bencana alam yang melampau, atau akaun Alibaba Cloud anda dicuri, dan penggodam menghapus sandaran awan bersama-sama, apa yang harus anda lakukan?
Hari ini, jangan bincangkan konsep maya, pergi terus ke barang kering tegar. Bawa anda
Bina satu set sandaran RDS MySQL dan sistem pemulihan bencana rentas wilayah dari awal
。 Keseluruhan latihan pertempuran sebenarnya, tanpa omong kosong.
Logik pemulihan bencana teras: Apakah matlamat kita?
Sebelum memulakan, mari kita lihat struktur "tiga garis pertahanan" yang ingin kita capai:
Teks biasa
Database Pangkalan data penghasilan】
│
Line Line Pertahanan 1 ───> [Sandaran Automatik Tempatan] (Anti-penghapusan yang salah, anti-kegagalan harian)
│
├──Pertahanan 2 ──> [Penyegerakan sandaran antara wilayah] (Bencana bilik komputer peringkat bandar Fangcheng)
│
└ ──Pertahanan 3 ──> [Pulihkan mesin yang berbeza di tempat yang berbeza] (Latihan pertempuran sebenar untuk memastikan bahawa sandaran benar-benar tersedia)
Langkah 1: Konfigurasikan sandaran automatik tempatan (Garis Pertahanan 1: Kehidupan harian)
Alibaba Cloud RDS akan membuka sandaran secara lalai, tetapi konfigurasi lalai sering "tidak cukup lama" atau "tidak cukup rahsia". Kita perlu mengoptimumkannya secara manual.
1. Laraskan strategi sandaran
Log masuk ke konsol Cloud Alibaba dan masukkan "Cloud Database RDS Version".
Klik "Senarai Contoh" di menu di sebelah kiri untuk memasukkan contoh MySQL anda.
Cari "Sandaran dan Pemulihan" di bar navigasi kiri, dan klik "Tetapan Dasar Sandaran" di sebelah kanan.
2. Parameter utama disesuaikan seperti ini:
Kitaran sandaran data: Sangat disarankan untuk memeriksa setiap hari (lalai mungkin sandaran setiap beberapa hari). Jangan mengambil risiko untuk menjimatkan sedikit kos simpanan.
Hari penyimpanan sandaran data: Persekitaran pengeluaran mengesyorkan sekurang-kurangnya 30 hari. Sekiranya industri mempunyai syarat pematuhan (seperti kewangan, perubatan), ia perlu disesuaikan lebih tinggi.
Backup log (Binlog): mesti dihidupkan! Ini adalah kunci anda untuk mencapai "pemulihan tepat ke tahap kedua". Tempoh tempahan Binlog disyorkan sekurang-kurangnya 7 hari.
Langkah 2: Hidupkan penyegerakan sandaran antara wilayah (Garis Pertahanan 2: Mencegah bencana bandar)
Sekiranya pangkalan data pengeluaran anda berada di ruang komputer "Beijing", maka sandaran tempatan anda juga ada di Beijing. Sekiranya terdapat kegagalan infrastruktur awan yang jarang berlaku di seluruh kawasan Beijing, sandaran anda tidak akan tersedia.
Pada masa ini, kita perlu menyegerakkan sandaran secara automatik ke bandar lain yang berjarak ribuan kilometer (seperti "Shenzhen" atau "Shanghai").
1. Buka sandaran antara wilayah
Juga di halaman "Sandaran dan Pemulihan", beralih ke tab "Tetapan Sandaran Merentas Wilayah".
Klik "pembaikan
Ubah tetapan "dan ubah status menjadi" Hidupkan ".
Kawasan tujuan: Pilih bandar yang jauh dari jarak fizikal bilik pengeluaran anda. Contohnya, pengeluarannya berada di Hangzhou, dan Beijing atau Shenzhen dipilih dari tempat lain.
2. Pemilihan jenis sandaran
Periksa "Sandaran Data Merentas Wilayah" dan "Sandaran Log Merentas Wilayah".
Catatan: Penyegerakan antara wilayah akan dihantar secara tidak segerak oleh latar belakang Alibaba Cloud setelah sandaran tempatan selesai, dan tidak akan memenuhi lebar jalur dan prestasi pangkalan data pengeluaran anda.
Langkah 3: Latihan pertempuran sebenar-tarik dan pulihkan data di tempat yang berbeza (fokus)
Tidak kira seberapa baik sandaran dilakukan, jika pemulihan belum dilakukan, itu hanyalah sekumpulan "fail binari Schrödinger". Anda tidak tahu sama ada ia boleh digunakan pada saat genting.
Sekarang senario simulasi:
Perpustakaan pengeluaran Beijing lumpuh sepenuhnya, dan kita perlu menggunakan sandaran rentas wilayah untuk membina pangkalan data baru di bilik komputer Shenzhen.
Senario A: Kembali ke "contoh klon" baru (paling selamat dan paling disyorkan)
Apabila anda memerlukan data yang lengkap dan utuh, atau perlu mengembalikan data ke titik waktu tertentu beberapa hari yang lalu, gunakan kaedah ini.
Log masuk ke konsol Alibaba Cloud RDS dan beralih ke bandar tujuan sandaran antara wilayah anda (contohnya: Shenzhen).
Masukkan "Sandaran dan Pemulihan" di menu kiri dan klik senarai "Sandaran Merentas Wilayah".
Cari fail sandaran yang ingin anda pulihkan, atau klik "Pulihkan bila-bila masa".
Pilihan utama: Pulihkan data sejarah ke: pilih "contoh baru". Pemilihan titik masa: Anda boleh menyemak dengan tepat tahun tertentu, bulan tertentu, hari tertentu, minit tertentu dan detik tertentu. Inilah kekuatan yang membuka sandaran log Binlog.
Klik Seterusnya dan sistem akan membolehkan anda membeli "pangkalan data klon" sementara.
Setelah pembayaran diaktifkan, Alibaba Cloud secara automatik akan memuat turun sandaran jauh dan memainkan semula log Binlog. Lebih kurang 10 ~ Dalam 30 minit (bergantung pada jumlah data), pangkalan data baru yang mengandungi data sejarah anda akan muncul di bilik komputer Shenzhen.
Senario B: Muat turun fail sandaran dan pulihkan secara manual ke pelayan tempatan atau buatan sendiri
Sekiranya syarikat tidak mahu mengeluarkan lebih banyak wang untuk membuka contoh baru di awan, atau anda perlu memuat turun data ke pelayan rangkaian pejabat tempatan untuk analisis data, anda boleh memuat turunnya secara manual.
1. Muat turun fail
Dalam senarai sandaran antara wilayah, cari sandaran data yang sesuai dan klik di sebelah kanan
“Muat turun”
(Jika diminta bahawa alamat muat turun tidak dihasilkan, klik "Hasilkan alamat muat turun sandaran contoh" dan tunggu beberapa minit sebelum memuat turun).
💡Fail sandaran fizikal yang disediakan oleh Alibaba Cloud RDS biasanya. Tar.gz atau dibungkus melalui alat Percona XtraBackup.
2. Pertempuran sebenar pemulihan pelayan Linux yang dibina sendiri (ambil NRE / XtraBackup sebagai contoh)
Andaikan apa yang anda muat turun adalah pakej pemampatan sandaran fizikal. Selepas penyahmampatan, kita perlu menggunakan alat Percona untuk memulihkannya.
Langkah pertama adalah memasang alat XtraBackup (versi mesti sesuai dengan versi MySQL anda,
MySQL 8.0 mesti menggunakan XtraBackup 8.0).
Langkah kedua adalah melaksanakan perintah penyahmampatan dan penyediaan (Prepare):
Bash
#1. Buat direktori data yang bersih
Mkdir-p /var/lib/mysql_recovery
#2. Sediakan data fail penyahmampatan yang dimuat turun (dengan andaian ia telah dizip)
Xtrabackup-prepare-target-dir =/var/lib/mysql_recovery
Fungsi langkah ini adalah untuk menggulung kembali transaksi yang belum sempat diserahkan semasa membuat sandaran, dan menulis transaksi yang telah diserahkan ke cakera untuk memastikan konsistensi data.
Langkah ketiga adalah mengubah kebenaran dan mengubah suai profil MySQL:
Bash
Chown-R mysql:mysql /var/lib/mysql_recovery
Dalam MySQL yang dibina sendiri
My.cn f
Di, letakkan
Datadir
Arahkan ke ini
/Var/lib/mysql_recovery
Direktori, dan kemudian mulakan semula perkhidmatan MySQL, data akan dihidupkan semula dengan sempurna.
Sejarah mengelakkan darah dan air mata di persekitaran pengeluaran
Jangan letakkan data dan sandaran di bawah akaun Alibaba Cloud yang sama! Sekiranya anda menemui "pekerja menghapus pangkalan data dan melarikan diri" yang legendaris atau "akaun bos syarikat dicuri" yang sering berlaku di utara dan selatan, perkara pertama yang dilakukan oleh penggodam adalah melepaskan semua RDS dan sandaran anda. Pelan keselamatan utama: Di bawah akaun Alibaba Cloud yang sepenuhnya bebas yang dikendalikan oleh eksekutif, buka pelayan ringan berprofil rendah atau penyimpanan OSS, dan gunakan skrip automatik setiap hari untuk menarik sandaran pangkalan data di seluruh akaun.
Perhatikan bahawa had sandaran percuma "yuran simpanan tempatan" dan "yuran penghantaran antara wilayah" Alibaba Cloud adalah terhad (biasanya sama dengan kapasiti pangkalan data anda). Bahagian yang berlebihan akan mengenakan yuran simpanan yang tinggi. Penyegerakan antara wilayah juga akan mengenakan sejumlah kecil yuran penghantaran rangkaian. Petua menjimatkan wang: Untuk sandaran log (Binlog), jika operasi penulisan perniagaan sangat kerap, jumlah log akan sangat menakutkan. Masa penyimpanan log tempatan dapat dipendekkan dengan tepat menjadi 3-5 hari, dan waktu penyimpanan jarak jauh dapat diperpanjang untuk menyeimbangkan biaya dan keselamatan.
Latihan berkala, walaupun banyak pasukan teknikal menulis skrip sandaran pada suku pertama, mereka akan diletakkan di rak. Akibatnya, saya mengalami kemalangan setahun kemudian. Semasa saya memuat turun sandaran, saya mendapati bahawa kerana versi yang tidak serasi atau satu parameter yang kurang ditulis dalam skrip pada tahun itu, fail sandaran semuanya rosak. Menulis "latihan pemulihan" ke dalam KPI pasukan teknikal adalah pemulihan bencana yang sebenarnya.
Ambil langkah berjaga-jaga sebelum ia berlaku, periksa strategi sandaran Alibaba Cloud RDS anda malam ini!

