Setelah mengaktifkan cadangan otomatis untuk Alibaba Cloud Elasticsearch, sistem akan mencadangkan data indeks sesuai interval yang dikonfigurasi. Cadangan ini dapat digunakan untuk memulihkan data akibat penghapusan tidak disengaja atau kesalahan logika aplikasi.
Catatan penggunaan
Cadangan dan pemulihan data memerlukan plugin
elasticsearch-repository-oss, yang telah dipra-instal pada semua instans Alibaba Cloud Elasticsearch dan tidak dapat dihapus. elasticsearch-repository-oss.Snapshot hanya menyimpan data indeks — bukan data pemantauan (indeks dengan awalan
.monitoringatau.security_audit), metadata, translog, konfigurasi, paket, plugin, atau log. Cadangan otomatis hanya menyimpan snapshot selama 7 hari terakhir. Snapshot yang kedaluwarsa akan dihapus secara otomatis dan tidak dapat dipulihkan. Untuk menyimpan data lebih dari 7 hari, ekspor atau migrasikan snapshot sebelum kedaluwarsa menggunakan Cadangan dan pemulihan manual atau Mencadangkan snapshot secara otomatis ke bucket OSS lokal. Snapshot cadangan otomatis hanya dapat dipulihkan ke kluster asal. Untuk memulihkan data ke kluster berbeda, gunakan cadangan dan pemulihan manual.Metadata indeks untuk cadangan otomatis tidak boleh melebihi
100 MB. Jika melebihi, tugas cadangan mungkin gagal. Gunakan cadangan dan pemulihan manual sebagai gantinya.Snapshot pertama merupakan salinan data lengkap dan dapat memakan waktu lama. Gunakan cadangan dan pemulihan manual untuk cadangan awal.
Mengaktifkan cadangan otomatis dan membuat repositori snapshot (
aliyun_auto_snapshot) tidak dikenai biaya.Cadangan otomatis pertama, atau cadangan apa pun yang memicu cadangan penuh, melakukan salinan data lengkap dan mengonsumsi sumber daya CPU serta I/O kluster, yang dapat memengaruhi kinerja bisnis. Kami menyarankan Anda menjadwalkan cadangan otomatis pada jam sepi, seperti dini hari, untuk mengurangi dampak terhadap kinerja bisnis.
Aktifkan cadangan otomatis dan konfigurasi alert kluster
Aktifkan cadangan otomatis
Masuk ke Konsol Alibaba Cloud Elasticsearch.
Di panel navigasi kiri, klik Elasticsearch Clusters.
Di bilah menu atas, pilih kelompok sumber daya dan wilayah.
Pada halaman Elasticsearch Clusters, klik ID instans target.
Di panel navigasi kiri, klik Data Backup.
Di area Snapshots (Free Trial), aktifkan sakelar Auto Snapshot.
Klik Set di samping Auto Snapshot Period.
Untuk instans, waktu cadangan otomatis dihasilkan oleh sistem dan tidak dapat diubah.
Di panel Auto Snapshot Configuration, pilih Frequency (saat cadangan otomatis dijalankan).
Siklus cadangan
Deskripsi
Setiap 30 menit
Mencadangkan setiap 30 menit.
Harian
Mencadangkan setiap hari pada waktu yang dapat dikustomisasi.
Kustom
Siklus dan waktu cadangan kustom.
Waktu cadangan otomatis menggunakan zona waktu lokal wilayah tempat instans berada.
Klik OK.
Konfigurasi alert kluster
Setelah mengaktifkan cadangan otomatis, konfigurasikan alert kluster untuk memantau status cadangan snapshot. Nilai snapshot status (value) sebesar 2 pada halaman pemantauan menunjukkan tugas snapshot gagal.
Jalankan /_cat/snapshots/aliyun_auto_snapshot?format=json untuk memeriksa status snapshot terbaru. Lakukan cadangan manual jika diperlukan.
Status snapshot dapat berupa salah satu berikut:
SUCCESS: Semua shard berhasil dicadangkan.
PARTIAL: Beberapa shard gagal dicadangkan.
FAILED: Tugas cadangan gagal.
Jika tidak ada snapshot terbaru, berarti cadangan tidak dipicu. Pengecualian pada tingkat kluster atau node dapat mencegah cadangan otomatis.
Lihat snapshot cadangan
Setelah mengaktifkan cadangan otomatis, gunakan API _snapshot di Konsol Kibana untuk melihat snapshot. Terhubung ke kluster melalui Kibana.
Lihat repositori snapshot.
GET _snapshotContoh respons:
{ "aliyun_auto_snapshot" : { "type" : "oss", "settings" : { "compress" : "true", "base_path" : "cf95b9-185320276651****/es-cn-09k2053us0003****", "endpoint" : "http://oss-cn-hangzhou-internal.aliyuncs.com" } } }Parameter
Deskripsi
aliyun_auto_snapshot
Repositori snapshot otomatis, dibuat saat snapshot pertama. Selalu bernama
aliyun_auto_snapshot. Repositori menyimpan beberapa snapshot, masing-masing berisi data cadangan untuk semua, sebagian, atau satu indeks.type
Media penyimpanan.
ossmenunjukkan Object Storage Service (OSS).compress
Apakah file metadata snapshot (pemetaan dan pengaturan indeks) dikompresi. Tidak memengaruhi file data. Default:
false.base_path
Jalur penyimpanan di OSS.
endpoint
Titik akhir bucket OSS untuk wilayah instans.
Lihat informasi semua snapshot dalam repositori
aliyun_auto_snapshot.GET _snapshot/aliyun_auto_snapshot/_allContoh respons:
{ "snapshots": [ { "snapshot": "es-cn-09k2053us0003****_20210117030003", "uuid": "vIdSCkthTeGa0nSj4D****", "version_id": 5050399, "version": "5.5.3", "indices": [ ".kibana" ], "state": "SUCCESS", "start_time": "2018-06-28T01:22:39.609Z", "start_time_in_millis": 1530148959609, "end_time": "2018-06-28T01:22:39.923Z", "end_time_in_millis": 1530148959923, "duration_in_millis": 314, "failures": [ ], "shards": { "total": 1, "failed": 0, "successful": 1 } }, { "snapshot": "es-cn-09k2053us0003****_20210118030004", "uuid": "XKO_Uwz_Qu6mZrU3Am****", "version_id": 5050399, "version": "5.5.3", "indices": [ ".kibana" ], "state": "SUCCESS", "start_time": "2018-06-28T01:25:00.764Z", "start_time_in_millis": 1530149100764, "end_time": "2018-06-28T01:25:01.482Z", "end_time_in_millis": 1530149101482, "duration_in_millis": 718, "failures": [ ], "shards": { "total": 1, "failed": 0, "successful": 1 } } ] }Cadangan otomatis dijadwalkan berdasarkan zona waktu lokal wilayah instans, tetapi respons API mengembalikan timestamp dalam UTC. Waktu Standar Tiongkok (UTC+8) adalah 8 jam lebih cepat daripada UTC.
Field
statemenunjukkan status snapshot:Snapshot Status
Deskripsi
IN_PROGRESS
Snapshot sedang berlangsung.
SUCCESS
Snapshot selesai. Semua data shard tersimpan.
FAILED
Snapshot gagal.
PARTIAL
Berhasil sebagian. Setidaknya satu shard tidak tersimpan.
INCOMPATIBLE
Snapshot tidak kompatibel dengan versi instans Alibaba Cloud Elasticsearch.
Snapshot cadangan otomatis memiliki parameter default tambahan berikut:
Parameter
Deskripsi
max_snapshot_bytes_per_sec
Throughput maksimum snapshot per node. Default: 40 MB/detik.
max_restore_bytes_per_sec
Throughput maksimum pemulihan per node. Default: 40 MB/detik.
chunk_size
Ukuran chunk untuk membagi file besar selama snapshot (misalnya,
1g,10m,5k). Default:null(tidak terbatas).Lihat informasi detail tentang snapshot tertentu dalam repositori
aliyun_auto_snapshot.GET _snapshot/aliyun_auto_snapshot/<snapshot>/_status<snapshot>: Nama snapshot cadangan otomatis (dari perintah all-snapshots di atas). Contoh:
es-cn-09k2053us0003****_20210118030004.Contoh respons:
{ "snapshots": [ { "snapshot": "es-cn-09k2053us0003****_20210118030004", "repository": "aliyun_auto_snapshot", "uuid": "XKO_Uwz_Qu6mZrU3Am****", "state": "SUCCESS", "shards_stats": { "initializing": 0, "started": 0, "finalizing": 0, "done": 1, "failed": 0, "total": 1 }, "stats": { "number_of_files": 4, "processed_files": 4, "total_size_in_bytes": 3296, "processed_size_in_bytes": 3296, "start_time_in_millis": 1530148959688, "time_in_millis": 77 }, "indices": { ".kibana": { "shards_stats": { "initializing": 0, "started": 0, "finalizing": 0, "done": 1, "failed": 0, "total": 1 }, "stats": { "number_of_files": 4, "processed_files": 4, "total_size_in_bytes": 3296, "processed_size_in_bytes": 3296, "start_time_in_millis": 1530148959688, "time_in_millis": 77 }, "shards": { "0": { "stage": "DONE", "stats": { "number_of_files": 4, "processed_files": 4, "total_size_in_bytes": 3296, "processed_size_in_bytes": 3296, "start_time_in_millis": 1530148959688, "time_in_millis": 77 } } } } } } ] }
Pulihkan data dari cadangan otomatis
Memulihkan indeks sistem (dengan awalan .) dapat menyebabkan Kibana tidak dapat diakses. Jangan pulihkan indeks sistem.Di Konsol Kibana, jalankan perintah berikut untuk memulihkan data indeks dari snapshot:
Pulihkan semua indeks dari snapshot tertentu (berjalan di latar belakang).
POST _snapshot/aliyun_auto_snapshot/<snapshot>/_restore<snapshot>: Nama snapshot cadangan otomatis, misalnya,
es-cn-abcdefghij****_20180627091600.Pulihkan semua indeks dari snapshot tertentu dan tunggu hingga tugas selesai.
API _restore bersifat asinkron. Tambahkan
wait_for_completionuntuk menunggu hingga selesai:POST _snapshot/aliyun_auto_snapshot/<snapshot>/_restore?wait_for_completion=true<snapshot>: Nama snapshot cadangan otomatis, misalnya,
es-cn-abcdefghij****_20180627091600.Pulihkan indeks tertentu dari snapshot dan ubah namanya selama proses (berjalan di latar belakang).
POST _snapshot/aliyun_auto_snapshot/<snapshot>/_restore { "indices": "index_1", "rename_pattern": "index_(.+)", "rename_replacement": "restored_index_$1" }Parameter
Deskripsi
<snapshot>
Nama snapshot cadangan otomatis, misalnya,
es-cn-abcdefghij****_20180627091600.indices
Nama indeks yang akan dipulihkan.
rename_pattern
Opsional. Ekspresi reguler untuk mencocokkan nama indeks yang ingin dipulihkan.
rename_replacement
Opsional. Pola pengganti untuk mengubah nama indeks yang cocok.
Nonaktifkan cadangan otomatis
Masuk ke Konsol Alibaba Cloud Elasticsearch.
Di panel navigasi kiri, klik Elasticsearch Clusters.
Di bilah menu atas, pilih kelompok sumber daya dan wilayah.
Pada halaman Elasticsearch Clusters, klik ID instans target.
Di panel navigasi kiri, klik Data Backup.
Di area Snapshots (Free Trial), matikan sakelar Auto Snapshot.
FAQ
Mengapa cadangan otomatis gagal atau mengapa snapshot inkremental memakan waktu sama lama dengan snapshot lengkap?
Cadangan otomatis mungkin gagal atau snapshot inkremental memakan waktu sama lama dengan snapshot lengkap ketika batas permintaan per detik (QPS) OSS terlampaui, sehingga muncul error QpsLimitExceeded. Hal ini lebih umum terjadi pada jam sibuk seperti pukul 00.00–02.00.
Untuk mengatasi masalah ini:
Atur ulang jadwal cadangan otomatis ke jam sepi, seperti pukul 03.00–04.00, untuk mengurangi kemungkinan pembatasan kecepatan QPS OSS.
Jika cadangan gagal, tunggu dan coba lagi nanti. Masalah ini biasanya bersifat sementara dan tidak memengaruhi operasi kluster atau beban kerja bisnis secara normal.
Bagaimana cara melihat snapshot cadangan otomatis di konsol?
Untuk instans Elasticsearch cloud-native PaaS, konsol tidak menyediakan entri langsung untuk melihat snapshot cadangan otomatis. Gunakan salah satu metode berikut sebagai gantinya:
Kibana: Masuk ke Konsol Kibana untuk kluster Anda, lalu buka Management > Snapshot and Restore untuk melihat snapshot yang tersedia.
API: Jalankan perintah berikut di Konsol Dev Tools Kibana atau panggil API Elasticsearch secara langsung:
GET _snapshot/aliyun_auto_snapshot/_allPerintah ini mengembalikan semua snapshot dalam repositori
aliyun_auto_snapshot, termasuk nama snapshot, status, waktu mulai, dan informasi indeks.
Apa yang harus dilakukan jika tugas cadangan otomatis tetap dalam status IN_PROGRESS dalam waktu lama atau cadangan berikutnya gagal?
Elasticsearch hanya mengizinkan satu tugas snapshot berjalan dalam satu waktu untuk repositori yang sama. Jika tugas snapshot sebelumnya hang selama fase startup akibat fluktuasi kluster sementara (status tugas menunjukkan IN_PROGRESS tetapi tidak ada data yang benar-benar ditulis), tugas cadangan otomatis berikutnya akan dilewati diam-diam untuk menghindari konflik data. Akibatnya, cadangan dapat gagal terus-menerus.
Untuk mengatasi masalah ini:
Masuk ke Konsol Kibana untuk kluster Anda dan jalankan perintah berikut untuk mengidentifikasi snapshot yang macet:
GET _snapshot/aliyun_auto_snapshot/_allJalankan perintah berikut untuk membatalkan tugas snapshot yang macet dan membersihkannya:
POST _snapshot/aliyun_auto_snapshot/<snapshot>/_cancel
Kami menyarankan Anda mengonfigurasi aturan alert kustom untuk mendeteksi tugas snapshot yang tetap dalam status IN_PROGRESS lebih dari 1 jam, sehingga Anda dapat mengidentifikasi dan menangani masalah tersebut secara tepat waktu.
Apa yang harus dilakukan jika cadangan otomatis berhenti dan tidak ada snapshot baru yang dihasilkan setelah upgrade instans atau perubahan konfigurasi?
Masalah ini biasanya disebabkan oleh konfigurasi repositori lintas kluster yang mereferensikan kluster itu sendiri, sehingga mencegah penulisan snapshot.
Untuk mengatasi masalah ini:
Hapus konfigurasi repositori lintas kluster yang salah dan repositori snapshot otomatis yang ada (
aliyun_auto_snapshot).Di Konsol Alibaba Cloud Elasticsearch, matikan cadangan otomatis lalu aktifkan kembali.
Sistem secara otomatis membuat ulang repositori snapshot dan melanjutkan cadangan normal pada waktu cadangan terjadwal berikutnya.