Cloud TSDB for InfluxDB akan segera dihentikan, sehingga data yang ada harus dimigrasikan. Topik ini menjelaskan cara menggunakan alat backup dan restore InfluxDB untuk memindahkan data historis dari instans cloud Anda ke instans InfluxDB 1.x self-hosted, shard demi shard.
TSDB for InfluxDB® akan secara resmi dihentikan pada 23 Oktober 2026. Untuk memastikan layanan tidak terganggu, selesaikan migrasi data Anda sebelum tanggal tersebut. Untuk detail mengenai penghentian ini, lihat pemberitahuan penghentian TSDB for InfluxDB®.
Prasyarat
-
Tingkatkan instans cloud TSDB for InfluxDB Anda ke versi 1.8.14 atau lebih baru.
-
Kirim tiket melalui sistem tiket Alibaba Cloud untuk menghubungi dukungan teknis dan mengaktifkan port backup 8088.
-
Beli Instance ECS dengan spesifikasi yang sama di wilayah, zona, VPC, dan vSwitch yang sama dengan instans TSDB for InfluxDB Anda. Instance ECS ini digunakan untuk migrasi dan sebagai host InfluxDB self-hosted. Untuk informasi selengkapnya, lihat Buat Instance ECS.
-
Unduh InfluxDB open-source 1.8.10, lalu selesaikan instalasi, startup, dan konfigurasi dasar untuk dijadikan instans tujuan self-hosted.
-
Baca bagian Backup and Restore dalam dokumentasi resmi InfluxDB untuk memahami proses backup dan restore.
-
Pastikan ruang penyimpanan yang tersedia pada instans cloud TSDB for InfluxDB Anda minimal 40%. Operasi backup menggunakan ruang penyimpanan sementara pada instans tersebut. Jika ruang kosong tidak mencukupi, backup dapat gagal dan mengganggu operasi normal instans.
-
Pastikan penggunaan memori pada instans cloud TSDB for InfluxDB tidak melebihi 60%. Jika penggunaan memori melebihi 60%, tingkatkan spesifikasi instans sebelum menjalankan backup dan migrasi.
Pertimbangan
-
Backup dan restore hanya memindahkan data historis. Data inkremental yang ditulis setelah backup tidak dijamin ikut dimigrasikan. Kami menyarankan agar Anda menulis data ke cloud TSDB for InfluxDB dan InfluxDB self-hosted secara bersamaan sebelum memigrasikan data historis.
-
File backup menggunakan ruang penyimpanan pada Instance ECS yang menjalankan InfluxDB self-hosted. Sediakan kapasitas penyimpanan minimal dua kali lipat dari volume data Anda.
-
Migrasi data menggunakan strategi impor serial berdasarkan time shard. Selesaikan migrasi data penuh untuk seluruh database dalam satu time shard sebelum memulai time shard berikutnya.
Ikhtisar alur kerja
Migrasi dilakukan shard demi shard. Alur kerja lengkapnya adalah sebagai berikut:
-
Pastikan semua prasyarat telah terpenuhi.
-
Jalankan
SHOW SHARDSuntuk mendapatkan informasi tentang semua shard. -
Pilih satu shard dan jalankan
influxd backuppada Instance ECS untuk membuat backup data secara lokal. -
Jalankan
influxd restoreuntuk memulihkan backup ke database sementara pada instans InfluxDB self-hosted. -
Gunakan
SELECT INTOuntuk menulis data dari database sementara ke database tujuan. -
Verifikasi integritas data di database tujuan.
-
Hapus database sementara.
-
Ulangi langkah 3 hingga 7 untuk shard yang tersisa hingga semua shard berhasil dimigrasikan.
Prosedur
Lihat daftar shard
Sebelum melakukan backup, jalankan pernyataan InfluxQL berikut untuk melihat informasi semua shard dan menentukan shard yang akan dimigrasikan:
SHOW SHARDS
Dari hasil tersebut, peroleh bidang id, database, dan retention_policy untuk setiap shard. Bidang-bidang ini digunakan sebagai parameter dalam perintah backup selanjutnya. Anda harus menjalankan operasi backup dan restore pada setiap shard secara individual.
backup
Jalankan perintah backup pada Instance ECS yang menjalankan InfluxDB self-hosted untuk membuat backup data shard demi shard. Anda harus menentukan nama database, nama kebijakan retensi, dan ID shard untuk setiap backup.
-
Sintaks
influxd backup -portable \ -host <alamat VPC instans sumber:8088> \ -db <nama database> \ -rp <nama retention policy> \ -shard <ID shard> \ <direktori backup> -
Parameter
Parameter
Deskripsi
-portableMenggunakan format backup portable.
-hostTitik akhir VPC dan port backup dari instans cloud TSDB for InfluxDB, dalam format
ts-xxx:8088.-dbNama database yang akan dibackup.
-rpNama retention policy yang akan dibackup.
-shardID shard yang akan dibackup. Jalankan
SHOW SHARDSuntuk mendapatkan ID shard.<direktori backup>Direktori tempat file backup disimpan, misalnya
/root/tmp/influx_backup. -
Contoh
influxd backup -portable \ -host ts-xxx.influxdata.tsdb.aliyuncs.com:8088 \ -db example_db \ -rp example_rp \ -shard 123 \ /root/tmp/influx_backupCatatanPada contoh ini, ganti
ts-xxx.influxdata.tsdb.aliyuncs.com:8088,example_db,example_rp,123, dan/root/tmp/influx_backupdengan nilai yang sesuai dengan cakupan migrasi aktual Anda.
restore
Lihat dokumentasi resmi untuk memulihkan data ke database yang sudah ada.
-
Pada Instance ECS yang menjalankan InfluxDB self-hosted, jalankan perintah restore untuk memulihkan data ke database sementara.
-
Sintaks
influxd restore -portable \ -db <nama database yang dibackup> \ -rp <nama retention policy yang dibackup> \ -shard <ID shard> \ -newdb <nama database sementara> \ <direktori backup> -
Parameter
Parameter
Deskripsi
-portableMembaca format backup portable.
-dbNama database yang telah dibackup.
-rpNama retention policy yang telah dibackup.
-shardID shard yang telah dibackup.
-newdbNama database sementara tempat data dipulihkan.
<direktori backup>Direktori tempat data backup disimpan, misalnya
/root/tmp/influx_backup. -
Contoh
influxd restore -portable \ -db example_db \ -rp example_rp \ -shard 123 \ -newdb example_tmp_db \ /root/tmp/influx_backupPada contoh ini, ganti
example_db,example_rp,123,example_tmp_db, dan/root/tmp/influx_backupdengan nilai yang sesuai dengan konten backup aktual Anda.
-
-
Gunakan InfluxQL untuk mengkueri data dari database sementara dan menuliskannya ke database tujuan.
Untuk volume data besar,
SELECT INTOdapat menghasilkan data yang tidak lengkap karena timeout kueri. Pastikan hal berikut sebelum menjalankan:-
Jika timeout kueri diaktifkan (yaitu,
INFLUXDB_COORDINATOR_QUERY_TIMEOUTdiatur), tingkatkan nilainya menjadi cukup besar. Secara default, InfluxDB tidak menerapkan timeout kueri. -
Untuk skenario dengan volume data besar, jalankan
SELECT INTOsecara batch berdasarkan rentang waktu untuk menghindari timeout pada satu kueri.SELECT * INTO "example_db"."example_rp".:MEASUREMENT FROM "example_tmp_db"."example_rp"/.*/ GROUP BY *
/.*/adalah sintaks ekspresi reguler InfluxQL yang cocok dengan semua measurement. -
-
Verifikasi integritas data. Kueri jumlah baris di database sementara dan database tujuan. Pastikan data konsisten sebelum melanjutkan ke langkah berikutnya.
SELECT COUNT(*) FROM "example_tmp_db"."example_rp"/.*/ SELECT COUNT(*) FROM "example_db"."example_rp"/.*/ -
Hapus database sementara.
DROP DATABASE "example_tmp_db";
FAQ
-
T: Apakah backup dan restore memindahkan data inkremental?
J: Tidak, data inkremental tidak dimigrasikan secara otomatis.
influxd backuphanya menangkap data yang ada pada saat backup dilakukan. Data yang ditulis setelah backup selesai tidak termasuk. Kami menyarankan agar Anda menulis data ke cloud TSDB for InfluxDB dan InfluxDB self-hosted secara bersamaan sebelum memigrasikan data historis. -
T: Bagaimana cara melihat spesifikasi instans cloud TSDB for InfluxDB saya?
J: Masuk ke Konsol TSDB dan buka halaman Instance Details. Di bagian Configuration Information, lihat spesifikasi instans, termasuk kapasitas penyimpanan, CPU, memori database, tipe disk, dan versi engine.
-
T: Bagaimana cara menentukan apakah suatu instance masih memiliki lalu lintas baca atau tulis?
J: Masuk ke Konsol TSDB dan buka halaman Instance Monitoring. Pilih Engine Monitoring. Periksa metrik Data Points Written per Second untuk memastikan apakah permintaan tulis masih aktif, dan periksa metrik Queries per Second untuk memastikan apakah permintaan kueri masih aktif.
-
T: Bagaimana cara memigrasikan ke database yang berbeda?
J: Kami menyarankan agar Anda terlebih dahulu memigrasikan ke instans InfluxDB self-hosted. Biaya migrasi relatif rendah, dan Anda dapat mempertahankan model data, bahasa kueri, serta pola penggunaan client yang sudah ada. Saat memigrasikan ke database yang berbeda, model data, bahasa kueri, presisi waktu, tipe data, dan alat impor mungkin berbeda dari InfluxDB. Evaluasi dan verifikasi migrasi berdasarkan kemampuan database tujuan. Topik ini tidak menyediakan langkah migrasi untuk database tertentu.