All Products
Search
Document Center

Elastic Compute Service:Buat snapshot konsisten aplikasi

Last Updated:Aug 26, 2026

Untuk memastikan konsistensi data aplikasi seperti database saat pemulihan dari snapshot, flush data yang ada di memori ke disk sebelum pembuatan snapshot.

Latar Belakang

Saat Anda membuat grup snapshot konsisten dengan fitur snapshot konsisten aplikasi diaktifkan, sistem akan membuat salah satu jenis snapshot berikut berdasarkan skenario Anda.

Item

Snapshot konsisten aplikasi

Snapshot konsisten sistem file

Konsistensi data

Memastikan konsistensi data dalam aplikasi, seperti database.

Memastikan konsistensi data dalam sistem file.

Implementasi

  • Di Linux, fitur ini diimplementasikan dengan skrip shell kustom. Alibaba Cloud tidak menjamin konsistensi aplikasi saat menggunakan skrip kustom.

  • Di Windows, fitur ini diimplementasikan dengan layanan bawaan seperti Volume Shadow Copy Service (VSS).

    Catatan

    VSS adalah teknologi backup dan pemulihan Windows yang membuat snapshot saat file atau volume sedang digunakan. Lihat Volume Shadow Copy Service.

  • Di Linux, jika tidak ada skrip shell yang dikonfigurasi atau skrip gagal dijalankan, snapshot konsisten sistem file akan dibuat.

  • Di Windows, jika Contain Writers by Default tidak dipilih, snapshot konsisten sistem file akan dibuat.

    Catatan

    Writers adalah komponen utama VSS yang memastikan konsistensi data selama backup. Lihat Volume Shadow Copy Service.

Skenario yang Didukung

Cocok untuk aplikasi yang memerlukan konsistensi data, seperti database dan sistem bisnis kritis.

Cocok untuk skenario yang memerlukan konsistensi sistem file secara keseluruhan, seperti server file dan sistem manajemen dokumen.

Tag

APPConsistent:True

FsConsistent:True

Cara kerja

Alur kerja pembuatan snapshot berbeda antara instans Linux dan Windows.

Instans Linux

Secara default, sistem membuat snapshot konsisten sistem file. Setelah Anda mengunggah skrip prescript.sh dan postscript.sh, sistem memeriksa konsistensi aplikasi berdasarkan skrip tersebut. Jika pemeriksaan berhasil, snapshot ditandai sebagai konsisten aplikasi; jika tidak, tetap sebagai konsisten sistem file.

Tabel berikut menjelaskan kedua skrip tersebut.

Nama skrip

Fungsionalitas

Jenis

Path

Izin

Konten

prescript.sh

Menghentikan sementara semua operasi tulis ke aplikasi sebelum pembuatan snapshot untuk mencegah inkonsistensi data.

Shell

/tmp/prescript.sh

Hanya pengguna root yang memiliki izin baca, tulis, dan eksekusi pada skrip tersebut.

Buat skrip kustom sesuai kebutuhan bisnis Anda. Misalnya, ikuti prosedur di Langkah 1: Buat skrip prescript.sh dan postscript.sh.

postscript.sh

Memulihkan aplikasi dan melanjutkan operasi tulis setelah pembuatan snapshot selesai.

Shell

/tmp/postscript.sh

Penting

Nama skrip, jenis, dan path penyimpanan bersifat tetap. Gunakan nilai persis seperti yang tercantum di atas, atau skrip tidak akan berjalan.

  1. Aktifkan fitur snapshot konsisten aplikasi dan pastikan Asisten Cloud telah terpasang pada instans.

    Catatan

    Jika Asisten Cloud belum terpasang dan Anda memilih Enable Application-consistent Snapshot, Plugin Asisten Cloud akan dipasang secara otomatis.

  2. Asisten Cloud menjalankan skrip prescript.sh, menghentikan sementara operasi I/O, lalu membuat snapshot.

    • Jika pengaturan skrip benar dan skrip berhasil dijalankan, snapshot konsisten aplikasi akan dibuat.

    • Jika pengaturan skrip tidak valid atau skrip gagal dijalankan, snapshot konsisten sistem file akan dibuat sebagai gantinya.

  3. Asisten Cloud menjalankan skrip postscript.sh untuk melanjutkan operasi I/O.

