Basis pengetahuan

Ambil snapshot, dan kembalikan

Bagaimana snapshot diambil, mengapa crash-consistent biasanya cukup, cara quiesce saat tidak, dan apa yang dilakukan pemulihan pada instance yang berjalan.

Apa itu snapshot di sini

Salinan disk instance pada suatu titik waktu, diambil di lapisan penyimpanan dan ditulis ke penyimpanan yang berbeda dari tempat instance berjalan. Slot dijual dalam paket; satu slot menampung satu snapshot dan digunakan kembali saat Anda menimpanya. Mengambil snapshot tidak menghentikan instance, dan biaya copy-on-write pada menit-menit setelahnya cukup kecil sehingga jarang terlihat dalam grafik latensi.

Ini bukan cadangan. Snapshot berada di situs yang sama dengan instance, yang melindungi Anda dari kesalahan rm Anda sendiri dan bukan dari situs. Cadangan off-node adalah add-on terpisah, dienkripsi di sisi Anda, ditulis ke kota yang berbeda.

Mengambil snapshot

curl -s -X POST https://paragonvps.com/api/v1/instances/<instance-id>/snapshots -H "Authorization: Bearer $Paragon_TOKEN" -H "Content-Type: application/json" -d '{"label":"pre-upgrade"}'
curl -s https://paragonvps.com/api/v1/instances/<instance-id>/snapshots -H "Authorization: Bearer $Paragon_TOKEN" | jq -r '.[] | .id + " " + .label + " " + .created'

Konsisten terhadap crash, dan kapan itu tidak cukup

Snapshot dari instance yang berjalan adalah persis seperti apa disk itu setelah listrik padam. PostgreSQL, MariaDB, dan setiap filesystem jurnal dalam citra kami pulih dari keadaan itu saat start, karena memulihkan dari keadaan itu adalah fungsi mereka. Risikonya bukan sebenarnya database. Itu aplikasi Anda sendiri, di tengah-tengah menulis dua file yang harus sepakat satu sama lain.

Di mana Anda membutuhkan garis yang bersih, flush dan bekukan volume data untuk sesaat yang dibutuhkan:

sync
fsfreeze -f /srv/data
# take the snapshot here
fsfreeze -u /srv/data

Bekukan volume data. Jangan pernah membekukan /. Filesystem root yang beku menghentikan proses yang dimaksudkan untuk mencairkannya dari melakukan apa pun, dan jalan keluarnya adalah reset keras.

Untuk database, opsi yang lebih rapi adalah snapshot dan biarkan mesin memulihkan, lalu periksa apakah berhasil:

sudo -u postgres pg_isready
journalctl -u postgresql -n 50

Memulihkan

Pemulihan menghentikan instance, menukar disk dengan snapshot, dan menyalakannya lagi. Hitungan detik, bukan menit. Alamat tidak berubah, reverse DNS yang Anda atur tetap diatur, dan semua yang ditulis sejak snapshot hilang.

Itu termasuk apa pun yang membuat Anda memutuskan untuk memulihkan. Jika ada kemungkinan Anda ingin membaca log dari keadaan rusak, ambil snapshot dari keadaan itu terlebih dahulu lalu pulihkan di atasnya.

curl -s -X POST https://paragonvps.com/api/v1/snapshots/<snapshot-id>/restore -H "Authorization: Bearer $Paragon_TOKEN"

Penjadwalan

Jadwal per-instance tiba dengan revisi platform 5.4. Harian pada jam tetap dengan jendela bergulir adalah pilihan umum: yang tertua dihapus setelah slot penuh.

curl -s -X PUT https://paragonvps.com/api/v1/instances/<instance-id>/snapshot-schedule -H "Authorization: Bearer $Paragon_TOKEN" -H "Content-Type: application/json" -d '{"cron":"20 3 * * *","keep":7}'

Pilih jam yang tenang untuk beban kerja Anda daripada tenang untuk kami. Biaya penyimpanan snapshot sebanding dengan apa yang berubah setelahnya, jadi jadwal yang aktif selama pekerjaan batch malam Anda menyimpan lebih banyak data daripada yang aktif satu jam kemudian.

Membatalkan instance menghapus snapshot-nya

Segera, tanpa masa tenggang, karena disimpan terhadap instance. Apa pun yang ingin Anda simpan melewati pembatalan termasuk dalam cadangan off-node atau di tempat yang bukan kami sama sekali.

Siap saat Anda siap

Pilih kota. Pilih ukuran. Bayar dengan koin.

Tanpa formulir tentang siapa Anda, tanpa menunggu manusia untuk menyetujui, tanpa panggilan telepon untuk memverifikasi apa pun. Invoice dibersihkan dan kredensial masuk ke kotak masuk Anda.