Anda dapat menggunakan persistent disk sebagai boot disk untuk instance mesin virtual (VM), atau sebagai disk data yang dipasang ke VM. Saat membuat persistent disk, Anda dapat membuat persistent disk kosong, atau membuat disk dari sumber agar disk baru berisi data dari sumber tersebut.
Sumber data
Anda dapat membuat persistent disk dari sumber data berikut:
Disk yang sudah ada: Meng-clone persistent disk yang sudah ada. Gunakan opsi ini jika Anda memerlukan salinan yang dapat dilampirkan secara langsung dari persistent disk non-booting yang sudah ada.
Snapshot: Buat disk non-boot dari snapshot standar atau dari snapshot instan. Gunakan opsi ini untuk memulihkan data dari persistent disk yang telah Anda cadangkan dengan snapshot.
Gambar: Buat boot disk dari image sumber. Gunakan opsi ini untuk membuat boot disk untuk VM baru atau untuk membuat persistent disk booting mandiri.
Sebelum memulai
-
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.
Terraform
Untuk menggunakan contoh Terraform di halaman ini dari lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Buat kredensial autentikasi lokal untuk Akun Google Anda:
gcloud auth application-default login
Untuk informasi selengkapnya, lihat Siapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk menggunakan contoh Go di halaman ini dari lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Buat kredensial autentikasi lokal untuk Akun Google Anda:
gcloud auth application-default login
Untuk informasi selengkapnya, lihat Siapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk menggunakan contoh Java di halaman ini dari lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Buat kredensial autentikasi lokal untuk Akun Google Anda:
gcloud auth application-default login
Untuk informasi selengkapnya, lihat Siapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk menggunakan contoh Python di halaman ini dari lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Buat kredensial autentikasi lokal untuk Akun Google Anda:
gcloud auth application-default login
Untuk informasi selengkapnya, lihat Siapkan autentikasi untuk lingkungan pengembangan lokal.
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
-
Membuat clone disk dari disk yang ada
Anda dapat membuat clone persistent disk baru dari persistent disk yang sudah ada, meskipun disk yang sudah ada terpasang ke instance VM. Saat meng-clone disk, Anda membuat disk baru yang berisi semua data di disk sumber. Anda dapat mengubah properti pada clone tersebut, seperti ukuran. Anda juga dapat menghapus disk sumber tanpa berisiko menghapus clone.
Kemampuan untuk meng-clone disk berguna untuk menduplikasi data production guna melakukan debug tanpa mengganggu produksi, menduplikasi disk saat menskalakan VM, dan membuat replika untuk verifikasi pencadangan database. Anda juga dapat meng-clone disk untuk memindahkan data disk non-boot ke proyek baru. Jika perlindungan data diperlukan untuk ketahanan tambahan, seperti pencadangan dan pemulihan dari bencana, sebaiknya gunakan snapshot standar, bukan clone disk.
Jika Anda ingin mengambil status disk pada interval yang berbeda, tetapi tidak memerlukan disk baru yang dapat dipasang setiap saat, pertimbangkan untuk menggunakan Instant Snapshot.
Meskipun tidak cocok untuk pemulihan dari bencana (disaster recovery), Instant Snapshot lebih hemat penyimpanan dibandingkan membuat beberapa clone dari disk yang sama. Ini karena Instant Snapshot merupakan cadangan inkremental.
Jika Anda perlu mereplikasi disk dengan cepat, misalnya agar proses debug cepat, gunakan clone disk.
Pelajari opsi pencadangan data lainnya di Compute Engine.
Pembatasan
- Jenis disk clone harus sama dengan disk sumber.
- Anda tidak dapat membuat clone disk zonal dari disk regional.
- Anda tidak dapat membuat clone disk zonal dari disk zona yang ada di zona berbeda.
- Ukuran clone minimal harus sama dengan ukuran disk sumber. Jika membuat clone menggunakan Google Cloud Console, Anda tidak dapat menentukan ukuran disk, dan clone tersebut memiliki ukuran yang sama dengan disk sumber.
- Jika Anda menggunakan kunci enkripsi yang disediakan pelanggan atau kunci enkripsi yang dikelola pelanggan untuk mengenkripsi disk sumber, Anda harus menggunakan kunci yang sama untuk mengenkripsi clone tersebut. Untuk informasi selengkapnya, lihat Membuat clone disk sumber yang dienkripsi.
- Anda dapat membuat maksimal satu clone disk sumber tertentu atau clone-nya setiap 30 detik.
- Anda dapat memiliki maksimal 1.000 clone disk secara bersamaan dari disk sumber tertentu atau clone-nya.
Jika batas ini terlampaui,
internalError
akan muncul. Namun, jika Anda membuat clone disk dan menghapusnya nanti, clone disk yang telah dihapus tersebut tidak akan disertakan dalam batasan ini. - Setelah disk di-clone, setiap clone berikutnya dari disk tersebut atau clone-nya akan dihitung dalam batas 1.000 clone disk simultan untuk disk sumber asli, dan dihitung dalam batas pembuatan maksimal satu clone setiap 30 detik.
Pesan error
Jika Anda melebihi batas frekuensi clone, permintaan akan gagal dengan error berikut:
RATE LIMIT: ERROR: (gcloud.compute.disks.create) Could not fetch resource: - Operation rate exceeded for resource RESOURCE. Too frequent operations from the source resource.
Membuat clone disk
Anda dapat meng-clone disk yang sudah ada ke disk baru menggunakan Google Cloud Console, Google Cloud CLI, atau Compute Engine API.Konsol
Di konsol Google Cloud, buka halaman Disks.
Dalam daftar persistent disk zona, temukan disk yang ingin di-clone.
Klik tombol menu di bagian Actions dan pilih Clone disk.
Di panel Clone disk, tentukan nama untuk disk baru.
Di bagian Properties, tinjau detail lain untuk disk baru.
Klik Save.
gcloud
Di gcloud CLI, gunakan perintah disks create
dan tentukan --source-disk
. Contoh berikut meng-clone
disk sumber ke disk baru di project yang berbeda:
gcloud compute disks create projects/TARGET_PROJECT_ID/zones/ZONE/disks/TARGET_DISK_NAME \ --description="cloned disk" \ --source-disk=projects/SOURCE_PROJECT_ID/zones/ZONE/disks/SOURCE_DISK_NAME
Ganti kode berikut:
TARGET_PROJECT_ID
: project ID disk baruZONE
: zona sumber dan disk baruTARGET_DISK_NAME
: nama disk baruSOURCE_PROJECT_ID
: project ID disk sumberSOURCE_DISK_NAME
: nama disk sumber
Terraform
Untuk membuat clone disk, gunakan resource google_compute_disk
.
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
Go
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di panduan memulai Compute Engine menggunakan library klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go Compute Engine.
Untuk melakukan autentikasi ke Compute Engine, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di panduan memulai Compute Engine menggunakan library klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java Compute Engine.
Untuk melakukan autentikasi ke Compute Engine, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di panduan memulai Compute Engine menggunakan library klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python Compute Engine.
Untuk melakukan autentikasi ke Compute Engine, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST
Di API, buat permintaan POST
ke metode
compute.disks.insert
. Di isi permintaan,
tentukan parameter name
dan sourceDisk
. Clone mewarisi semua
properti yang dihilangkan dari disk sumber. Contoh berikut meng-clone
disk sumber ke disk baru di project yang berbeda:
POST https://compute.googleapis.com/compute/v1/projects/TARGET_PROJECT_ID/zones/ZONE/disks { "name": "TARGET_DISK_NAME" "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/ZONE/disks/SOURCE_DISK_NAME" }
Ganti kode berikut:
TARGET_PROJECT_ID
: project ID disk baruZONE
: zona sumber dan disk baruTARGET_DISK_NAME
: nama disk baruSOURCE_PROJECT_ID
: project ID disk sumberSOURCE_DISK_NAME
: nama disk sumber
Membuat clone disk regional dari disk zona
Anda dapat membuat disk regional baru dengan meng-clone disk zona yang ada. Untuk memigrasikan disk zona ke disk regional, Google merekomendasikan opsi ini, bukan membuat snapshot disk zona dan memulihkan snapshot ke disk regional baru.
Pembatasan
+ Untuk membuat clone disk regional dari disk zona sumber, salah satu zona replika clone tersebut harus cocok dengan zona disk sumber.Setelah pembuatan, clone disk regional rata-rata dapat digunakan dalam waktu 3 menit. Namun, disk mungkin memerlukan waktu puluhan menit untuk direplikasi sepenuhnya dan mencapai status dengan tujuan titik pemulihan (RPO) mendekati nol.
Tingkat kemampuan clone ruang disk akan terbatas. Anda dapat membuat maksimal 1 TB disk yang di-clone setiap 15 menit, dengan batas permintaan burst sebesar 257 TB.
Konsol
Di konsol Google Cloud, buka halaman Disks.
Dalam daftar persistent disk zona, temukan disk yang ingin di-clone.
Klik tombol menu di bagian Actions dan pilih Clone disk.
Di panel Clone disk, tentukan nama untuk disk baru.
Untuk Location, pilih Regional lalu pilih dua replika zona untuk disk regional baru.
Di bagian Properties, tinjau detail lain untuk disk baru.
Klik Save.
gcloud
Buat clone disk regional dari disk zonal, lalu sediakan disk sumber dan
dua zona replika untuk disk regional baru menggunakan perintah gcloud
compute disks create
berikut.
Contoh berikut mengasumsikan disk sumber dan target berada dalam project
yang sama.
gcloud compute disks create TARGET_DISK_NAME \ --description="zonal to regional cloned disk" \ --region=REGION_1 \ --source-disk=SOURCE_DISK_NAME \ --source-disk-zone=REGION_1_ZONE_1 \ --replica-zones=REGION_1_ZONE_1,REGION_1_ZONE_2 \ --project=PROJECT_ID
Ganti kode berikut:
TARGET_DISK_NAME
: nama untuk disk regional baruREGION_1
: region untuk disk regional baruSOURCE_DISK_NAME
: nama disk zona yang akan di-cloneREGION_1_ZONE_1
: salah satu dari dua zona replika untuk disk regional baruREGION_1_ZONE_2
: zona replika lainnya untuk disk regional baruPROJECT_ID
: ID project
Terraform
Untuk membuat clone disk regional dari disk zona, secara opsional Anda dapat membuat snapshot disk zona, lalu meng-clone snapshot tersebut. Untuk melakukannya, gunakan referensi berikut:
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
Go
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di panduan memulai Compute Engine menggunakan library klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go Compute Engine.
Untuk melakukan autentikasi ke Compute Engine, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di panduan memulai Compute Engine menggunakan library klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java Compute Engine.
Untuk melakukan autentikasi ke Compute Engine, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di panduan memulai Compute Engine menggunakan library klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python Compute Engine.
Untuk melakukan autentikasi ke Compute Engine, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST
Sediakan disk sumber dan dua zona replika untuk disk regional baru. Contoh berikut mengasumsikan disk sumber dan target berada dalam project yang sama.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_1/disks { "name": "TARGET_DISK_NAME" "sourceDisk": "projects/PROJECT_ID/zones/REGION_1_ZONE_1/disks/SOURCE_DISK_NAME" "replicaZone": "REGION_1_ZONE_1,REGION_1_ZONE_2" }
Ganti kode berikut:
PROJECT_ID
: ID projectREGION_1
: region untuk disk regional baruTARGET_DISK_NAME
: nama untuk disk regional baruREGION_1_ZONE_1
: salah satu dari dua zona replika untuk disk regional baruSOURCE_DISK_NAME
: nama disk zona yang akan di-cloneREGION_1_ZONE_2
: zona replika lainnya untuk disk regional baru
Membuat clone disk sumber terenkripsi
Jika menggunakan kunci enkripsi yang disediakan pelanggan untuk mengenkripsi disk sumber, Anda juga harus menggunakan kunci yang sama untuk mengenkripsi clone tersebut.Konsol
Di konsol Google Cloud, buka halaman Disks.
Dalam daftar persistent disk zona, temukan disk yang ingin di-clone.
Klik tombol menu di bagian Actions dan pilih Clone disk.
Di panel Clone disk, tentukan nama untuk disk baru.
Sediakan kunci enkripsi disk sumber di bagian Decryption and encryption.
Di bagian Properties, tinjau detail lain untuk disk baru.
Klik Save.
gcloud
Berikan kunci enkripsi disk sumber menggunakan flag --csek-key-file
saat
Anda membuat clone disk. Jika Anda menggunakan kunci yang digabungkan RSA, gunakan
komponen gcloud beta
:
gcloud beta compute disks create projects/TARGET_PROJECT_ID/zones/ZONE/disks/TARGET_DISK_NAME \ --description="cloned disk" \ --source-disk=projects/SOURCE_PROJECT_ID/zones/ZONE/disks/SOURCE_DISK_NAME \ --csek-key-file example-key-file.json
Ganti kode berikut:
TARGET_PROJECT_ID
: project ID disk baruZONE
: zona sumber dan disk baruTARGET_DISK_NAME
: nama untuk disk baruSOURCE_PROJECT_ID
: project ID disk sumberSOURCE_DISK_NAME
: nama disk sumber
Go
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di panduan memulai Compute Engine menggunakan library klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go Compute Engine.
Untuk melakukan autentikasi ke Compute Engine, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di panduan memulai Compute Engine menggunakan library klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java Compute Engine.
Untuk melakukan autentikasi ke Compute Engine, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di panduan memulai Compute Engine menggunakan library klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python Compute Engine.
Untuk melakukan autentikasi ke Compute Engine, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST
Sediakan kunci enkripsi disk sumber menggunakan properti diskEncryptionKey
.
POST https://compute.googleapis.com/compute/beta/projects/TARGET_PROJECT_ID/zones/ZONE/disks { "name": "TARGET_DISK_NAME" "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/ZONE/disks/SOURCE_DISK_NAME" "diskEncryptionKey": { "rsaEncryptedKey": "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFHz0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoDD6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oeQ5lAbtt7bYAAHf5l+gJWw3sUfs0/Glw5fpdjT8Uggrr+RMZezGrltJEF293rvTIjWOEB3z5OHyHwQkvdrPDFcTqsLfh+8Hr8g+mf+7zVPEC8nEbqpdl3GPv3A7AwpFp7MA==" }, }
Ganti kode berikut:
TARGET_PROJECT_ID
: project ID disk baruZONE
: zona sumber dan disk baruTARGET_DISK_NAME
: nama disk baruSOURCE_PROJECT_ID
: project ID disk sumberSOURCE_DISK_NAME
: nama disk sumber
Jika menggunakan kunci enkripsi yang dikelola pelanggan untuk mengenkripsi disk sumber, Anda juga harus menggunakan kunci yang sama untuk mengenkripsi clone tersebut.
Konsol
Compute Engine otomatis mengenkripsi clone menggunakan kunci enkripsi disk sumber.
gcloud
Berikan kunci untuk disk sumber menggunakan tanda --kms-key
saat Anda membuat
clone disk. Jika Anda menggunakan kunci yang digabungkan RSA, gunakan
komponen gcloud beta
:
gcloud beta compute disks create projects/TARGET_PROJECT_ID/zones/ZONE/disks/TARGET_DISK_NAME \ --description="cloned disk" \ --source-disk=projects/SOURCE_PROJECT_ID/zones/ZONE/disks/SOURCE_DISK_NAME \ --kms-key projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY
Ganti kode berikut:
TARGET_PROJECT_ID
: project ID disk baruZONE
: zona sumber dan disk baruTARGET_DISK_NAME
: nama disk baruSOURCE_PROJECT_ID
: project ID disk sumberSOURCE_DISK_NAME
: nama disk sumberKMS_PROJECT_ID
: project ID kunci enkripsiREGION
: region kunci enkripsiKEY_RING
: key ring kunci enkripsiKEY
: nama kunci enkripsi
Go
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di panduan memulai Compute Engine menggunakan library klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go Compute Engine.
Untuk melakukan autentikasi ke Compute Engine, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di panduan memulai Compute Engine menggunakan library klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java Compute Engine.
Untuk melakukan autentikasi ke Compute Engine, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di panduan memulai Compute Engine menggunakan library klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python Compute Engine.
Untuk melakukan autentikasi ke Compute Engine, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST
Berikan kunci untuk disk sumber menggunakan properti kmsKeyName
saat Anda
membuat clone disk.
POST https://compute.googleapis.com/compute/beta/projects/TARGET_PROJECT_ID/zones/ZONE/disks { "name": "TARGET_DISK_NAME" "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/ZONE/disks/SOURCE_DISK_NAME" "diskEncryptionKey": { "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY" }, }
Ganti kode berikut:
TARGET_DISK_NAME
: nama disk baruSOURCE_PROJECT_ID
: project ID disk sumberZONE
: zona sumber dan disk baruSOURCE_DISK_NAME
: nama disk sumberKMS_PROJECT_ID
: project ID kunci enkripsiREGION
: region kunci enkripsiKEY_RING
: key ring kunci enkripsiKEY
: nama kunci enkripsi
Langkah selanjutnya
- Pelajari cara bekerja dengan persistent disk.
- Pelajari cara mencadangkan disk menggunakan snapshot secara rutin untuk mencegah kehilangan data yang tidak diinginkan.
- Pelajari cara menggunakan persist disk regional untuk replikasi sinkron antara dua zona.