Di Compute Engine, Anda dapat menggunakan snapshot untuk mencadangkan data disk. Karena snapshot bersifat inkremental, Anda dapat membuatnya dengan performa yang lebih tinggi dan total biaya penyimpanan yang lebih rendah dibandingkan dengan membuat disk image lengkap.
Snapshot Konsisten aplikasi merekam status data aplikasi pada saat pencadangan dengan semua transaksi aplikasi selesai dan semua penulisan yang tertunda di-flush ke disk. Di VM Windows, Anda menggunakan Volume Shadow Copy Service (VSS) untuk membuat snapshot yang konsisten di aplikasi tanpa terlebih dahulu menghentikan instance atau melepaskan disk dari VM.
Sebelum memulai
- Buat instance Windows.
- Tinjau praktik terbaik untuk membuat snapshot.
-
Siapkan autentikasi, jika Anda belum melakukannya.
Autentikasi adalah proses verifikasi identitas Anda untuk akses ke layanan dan API Google Cloud.
Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine sebagai berikut.
Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:
Konsol
Saat menggunakan Konsol Google Cloud untuk mengakses API dan layanan Google Cloud, Anda tidak perlu menyiapkan autentikasi.
gcloud
-
Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:
gcloud init
- Menetapkan region dan zona default.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:
gcloud init
-
Batasan
Snapshot disk di Windows memiliki batasan berikut:
- Snapshot VSS hanya berfungsi pada instance Windows dengan image
versi
v20160810
dan yang lebih baru. Untuk instance dengan gambar lama, buat snapshot tanpa menggunakan VSS. - Disk yang terpasang harus menggunakan sistem file NTFS, exFAT, atau ReFS.
- Snapshot VSS membantu mempertahankan data hanya jika Anda menjalankan aplikasi yang mendukung VSS yang dapat berkoordinasi untuk membuat cadangan data yang konsisten.
- Jika operasi snapshot VSS tidak selesai dalam 300 detik, snapshot akan gagal karena error waktu tunggu habis.
Membuat snapshot Windows VSS
Anda dapat membuat snapshot Volume Shadow Copy Service (VSS) tanpa harus menghentikan instance atau melepaskan disk dari VM. Snapshot VSS ditujukan untuk tujuan pencadangan dan pemulihan pada sistem dengan aplikasi yang peka terhadap VSS.
Snapshot VSS memiliki harga yang sama dengan snapshot Persistent Disk atau Hyperdisk biasa, dan hanya mengenakan biaya untuk ukuran total snapshot.
Buat snapshot
Konsol
Buka halaman Create a Snapshot di Konsol Google Cloud.
Buka halaman Create a Snapshot- Masukkan Name snapshot.
-
Pilih Snapshot type. Defaultnya adalah snapshot
STANDARD
, yang merupakan opsi terbaik untuk pencadangan jangka panjang dan pemulihan dari bencana (disaster recovery).Pilih Archive snapshot untuk retensi data yang lebih hemat biaya.
- Opsional: Masukkan Deskripsi snapshot.
- Di bagian Source disk, pilih disk yang ada, yang ingin Anda buatkan snapshot-nya.
Di bagian Location, pilih lokasi penyimpanan snapshot Anda.
Lokasi default yang telah ditentukan sebelumnya atau disesuaikan yang ditentukan di setelan snapshot Anda akan otomatis dipilih. Secara opsional, Anda dapat mengganti setelan snapshot dan menyimpan snapshot Anda di lokasi penyimpanan kustom dengan melakukan hal berikut:
Pilih jenis lokasi penyimpanan yang diinginkan untuk snapshot Anda.
- Pilih Multi-regional untuk ketersediaan lebih tinggi dengan biaya lebih tinggi.
- Pilih Snapshot regional untuk mendapatkan kontrol lebih besar atas lokasi fisik data dengan biaya yang lebih rendah.
- Di kolom Select location, pilih region atau multi-region tertentu yang ingin Anda gunakan. Untuk menggunakan region atau multi-region yang terdekat dengan disk sumber, pilih Based on disk's location.
- Centang opsi Aktifkan snapshot konsisten aplikasi.
- Klik Create untuk membuat snapshot.
gcloud
Untuk membuat snapshot VSS, gunakan perintah gcloud compute snapshots create
dan sertakan flag --guest-flush
.
Anda dapat membuat snapshot dalam kebijakan lokasi penyimpanan yang ditentukan oleh setelan snapshot Anda atau menggunakan lokasi penyimpanan alternatif pilihan Anda. Untuk informasi selengkapnya, lihat Memilih lokasi penyimpanan snapshot.
Untuk membuat snapshot di lokasi default yang telah ditentukan sebelumnya atau disesuaikan yang dikonfigurasi di setelan snapshot Anda, gunakan perintah
gcloud compute snapshots create
.gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-zone=SOURCE_ZONE \ --source-disk=SOURCE_DISK_NAME \ --snapshot-type=SNAPSHOT_TYPE \ --guest-flush
-
Atau, untuk mengganti setelan snapshot dan membuat snapshot di lokasi penyimpanan kustom, sertakan flag
--storage-location
untuk menunjukkan tempat untuk menyimpan snapshot Anda.gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-zone=SOURCE_ZONE \ --source-disk=SOURCE_DISK_NAME \ --snapshot-type=SNAPSHOT_TYPE \ --storage-location=STORAGE_LOCATION \ --guest-flush
Ganti kode berikut:
- SNAPSHOT_NAME: Nama untuk snapshot.
- SOURCE_ZONE: Zona disk sumber.
- SOURCE_DISK_NAME: Nama volume disk tempat Anda ingin membuat snapshot.
- SNAPSHOT_TYPE: Jenis snapshot, STANDARD atau Arsip.
Jika jenis snapshot tidak ditentukan, snapshot
STANDARD
akan dibuat. -
STORAGE_LOCATION: Opsional: Multi-region Cloud Storage atau region Cloud Storage tempat Anda ingin menyimpan snapshot. Anda hanya dapat menentukan satu lokasi penyimpanan.
Gunakan parameter
--storage-location
hanya jika Anda ingin mengganti lokasi penyimpanan default yang telah ditentukan sebelumnya atau disesuaikan yang dikonfigurasi di setelan snapshot Anda.
Untuk membuat snapshot VSS dari Persistent Disk regional, pada contoh sebelumnya, ganti
--source-disk-zone=
dengan--source-disk-region=
, dan tentukan region tempat Persistent Disk regional Anda berada.Google Cloud CLI akan menunggu hingga operasi menampilkan status
READY
,FAILED
, atau mencapai waktu tunggu maksimum dan menampilkan detail snapshot terakhir yang diketahui.
REST
Saat membuat snapshot, untuk menunjukkan bahwa Anda ingin membuat snapshot VSS, sertakan properti guestFlush
dalam isi permintaan untuk permintaan POST
ke metode compute.snapshots.insert
.
Anda dapat membuat snapshot dalam kebijakan lokasi penyimpanan yang ditentukan oleh setelan snapshot Anda atau menggunakan lokasi penyimpanan alternatif pilihan Anda. Untuk informasi selengkapnya, lihat Memilih lokasi penyimpanan snapshot.
-
Untuk membuat snapshot di lokasi default yang telah ditentukan sebelumnya atau disesuaikan yang dikonfigurasi di setelan snapshot Anda, buat permintaan
POST
ke metodesnapshots.insert
:POST https://compute.googleapis.com/compute/beta/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME", "snapshotType": "SNAPSHOT_TYPE", "guestFlush": true, }
-
Atau, untuk mengganti setelan snapshot dan membuat snapshot di lokasi penyimpanan kustom, buat permintaan
POST
ke metodesnapshots.insert
dan sertakan propertistorageLocations
dalam permintaan Anda:POST https://compute.googleapis.com/compute/beta/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME", "snapshotType": "SNAPSHOT_TYPE", "storageLocations": [ "STORAGE_LOCATION" ], "guestFlush": true, }
Ganti kode berikut:
- DESTINATION_PROJECT_ID: ID project tempat Anda ingin membuat snapshot.
- SNAPSHOT_NAME: Nama untuk snapshot.
- SOURCE_PROJECT_ID: ID project disk sumber.
- SOURCE_ZONE: Zona disk sumber.
- SOURCE_DISK_NAME: Nama volume disk tempat Anda ingin membuat snapshot.
- SNAPSHOT_TYPE: Jenis snapshot, STANDARD atau Arsip.
Jika jenis snapshot tidak ditentukan, snapshot
STANDARD
akan dibuat. -
STORAGE_LOCATION: Opsional: Multi-region Cloud Storage atau region Cloud Storage tempat Anda ingin menyimpan snapshot. Anda hanya dapat menentukan satu lokasi penyimpanan.
Gunakan parameter
storageLocations
hanya jika Anda ingin mengganti lokasi penyimpanan default yang telah ditentukan sebelumnya atau disesuaikan yang dikonfigurasi di setelan snapshot Anda.
Untuk membuat snapshot VSS dari Persistent Disk regional, pada permintaan POST
yang ditampilkan sebelumnya, ganti baris berikut:
"sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME",
"sourceDisk": "projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME",
Opsional: Menandai disk Anda sebagai tersedia untuk dibaca dan ditulis
Saat Anda membuat snapshot VSS, Windows Server akan menandai volume dalam snapshot sebagai hanya baca. Saat Anda membuat disk baru dari snapshot VSS, disk tersebut juga akan disetel ke mode hanya baca.
Hal ini dapat menyebabkan masalah. Misalnya, jika Anda membuat instance VM dengan boot disk baru dari snapshot VSS boot disk yang sudah ada, flag hanya baca pada boot disk baru akan mencegah VM melakukan booting dengan benar.
Untuk mengatasi masalah ini, hapus flag hanya baca dari disk baru yang Anda buat dari snapshot VSS menggunakan langkah-langkah berikut:
Pastikan disk terpasang ke VM:
- Jika disk yang Anda buat dari snapshot VSS adalah disk data non-boot, Anda dapat memasang disk tersebut ke VM baru atau yang sudah ada.
- Jika disk yang Anda buat dari snapshot VSS adalah boot disk dan Anda ingin menggunakannya untuk mem-booting VM, Anda harus memasang disk untuk sementara ke VM terpisah yang sudah ada. Setelah menyelesaikan langkah-langkah berikut, Anda dapat melepaskan disk dari VM tersebut dan menggunakannya untuk mem-booting instance VM baru.
Login ke VM Windows tempat disk terpasang.
Buka command prompt PowerShell, lalu jalankan alat
diskpart
.PS C:\> diskpart
Identifikasi disk yang ingin dipasang.
DISKPART> list disk
Gunakan perintah
select disk
untuk memilih disk.DISKPART> select disk DISK_NUMBER
Ganti
DISK_NUMBER
dengan nomor disk yang ingin Anda pasang.Pasang disk.
DISKPART> online disk
Menampilkan daftar semua volume di {i>disk<i}.
DISKPART> list volume
Pilih volume baru.
DISKPART> select volume VOLUME_NUMBER
Ganti
VOLUME_NUMBER
dengan jumlah volume yang akan dikonfigurasi sebagai baca dan tulis.Hapus tanda hanya baca.
DISKPART> attr volume clear readonly hidden nodefaultdriveletter shadowcopy
Keluar dari alat
diskpart
.DISKPART> exit
Jika disk adalah boot disk untuk VM lain, sinkronkan file boot disk dengan tanda tangan disk baru.
PS C:\> bcdboot DRIVE_LETTERWindows /s DRIVE_LETTER
Ganti
DRIVE_LETTER
dengan huruf drive untuk volume yang ingin Anda sinkronkan. Misalnya,F
untukF:\
.
Membuat snapshot tanpa menggunakan VSS
Dalam beberapa situasi, Anda mungkin ingin membuat snapshot disk yang terpasang ke VM Windows tanpa menggunakan VSS.
Untuk membuat snapshot disk di VM Windows tanpa menggunakan VSS, lakukan langkah berikut:
- Siapkan sistem untuk snapshot yang sempurna.
- Buat snapshot.
- Memasang kembali disk
- Menandai disk sebagai tersedia untuk dibaca/ditulis
Menyiapkan sistem untuk snapshot yang sempurna
Sebelum membuat snapshot disk, pastikan Anda mengambil snapshot yang konsisten dengan status disk yang Anda inginkan. Jika Anda mengambil snapshot disk dalam keadaan "tidak bersih", tindakan ini dapat memaksa pemeriksaan disk dan kemungkinan menyebabkan kehilangan data. Pertimbangkan untuk menyinkronkan dan melepas sistem file Anda.
Menyinkronkan sistem file
Jika pelepasan disk tidak memungkinkan, seperti dalam skenario saat aplikasi mungkin menulis data ke disk, Anda dapat menyinkronkan sistem file untuk menghapus buffer disk. Untuk menyinkronkan sistem file Anda:
- Login ke VM Windows Anda.
- Download dan instal alat Sync dari Microsoft.
- Menghentikan aplikasi Anda dari menulis ke disk.
- Buka jendela command prompt yang lebih tinggi.
Di jendela command line, jalankan:
PS C:\> sync DRIVE_LETTER
Ganti
DRIVE_LETTER
dengan huruf drive untuk volume yang ingin Anda sinkronkan. Misalnya,F
untukF:\
.
Melepaskan disk
Login ke VM Windows Anda.
Buka command prompt PowerShell, lalu jalankan alat
diskpart
.PS C:\> diskpart
Identifikasi disk yang ingin Anda lepaskan dan ambil snapshot-nya.
DISKPART> list disk
Selanjutnya, pilih {i>disk<i} menggunakan nomor {i>disk<i} yang baru saja Anda temukan.
DISKPART> select disk DISK_NUMBER
Ganti
DISK_NUMBER
dengan nomor disk yang ingin Anda pasang kembali.Lepaskan disk.
DISKPART> offline disk
Membuat snapshot
- Jika disk Anda berada di satu zona (Persistent Disk zona atau Hyperdisk), ikuti langkah-langkah di bagian Membuat snapshot volume Persistent Disk zona.
- Atau, jika Persistent Disk Anda berada di beberapa zona, ikuti langkah-langkah dalam artikel Membuat snapshot volume Persistent Disk regional.
Pasang kembali disk Anda
Login ke VM Windows Anda.
Buka command prompt PowerShell, lalu jalankan alat
diskpart
.PS C:\> diskpart
Identifikasi disk yang ingin dipasang.
DISKPART> list disk
Gunakan perintah
select disk
untuk memilih disk.DISKPART> select disk DISK_NUMBER
Ganti
DISK_NUMBER
dengan nomor disk yang ingin Anda pasang.Pasang disk.
DISKPART> online disk
Menghapus flag hanya-baca dari disk
Jika perlu, selesaikan langkah-langkah berikut:
Login ke VM Windows Anda.
Buka command prompt PowerShell, lalu jalankan alat
diskpart
.PS C:\> diskpart
Menampilkan daftar semua volume di {i>disk<i}.
DISKPART> list volume
Pilih volume baru.
DISKPART> select volume VOLUME_NUMBER
Ganti
VOLUME_NUMBER
dengan jumlah volume yang ingin dikonfigurasi untuk baca dan tulis.Hapus tanda hanya baca.
DISKPART> attr volume clear readonly hidden nodefaultdriveletter shadowcopy
Keluar dari alat
diskpart
.DISKPART> exit
Jika disk adalah boot disk untuk instance VM lain, pada command prompt PowerShell, sinkronkan file boot disk dengan tanda tangan disk baru.
PS C:\> bcdboot DRIVE_LETTER:\Windows /s DRIVE_LETTER
Ganti
DRIVE_LETTER
dengan huruf drive untuk volume yang ingin Anda sinkronkan. Misalnya,F
untukF:\
.
Langkah selanjutnya
- Jika mengambil snapshot boot disk, Anda dapat membuat VM dari snapshot.
- Untuk mempelajari cara mengonfigurasi Windows Server agar Anda dapat menggunakannya untuk membuat image Windows Server yang disesuaikan untuk VM atau template instance, baca Membuat image Windows Server kustom.