Instans Windows

Setelah Anda mengaktifkan fitur snapshot konsisten aplikasi untuk instans Windows, Asisten Cloud melakukan pemeriksaan konsistensi aplikasi dengan VSS. Jika pemeriksaan berhasil, snapshot ditandai sebagai konsisten aplikasi; jika tidak, ditandai sebagai konsisten sistem file.

  1. Aktifkan fitur snapshot konsisten aplikasi dan pastikan Asisten Cloud telah terpasang pada instans.

    Catatan

    Jika Asisten Cloud belum terpasang dan Anda memilih Enable Application-consistent Snapshot, Plugin Asisten Cloud akan dipasang secara otomatis.

  2. Asisten Cloud menghentikan sementara operasi I/O dan membuat snapshot.

    1. Asisten Cloud memanggil VSS dan menghentikan semua operasi I/O.

    2. Periksa opsi Contain Writers by Default.

      • Jika dipilih, snapshot konsisten aplikasi akan dibuat.

      • Jika tidak dipilih, snapshot konsisten sistem file akan dibuat.

  3. Lanjutkan operasi I/O.

Batasan

  • Hanya didukung pada ESSD dengan fitur multi-attach dinonaktifkan.

  • Anda hanya dapat membuat snapshot konsisten aplikasi untuk disk cloud yang disambungkan ke instans ECS yang sama, bukan lintas instans berbeda.

Prasyarat

  • Instans ECS telah dibuat dan menjalankan salah satu sistem operasi berikut:

    • Windows: Windows Server 2012 R2 atau versi lebih baru.

    • Linux: CentOS 7.6 atau versi lebih baru, Ubuntu 18.04 atau versi lebih baru, atau Alibaba Cloud Linux 2.

  • Instans ECS berada dalam status Running. Asisten Cloud berada dalam status Normal pada instans tersebut. Untuk melihat status Asisten Cloud, lihat Periksa status Asisten Cloud dan atasi pengecualian.

  • Peran RAM dengan kebijakan kustom untuk snapshot konsisten aplikasi telah dilampirkan ke instans ECS. Lihat Buat peran RAM dan lampirkan ke instans ECS.

    Catatan

    Asisten Cloud memerlukan izin tertentu untuk mengakses instans ECS dan menjalankan perintah. Berikan izin tersebut melalui peran RAM.

    • Konfigurasikan peran RAM kustom, seperti AppSnapshotRoleName.

    • Lampirkan kebijakan kustom ke peran RAM tersebut. Kebijakan contoh berikut memberikan izin untuk mengkueri snapshot, membuat snapshot, menambahkan tag, dan mengkueri informasi disk.

      {
          "Version": "1",
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "ecs:DescribeSnapshot*",
                      "ecs:CreateSnapshot*",
                      "ecs:TagResources",
                      "ecs:DescribeDisks"
                  ],
                  "Resource": [
                      "*"
                  ],
                  "Condition": {}
              }
          ]
      }

Prosedur

Gunakan Konsol ECS

