Snapshot adalah cadangan data berdasarkan titik waktu tertentu dari sebuah disk. Anda dapat menggunakan snapshot untuk memulihkan disk ke kondisi saat snapshot tersebut dibuat. Topik ini menjelaskan proses pembuatan, pengarsipan, dan penghapusan snapshot, serta cara menghitung ukuran snapshot dan hubungannya dengan kapasitas disk.
Cara pembuatan snapshot bekerja
Anda dapat membuat snapshot untuk sebuah disk atau membuat kebijakan snapshot otomatis sesuai kebutuhan.
Cara kerjanya
Snapshot menggunakan blok—unit dasar pengelolaan data dalam sistem penyimpanan—sebagai granularitas minimum untuk pencadangan data. Snapshot dikategorikan menjadi snapshot lengkap dan snapshot inkremental. Snapshot standar pertama yang Anda buat untuk sebuah disk merupakan snapshot lengkap yang mencadangkan seluruh data pada disk pada titik waktu tersebut. Snapshot standar berikutnya bersifat inkremental dan hanya mencadangkan blok-blok yang telah berubah (baru atau dimodifikasi) sejak snapshot sebelumnya dibuat. Pendekatan ini mengurangi ruang penyimpanan yang diperlukan dan menekan biaya penyimpanan snapshot. Meskipun snapshot inkremental tidak berisi seluruh data disk, snapshot tersebut mereferensikan data yang tidak berubah dari snapshot sebelumnya dalam rantai snapshot. Hal ini memungkinkan Anda menggunakan snapshot apa pun untuk mengembalikan disk dan memulihkan seluruh datanya ke kondisi saat snapshot tersebut dibuat.
Setelah dibuat, snapshot secara default disimpan di Object Storage Service (OSS). Bucket OSS ini tidak terlihat oleh pengguna. Penyimpanan snapshot di OSS menjamin keamanan data jangka panjang dan pemulihan yang fleksibel. Anda tidak dapat menggunakan bucket OSS yang Anda buat sendiri untuk menyimpan data snapshot.
Contoh
Misalkan sebuah instance ECS memiliki sebuah disk tempat data dimodifikasi dan data baru ditulis pada pukul 10.00 dan 11.00. Contoh berikut menjelaskan cara kerja snapshot untuk disk ini:
Pada pukul 09.00, disk berisi blok data A dan B. Anda membuat snapshot pertama, Snapshot 1. Ini adalah snapshot lengkap yang mencadangkan blok A dan B, menyimpan seluruh data pada disk pada waktu tersebut.
Data tambahan ditulis ke disk, dan blok B dimodifikasi menjadi B1. Pada pukul 10.00, Anda membuat snapshot kedua, Snapshot 2. Ini adalah snapshot inkremental yang hanya mencadangkan blok yang berubah, yaitu B1. Blok yang tidak berubah, yaitu A, tidak dicadangkan melainkan direferensikan dari Snapshot 1.
Data tambahan ditulis lagi, dan blok baru C ditambahkan. Pada pukul 11.00, Anda membuat snapshot ketiga, Snapshot 3. Ini adalah snapshot inkremental yang hanya mencadangkan blok baru C. Blok yang tidak berubah, yaitu A dan B1, tidak dicadangkan. Blok A direferensikan dari Snapshot 1, sedangkan blok B1 direferensikan dari Snapshot 2.
Proses ini berlanjut untuk snapshot berikutnya.
Cara pengarsipan snapshot bekerja
Cara kerjanya
Anda dapat mengarsipkan snapshot standar yang tidak perlu sering diakses tetapi harus disimpan dalam jangka panjang. Pengarsipan mengubah snapshot tersebut menjadi snapshot terarsip, yang mengurangi biaya penyimpanan. Snapshot terarsip menggunakan model lengkap dan inkremental untuk menyimpan data. Snapshot pertama dalam rantai snapshot suatu disk yang diarsipkan menjadi snapshot terarsip lengkap. Snapshot terarsip berikutnya untuk disk yang sama bersifat inkremental, didasarkan pada snapshot terarsip lengkap tersebut, dan hanya mencadangkan blok yang berubah sejak snapshot terarsip sebelumnya dibuat. Untuk informasi lebih lanjut, lihat Arsipkan snapshot.
Contoh
Contoh 1: Mengarsipkan satu-satunya snapshot dari sebuah disk
Misalkan sebuah disk hanya memiliki satu snapshot standar. Saat Anda mengarsipkan snapshot ini, snapshot terarsip yang dihasilkan memiliki ukuran yang sama dengan snapshot standar aslinya. Setelah operasi ini, disk hanya memiliki satu snapshot terarsip, dan ukuran snapshot standar menjadi nol.
Contoh 2: Mengarsipkan snapshot inkremental dari sebuah disk
Misalkan sebuah disk memiliki tiga snapshot standar. Anda kemudian mengarsipkan Snapshot 2 inkremental dan Snapshot 3 inkremental.
Saat Anda mengarsipkan Snapshot 2 standar, snapshot tersebut diubah menjadi snapshot terarsip lengkap yang berisi seluruh data dari Snapshot 2 standar, artinya Snapshot 2 terarsip berisi blok A dan B1. Sebelum pengarsipan, blok B1 dalam Snapshot 2 standar direferensikan oleh Snapshot 3 standar. Oleh karena itu, blok B1 dipertahankan dan dikaitkan dengan Snapshot 3 standar.
Kemudian, saat Anda mengarsipkan Snapshot 3 standar, snapshot tersebut menjadi snapshot terarsip inkremental yang hanya berisi data inkremental, yaitu blok C. Blok yang tidak berubah, yaitu A dan B1, tidak dicadangkan melainkan direferensikan dari Snapshot 2 terarsip.
Proses ini berlanjut untuk snapshot berikutnya.
Setelah pengarsipan, disk memiliki dua rantai snapshot: rantai snapshot standar dengan satu snapshot standar, dan rantai snapshot terarsip dengan dua snapshot terarsip.
Cara penghapusan snapshot bekerja
Jika Anda tidak lagi memerlukan snapshot atau jumlah snapshot melebihi kuota, Anda dapat menghapus snapshot untuk mengosongkan ruang penyimpanan. Untuk informasi lebih lanjut, lihat Hapus snapshot.
Untuk informasi lebih lanjut tentang kuota snapshot manual, otomatis, dan terarsip untuk setiap disk, lihat Batasan.
Cara kerjanya
Meskipun snapshot inkremental tidak berisi seluruh data disk, snapshot tersebut mereferensikan data yang tidak berubah dari snapshot sebelumnya dalam rantainya. Artinya, setelah Anda menghapus snapshot, Anda tetap dapat menggunakan salah satu snapshot yang tersisa untuk memulihkan disk ke kondisi saat snapshot tersebut dibuat.
Contoh
Misalkan sebuah instance ECS memiliki sebuah disk yang telah dibuat Snapshot 1, Snapshot 2, dan Snapshot 3. Blok data dalam setiap snapshot adalah sebagai berikut:
Snapshot 1: Snapshot lengkap yang berisi blok data A dan B.
Snapshot 2: Snapshot inkremental yang hanya berisi data inkremental, yaitu blok B1. Blok yang tidak berubah, yaitu A, tidak dicadangkan melainkan direferensikan dari Snapshot 1.
Snapshot 3: Snapshot inkremental yang hanya berisi data inkremental, yaitu blok C. Blok yang tidak berubah, yaitu A dan B1, tidak dicadangkan. Blok A direferensikan dari Snapshot 1, sedangkan blok B1 direferensikan dari Snapshot 2.
Contoh 1: Menghapus snapshot lengkap dari sebuah disk
Saat Anda menghapus Snapshot 1 lengkap, snapshot berikutnya dalam rantai, yaitu Snapshot 2, menjadi snapshot lengkap. Karena Snapshot 2 mereferensikan blok A dari Snapshot 1, blok A dipertahankan dan digabungkan ke dalam Snapshot 2. Blok B, yang hanya ada di Snapshot 1, dihapus. Untuk Snapshot 3, referensi blok A berubah ke Snapshot 2, sedangkan referensi blok B1 tetap tidak berubah.
Contoh 2: Menghapus snapshot inkremental dari sebuah disk
Saat Anda menghapus Snapshot 2 inkremental, sistem mengelola referensi data. Snapshot 2 mereferensikan blok A dari Snapshot 1, dan Snapshot 3 mereferensikan blok B1 dari Snapshot 2. Oleh karena itu, setelah Anda menghapus Snapshot 2, referensi dari Snapshot 2 ke blok A dihapus, dan blok B1 dipertahankan serta digabungkan ke dalam Snapshot 3.
Cara menghitung ukuran snapshot
Cara kerjanya
Ukuran total snapshot untuk sebuah disk dihitung berdasarkan rantai snapshot-nya, yaitu hubungan antara semua snapshot untuk disk tersebut. Ukuran dihitung dengan mengukur ruang penyimpanan yang ditempati oleh blok data dari semua snapshot saat ini. Setelah Anda mengarsipkan beberapa snapshot, sebuah disk memiliki dua rantai snapshot: rantai snapshot standar dan rantai snapshot terarsip. Sistem menghitung biaya penyimpanan untuk snapshot standar dan snapshot terarsip secara terpisah berdasarkan ukuran masing-masing rantai. Untuk informasi lebih lanjut, lihat Lihat ukuran snapshot sebuah disk berdasarkan rantai snapshot dan Penagihan snapshot.
Perhitungan ukuran snapshot berdasarkan rantai snapshot mungkin mengalami keterlambatan beberapa menit. Untuk biaya aktual, rujuk tagihan Anda.
Konsep-konsep berikut terkait dengan ukuran snapshot:
Ukuran lengkap snapshot: Total ruang penyimpanan yang ditempati oleh seluruh blok data dari satu snapshot.
Ukuran inkremental snapshot: Ruang penyimpanan yang ditempati oleh blok data yang berbeda antara snapshot saat ini dan snapshot sebelumnya dalam rantai snapshot yang sama.
Total ukuran snapshot: Jumlah dari ukuran lengkap snapshot pertama (snapshot lengkap) dan ukuran inkremental semua snapshot inkremental berikutnya dalam rantai.
Contoh perhitungan ukuran snapshot
Misalkan sebuah disk memiliki kapasitas 100 GiB dan 30 GiB data telah ditulis ke dalamnya. Data dimodifikasi dan data baru ditulis pada pukul 10.00 dan 11.00. Contoh berikut menjelaskan cara menghitung ukuran snapshot untuk disk ini:
Snapshot Standar 1: Pada pukul 09.00, disk berisi 30 GiB data. Anda membuat snapshot standar pertama, Snapshot 1. Ini adalah snapshot lengkap yang mencadangkan seluruh data pada disk. Ukuran lengkapnya adalah 30 GiB.
Snapshot Standar 2: Tambahan 10 GiB data ditimpa (overwrite) pada disk. Pada pukul 10.00, Anda membuat snapshot standar kedua, Snapshot 2. Ini adalah snapshot inkremental yang hanya mencadangkan 10 GiB data yang berubah. Data 20 GiB lainnya yang tidak berubah tidak dicadangkan melainkan direferensikan dari Snapshot Standar 1.
Snapshot Standar 3: Data baru sebesar 10 GiB ditulis ke disk, sehingga total data pada disk menjadi 40 GiB. Pada pukul 11.00, Anda membuat snapshot standar ketiga, Snapshot 3. Ini adalah snapshot inkremental yang hanya mencadangkan 10 GiB data yang berubah sejak Snapshot Standar 2 dibuat. Data 30 GiB yang tidak berubah tidak dicadangkan. Dari data yang tidak berubah tersebut, 20 GiB direferensikan dari Snapshot Standar 1, dan 10 GiB direferensikan dari Snapshot Standar 2.
Ketiga snapshot standar ini membentuk rantai snapshot standar untuk disk tersebut. Sebelum pengarsipan, total ukuran snapshot standar dihitung sebagai berikut: Snapshot Standar 1 Lengkap + Snapshot Standar 2 Inkremental + Snapshot Standar 3 Inkremental = 50 GiB.
Misalkan Anda mengarsipkan Snapshot 2 dan Snapshot 3. Kedua snapshot terarsip ini membentuk rantai snapshot terarsip untuk disk tersebut.
Snapshot Terarsip 2: Snapshot lengkap yang mencadangkan seluruh data. Ukuran lengkapnya adalah 30 GiB.
Snapshot Terarsip 3: Snapshot inkremental yang hanya mencadangkan 10 GiB data yang berubah. Data 30 GiB yang tidak berubah tidak dicadangkan melainkan direferensikan dari Snapshot Terarsip 2.
Setelah pengarsipan, disk memiliki dua rantai snapshot:
Total ukuran snapshot terarsip = Snapshot Terarsip 2 Lengkap + Snapshot Terarsip 3 Inkremental = 40 GiB
Total ukuran snapshot standar = Snapshot Standar 1 Lengkap = 30 GiB
Saat Anda membandingkan ukurannya, total ukuran snapshot setelah pengarsipan meningkat sebesar 20 GiB. Mengarsipkan hanya sebagian snapshot dari sebuah disk mungkin tidak mengurangi biaya Anda. Untuk perbandingan biaya detail sebelum dan sesudah Anda mengarsipkan semua snapshot, lihat Arsipkan snapshot.
Hubungan antara ukuran snapshot dan kapasitas disk
Ukuran satu snapshot untuk sebuah disk tidak melebihi kapasitas disk tersebut. Namun, seiring penambahan jumlah snapshot, total ukuran semua snapshot dapat melebihi kapasitas disk.
Sebagai contoh, misalkan Anda membuat disk 40 GiB dan menulis 30 GiB data ke dalamnya. Snapshot yang Anda buat pada titik ini berukuran 30 GiB. Kemudian, Anda menimpa data tersebut dengan 30 GiB data lain dan membuat snapshot kedua. Kapasitas disk tetap 40 GiB, tetapi karena 30 GiB data telah berubah, total ukuran snapshot untuk disk tersebut kini menjadi 60 GiB, yang lebih besar daripada kapasitas disk.
Anda dapat melihat kapasitas sebuah disk dan ukuran snapshot-nya menggunakan rantai snapshot. Untuk informasi lebih lanjut, lihat Lihat ukuran snapshot sebuah disk berdasarkan rantai snapshot. Pada gambar berikut, ① menunjukkan kapasitas disk, dan ② menunjukkan total ukuran semua snapshot untuk disk tersebut.