Instans Linux

  1. Unggah skrip prescript.sh dan postscript.sh yang telah disiapkan ke instans ECS.

    Lihat Gunakan Workbench.

    Catatan

    Untuk detail skrip, lihat Cara kerja.

  2. Buka Konsol ECS - grup konsistensi snapshot.

  3. Di pojok kiri atas halaman, pilih wilayah dan kelompok sumber daya.

  4. Pada tab Snapshot-consistent Groups, klik Create Snapshot-consistent Group.

  5. Pada kotak dialog Create Snapshot, konfigurasikan parameter berikut untuk membuat grup snapshot konsisten.

    1. Secara default, parameter Resource Type diatur ke Instance.

    2. Pilih instans Linux dari daftar drop-down Select Instances. Di bagian Select Cloud Disks, pilih ESSD tempat Anda ingin membuat snapshot.

    3. Bentangkan Advanced Settings dan konfigurasikan pengaturan snapshot konsisten aplikasi.

      • Jika Anda memilih Enable Application-consistent Snapshot dan mengonfigurasi skrip dengan benar, snapshot konsisten aplikasi akan dibuat.

      • Jika Anda memilih Enable Application-consistent Snapshot tetapi tidak mengonfigurasi skrip dengan benar, snapshot konsisten sistem file akan dibuat.

        Catatan

        Jika Asisten Cloud belum terpasang dan Anda memilih Enable Application-consistent Snapshot, Plugin Asisten Cloud akan dipasang secara otomatis.

      • Anda juga dapat mengaktifkan fitur File System I/O Suspension and Resume dan menentukan periode timeout.

        Catatan

        Jika Anda mengaktifkan File System I/O Suspension and Resume, sistem akan menghentikan sementara operasi I/O selama pembuatan snapshot untuk mencegah inkonsistensi data. Jika periode timeout melebihi 16 detik dan penghentian sementara tidak selesai dalam periode tersebut, penghentian sementara gagal, yang dapat menyebabkan inkonsistensi data.

      • Untuk detail parameter, lihat bagian Prosedur.

    4. Klik OK.

      Setelah pembuatan, pesan akan menampilkan ID perintah Asisten Cloud dan ID tugas. Gunakan ID tugas untuk memverifikasi apakah snapshot konsisten aplikasi telah dibuat.

  6. Pada tab Command Execution Result di halaman ECS Cloud Assistant, klik ID tugas dan periksa apakah snapshot konsisten aplikasi telah dibuat.

    image

    Nilai ExitCode adalah 0 seperti yang ditunjukkan pada gambar di atas, menandakan bahwa snapshot konsisten aplikasi berhasil dibuat. ID grup snapshot konsisten muncul dalam output perintah.

    Catatan

    Jika ExitCode bukan 0, terjadi kesalahan. Atasi masalah berdasarkan nilai ExitCode. Lihat bagian Kode kesalahan.

  7. Lihat informasi tentang grup snapshot konsisten yang telah dibuat dan snapshot dalam grup tersebut.

    1. Buka Konsol ECS - grup konsistensi snapshot.

    2. Pada tab Snapshot-consistent Groups, temukan grup snapshot konsisten yang telah Anda buat dan klik ID grup tersebut untuk melihat detail snapshot.

    3. Di bagian Snapshot Information, periksa apakah snapshot merupakan snapshot konsisten aplikasi atau snapshot konsisten sistem file berdasarkan tag-nya.

      • Jika tag AppConsistent:True muncul, snapshot konsisten aplikasi telah dibuat.

        image

      • Jika tag FsConsistent:True muncul, snapshot konsisten sistem file telah dibuat.

        image

Instans Windows

  1. Buka Konsol ECS - grup konsistensi snapshot.

  2. Di pojok kiri atas halaman, pilih wilayah dan kelompok sumber daya.

  3. Pada tab Snapshot-consistent Groups, klik Create Snapshot-consistent Group.

  4. Pada kotak dialog Create Snapshot, konfigurasikan parameter berikut untuk membuat grup snapshot konsisten.

    1. Secara default, parameter Resource Type diatur ke Instance.

    2. Pilih instans Windows dari daftar drop-down Select Instances. Di bagian Select Cloud Disks, pilih ESSD tempat Anda ingin membuat snapshot.

    3. Bentangkan Advanced Settings dan konfigurasikan pengaturan snapshot konsisten aplikasi.

      • Jika Anda memilih Enable Application-consistent Snapshot dan Contain Writers by Default, snapshot konsisten aplikasi akan dibuat. Setelah memilih Enable Application-consistent Snapshot, Anda akan melihat opsi Contain Writers by Default.

      • Jika Anda hanya memilih Enable Application-consistent Snapshot, snapshot konsisten sistem file akan dibuat.

        Catatan

        Jika Asisten Cloud belum terpasang dan Anda memilih Enable Application-consistent Snapshot, Plugin Asisten Cloud akan dipasang secara otomatis.

      • Untuk detail parameter, lihat bagian Prosedur.

    4. Klik OK.

      Setelah pembuatan, pesan akan menampilkan ID perintah Asisten Cloud dan ID tugas.

  5. Pada tab Command Execution Result di halaman ECS Cloud Assistant, klik ID tugas dan periksa apakah snapshot konsisten aplikasi telah dibuat.

    image

    Nilai ExitCode adalah 0 seperti yang ditunjukkan pada gambar di atas, menandakan bahwa snapshot konsisten aplikasi berhasil dibuat. ID grup snapshot konsisten muncul dalam output perintah.

    Catatan

    Jika ExitCode bukan 0, terjadi kesalahan. Atasi masalah berdasarkan nilai ExitCode. Lihat bagian Kode kesalahan.

  6. Lihat informasi tentang grup snapshot konsisten yang telah dibuat dan snapshot dalam grup tersebut.

    1. Buka Konsol ECS - grup konsistensi snapshot.

    2. Pada tab Snapshot-consistent Groups, temukan grup snapshot konsisten yang telah Anda buat dan klik ID grup tersebut untuk melihat detail snapshot.

    3. Di bagian Snapshot Information, periksa apakah snapshot merupakan snapshot konsisten aplikasi atau snapshot konsisten sistem file berdasarkan tag-nya.

      • Jika tag AppConsistent:True muncul, snapshot konsisten aplikasi telah dibuat.

        image

      • Jika tag FsConsistent:True muncul, snapshot konsisten sistem file telah dibuat.

        image

Panggil Operasi API

  1. Panggil operasi RunCommand untuk membuat snapshot konsisten aplikasi untuk satu atau beberapa instans ECS melalui Asisten Cloud.

    Konfigurasikan parameter seperti RegionId, Type, CommandContent, dan InstanceId. Bagian berikut menyediakan contoh CommandContent dan menjelaskan parameter dalam konten perintah.

    Instans Linux

    acs-plugin-manager --exec --plugin app-snapshot-plugin --params=-RamRoleName=\"AppSnapshotRoleName\",-EnableFsFreeze=true,-TimeoutInSeconds=30,-PreScriptPath=\"/tmp/prescript.sh\",-PostScriptPath=\"/tmp/postscript.sh\",-ExcludeDiskId=\"\",-Name=\"LinuxApp1\",-Description=\"LinuxApp\"

    • acs-plugin-manager --exec --plugin app-snapshot-plugin menentukan plugin app-snapshot-plugin untuk Asisten Cloud.

    • --params= menentukan parameter plugin. Tabel berikut menjelaskan parameter tersebut.

      Parameter

      Jenis

      Wajib

      Deskripsi

      RamRoleName

      String

      Ya

      Peran RAM yang dilampirkan ke instans ECS.

      EnableFsFreeze

      Boolean

      Tidak

      Menentukan apakah akan mengaktifkan Linux FsFreeze untuk mengatur sistem file menjadi read-only sebelum pembuatan snapshot.

      Nilai default: True.

      TimeoutInSeconds

      Integer

      Tidak

      Periode timeout untuk operasi I/O. Satuan: detik.

      Nilai default: 30.

      PreScriptPath

      String

      Tidak

      Path skrip prescript.sh. Contoh: /tmp/prescript.sh. Skrip harus memenuhi persyaratan berikut:

      • Izin: Diatur ke 700 (hanya root yang dapat membaca, menulis, dan mengeksekusi).

      • Konten skrip: Buat skrip kustom sesuai kebutuhan bisnis Anda.

      Penting

      Untuk instans Linux, parameter ini wajib. Jika izin, path, atau nama file skrip tidak valid, snapshot konsisten sistem file akan dibuat sebagai gantinya.

      PostScriptPath

      String

      Tidak

      Path skrip postscript.sh. Contoh: /tmp/postscript.sh. Skrip harus memenuhi persyaratan berikut:

      • Izin: Diatur ke 700 (hanya root yang dapat membaca, menulis, dan mengeksekusi).

      • Konten skrip: Buat skrip kustom sesuai kebutuhan bisnis Anda.

      Penting

      Untuk instans Linux, parameter ini wajib. Jika izin, path, atau nama file skrip tidak valid, snapshot konsisten sistem file akan dibuat sebagai gantinya.

      ExcludeDiskId

      String

      Tidak

      Disk cloud yang dikecualikan dari snapshot.

      Name

      String

      Ya

      Nama grup snapshot konsisten.

      Description

      String

      Tidak

      Deskripsi grup snapshot konsisten.

    Instans Windows

    acs-plugin-manager --exec --plugin app-snapshot-plugin-win --params=-RamRoleName=\"AppSnapshotRoleName\",-EnableWriters=true,-ExcludeDiskId=\"\",-Name=\"APPSnapshot-1\",-Description=\"AppSnapshot\"

    • acs-plugin-manager --exec --plugin app-snapshot-plugin-win menentukan plugin app-snapshot-plugin-win untuk Asisten Cloud.

    • --params= menentukan parameter plugin. Tabel berikut menjelaskan parameter tersebut.

      Parameter

      Jenis

      Wajib

      Deskripsi

      RamRoleName

      String

      Ya

      Peran RAM yang dilampirkan ke instans ECS.

      EnableWriters

      Boolen

      Tidak

      Menentukan apakah akan membuat snapshot konsisten aplikasi. Nilai yang valid:

      • true

      • false

      Nilai default: true.

      ExcludeDiskId

      String

      Tidak

      Disk cloud yang dikecualikan dari snapshot.

      Name

      String

      Ya

      Nama grup snapshot konsisten.

      Description

      String

      Tidak

      Deskripsi grup snapshot konsisten.

  2. Panggil operasi DescribeInvocationResults dengan InvokeId yang dikembalikan.

  3. Periksa apakah snapshot konsisten aplikasi telah dibuat.

    • ExitCode menunjukkan hasilnya:

      • 0: Snapshot konsisten aplikasi berhasil dibuat.

      • Jika nilai ExitCode bukan 0, terjadi kesalahan. Perbaiki kesalahan berdasarkan kode kesalahan yang dikembalikan. Lihat bagian Kode kesalahan topik ini.

    • Output berisi output perintah. Jika grup snapshot konsisten berhasil dibuat, ID grup akan ditampilkan.

      [time=\"2025-03-04 16:09:25.8200239\"][message=\"Finish SnapshotGroup=ssg-2zefohc25d7n1grq**** Creation, TotalCost=3.8204978s, QueryCost=2.9307022s\"]\n[level=\"info\"][time=\"2025-03-04 16:09:25.8200239\"][message=\"Prepare to Thaw FileSystem or Applications\"]\n[requestor=\"\n\"]\n[level=\"info\"][time=\"2025-03-04 16:09:27.7133096\"][message=\"Thaw Write Request Done\"]\n[level=\"info\"][time=\"2025-03-04 16:09:28.0355042\"][message=\"Tag snapshots with AppConistent\"]\n[level=\"info\"][time=\"2025-03-04 16:09:28.0365941\"][message=\"Take AppConsistent snapshots successfully\"]

Kode kesalahan

Kode kesalahan (ExitCode)

Deskripsi

0

Snapshot dibuat sesuai harapan.

1

Satu atau beberapa kondisi tidak terpenuhi:

  • Kategori disk cloud tidak didukung.

  • Nama snapshot tidak valid.

  • Masalah konektivitas jaringan.

  • Tidak ada peran RAM yang dilampirkan ke instans.

  • Sistem operasi instans tidak didukung.

2

Jenis atau jumlah parameter setelah string --params tidak valid.

3

Salah satu kesalahan berikut terjadi:

  • Tidak ada ESSD yang disambungkan ke instans.

  • Peran RAM tidak memiliki izin untuk memanggil operasi API terkait snapshot.

4

Grup snapshot konsisten tidak dapat dibuat.

5

Grup snapshot konsisten tidak berada dalam status yang diharapkan.

6

Permintaan pembuatan grup snapshot konsisten mengalami timeout.

7

Snapshot disk dalam grup snapshot konsisten tidak berada dalam status yang diharapkan.

8

Tag tidak dapat ditambahkan ke snapshot.

9

Skrip prescript.sh tidak dapat dijalankan.

10

Skrip postscript.sh tidak dapat dijalankan.

11

Operasi I/O tidak dapat dihentikan sementara.

12

Operasi I/O tidak dapat dilanjutkan.

13

Tidak ada peran RAM yang dilampirkan ke instans.

14

Jumlah snapshot melebihi batas maksimum.

15

Snapshot tidak berada dalam status yang diharapkan.

16

Snapshot sebelumnya sedang dibuat, sehingga snapshot baru tidak dapat dibuat.

255

Terjadi kesalahan yang tidak diketahui.

Referensi

Anda dapat membuat snapshot konsisten aplikasi untuk database MySQL atau SQL Server. Lihat Praktik terbaik untuk membuat snapshot konsisten aplikasi MySQL (Linux) atau Praktik terbaik untuk snapshot konsisten aplikasi SQL Server (Windows).