Perbedaan antara ukuran snapshot dan kapasitas sistem
Snapshot menggunakan blok data berukuran tetap sebagai granularitas minimum untuk pencadangan data. Ukuran snapshot dihitung berdasarkan blok data ini.
Saat Anda menghapus file pada disk, kapasitas yang tersedia yang ditampilkan oleh sistem operasi meningkat. Namun, untuk sebagian besar sistem file, menghapus file hanya menandainya sebagai dihapus dan tidak menghapus data yang sesuai secara fisik. Dari perspektif disk, menghapus file merupakan operasi penulisan yang memodifikasi metadata. Operasi ini tidak mengurangi ruang sebenarnya yang ditempati data pada disk. Jika Anda membuat snapshot pada titik ini, snapshot tersebut tetap berisi blok data untuk file yang dihapus. Data ini hanya dihapus ketika sistem file benar-benar menghapus file tersebut secara fisik, misalnya dengan menggunakan perintah TRIM.
Bahkan jika Anda tidak secara aktif menulis ke disk sistem, ukuran snapshot-nya mungkin tetap meningkat. Hal ini karena sistem operasi menghasilkan file sistem selama waktu proses. File-file ini ditulis ke disk dan kemudian dicadangkan dalam snapshot.
Ukuran snapshot mungkin sedikit lebih besar daripada jumlah data yang Anda tulis ke disk. Hal ini karena metadata sistem file juga menempati ruang pada disk. Blok data snapshot mencakup metadata ini selain data aktual yang Anda tulis. Sebagai contoh, jika Anda membuat file teks berukuran 1 MB pada disk, ukuran data yang dicadangkan dalam snapshot sedikit lebih besar dari 1 MB karena mencakup metadata sistem file.