Membuat dan mengelola disk yang direplikasi secara sinkron


Persistent Disk Regional dan Hyperdisk Balanced High Availability adalah opsi penyimpanan yang memungkinkan Anda mengimplementasikan layanan ketersediaan tinggi (HA) di Compute Engine. Persistent Disk Regional dan Hyperdisk Balanced High Availability mereplikasi data secara sinkron antara dua zona di region yang sama dan memastikan HA untuk data disk hingga satu kegagalan zona. Disk yang direplikasi secara sinkron dapat berupa disk booting atau disk non-booting.

Dokumen ini menjelaskan cara melakukan tugas-tugas berikut untuk disk yang direplikasi:

Sebelum memulai

  • Tinjau perbedaan berbagai jenis opsi penyimpanan disk.
  • Tinjau dasar-dasar replikasi disk sinkron.
  • Baca tentang failover disk yang direplikasi.
  • Jika Anda belum melakukannya, siapkan autentikasi. Autentikasi adalah proses verifikasi identitas Anda untuk mengakses layanan dan API Google Cloud. Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat mengautentikasi ke Compute Engine dengan memilih salah satu opsi berikut:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. Terraform

      Untuk menggunakan contoh Terraform di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.

      1. Install the Google Cloud CLI.
      2. To initialize the gcloud CLI, run the following command:

        gcloud init
      3. Buat kredensial autentikasi lokal untuk Akun Google Anda:

        gcloud auth application-default login

      Untuk informasi selengkapnya, lihat Set up authentication for a local development environment.

      REST

      Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Untuk informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud.

Peran dan izin yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk membuat disk yang direplikasi secara sinkron, minta administrator untuk memberi Anda peran IAM berikut pada project:

Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin yang diperlukan untuk membuat disk yang direplikasi secara sinkron. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk membuat disk yang direplikasi secara sinkron:

  • compute.disks.create
  • compute.instances.attachDisk
  • compute.disks.use
  • Buat snapshot disk: compute.disks.createSnapshot
  • Melihat detail disk: compute.disks.get
  • Dapatkan daftar disk: compute.disks.list
  • Mengubah ukuran disk: compute.disks.update

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Batasan

  • Meksiko, Osaka, dan Montreal memiliki tiga zona yang ditempatkan di satu atau dua pusat data fisik. Karena data yang disimpan di region ini dapat hilang jika terjadi penghancuran pusat data yang jarang terjadi, Anda dapat mempertimbangkan untuk mencadangkan data penting bagi bisnis ke region kedua untuk meningkatkan perlindungan data.
  • Anda dapat memasang Persistent Disk regional hanya ke VM yang menggunakan jenis mesin E2, N1, N2, dan N2D.
  • Anda hanya dapat memasang Hyperdisk Balanced High Availability ke jenis mesin yang didukung.
  • Anda tidak dapat membuat Persistent Disk regional dari image, atau dari disk yang dibuat dari image.
  • Saat menggunakan mode hanya baca, Anda dapat memasang Persistent Disk regional seimbang ke maksimum 10 instance VM.
  • Ukuran minimum Persistent Disk standar regional adalah 200 GiB.
  • Anda hanya dapat meningkatkan ukuran volume Persistent Disk regional atau Hyperdisk Balanced High Availability; Anda tidak dapat mengurangi ukurannya.
  • Volume Persistent Disk Regional dan Hyperdisk Balanced High Availability memiliki karakteristik performa yang berbeda dengan disk zona yang sesuai. Untuk mengetahui informasi selengkapnya, lihat Performa block storage.
  • Anda tidak dapat menggunakan volume Hyperdisk Balanced High Availability yang dalam mode multi-penulis sebagai disk booting.
  • Jika Anda membuat disk yang direplikasi dengan meng-clone disk zona, kedua replika zona tidak sepenuhnya disinkronkan pada saat pembuatan. Setelah pembuatan, Anda dapat menggunakan clone disk regional rata-rata dalam waktu 3 menit. Namun, Anda mungkin perlu menunggu puluhan menit sebelum disk mencapai status replikasi sepenuhnya dan toleransi durasi kehilangan data (RPO) mendekati nol. Pelajari cara memeriksa apakah disk yang direplikasi telah direplikasi sepenuhnya.

Tentang penggunaan disk yang direplikasi sebagai boot disk untuk VM

Anda dapat memasang Persistent Disk regionalatau disk Hyperdisk Balanced High Availability (Pratinjau) sebagai disk booting untuk workload stateful yang disediakan sebelumnya, sebelum Anda menyediakan workload produksi. Boot disk yang direplikasi tidak ditujukan untuk hot standby, karena boot disk yang direplikasi tidak dapat dipasang secara bersamaan ke dua VM.

Anda hanya dapat membuat Persistent Disk regional atau volume Hyperdisk Balanced High Availability dari snapshot; Anda tidak dapat membuat disk yang direplikasi dari image.

Untuk menggunakan disk yang direplikasi sebagai boot disk VM, gunakan salah satu metode berikut:

  1. Buat VM baru dengan disk booting yang direplikasi.
  2. Buat disk booting yang direplikasi, lalu pasang ke VM:
    1. Buat disk yang direplikasi dari snapshot disk booting.
    2. Melampirkan disk booting yang direplikasi ke VM.

Jika Anda perlu melakukan failover boot disk yang direplikasi ke VM standby yang sedang berjalan di zona replika, gunakan langkah-langkah yang dijelaskan dalam Memasang boot disk yang direplikasi ke VM.

Membuat disk yang direplikasi secara sinkron

Buat volume Hyperdisk Ketersediaan Tinggi yang Seimbang (Pratinjau) atauPersistent Disk regional. Disk harus berada di region yang sama dengan VM yang akan Anda lampirkan.

Jika membuat volume Hyperdisk Balanced High Availability, Anda juga dapat mengizinkan VM yang berbeda untuk mengakses disk secara bersamaan dengan menetapkan mode akses disk. Untuk mengetahui informasi selengkapnya, lihat Berbagi disk antar-VM.

Untuk Persistent Disk regional, jika Anda membuat disk di konsol Google Cloud, jenis disk default-nya adalah pd-balanced. Jika Anda membuat disk menggunakan gcloud CLI atau REST, jenis disk default-nya adalah pd-standard.

Konsol

  1. Di konsol Google Cloud, buka halaman Disks.

    Buka Disk

  2. Pilih project yang diperlukan.

  3. Klik Buat disk.

  4. Tentukan Nama untuk disk Anda.

  5. Untuk Lokasi, pilih Regional.

  6. Pilih Region dan Zona. Anda harus memilih region yang sama saat membuat VM Anda.

  7. Pilih Zona replika di region yang sama. Catat zona yang Anda pilih karena Anda harus memasang disk ke VM Anda di salah satu zona tersebut.

  8. Pilih Jenis sumber disk.

  9. Pilih Jenis disk dan Ukuran.

  10. Klik Buat untuk menyelesaikan pembuatan disk.

gcloud

Buat disk yang direplikasi secara sinkron menggunakan perintah compute disks create.

Jika Anda memerlukan Persistent Disk SSD regional untuk throughput atau IOPS tambahan, sertakan flag --type dan tentukan pd-ssd.

gcloud compute disks create DISK_NAME \
   --size=DISK_SIZE \
   --type=DISK_TYPE \
   --region=REGION \
   --replica-zones=ZONE1,ZONE2
   --access-mode=DISK_ACCESS_MODE

Ganti kode berikut:

  • DISK_NAME: nama disk baru
  • DISK_SIZE: ukuran disk baru, dalam GiB
  • DISK_TYPE: Untuk Persistent Disk regional, ini adalah jenis disk yang direplikasi. Nilai defaultnya adalah pd-standard. Untuk Hyperdisk, tentukan nilai hyperdisk-balanced-high-availability.
  • REGION: region tempat disk yang direplikasi berada, misalnya: europe-west1
  • ZONE1,ZONE2: zona dalam region tempat dua replika disk berada, misalnya: europe-west1-b,europe-west1-c
  • DISK_ACCESS_MODE: Opsional: Cara VM dapat mengakses data di disk. Nilai yang didukung adalah:

    • READ_WRITE_SINGLE, untuk akses baca-tulis dari satu VM. Ini adalah defaultnya.
    • READ_WRITE_MANY, untuk akses baca-tulis dari beberapa VM.

    Anda dapat menetapkan mode akses hanya untuk disk Hyperdisk Balanced High Availability.

Terraform

Untuk membuat Persistent Disk regional atau volume Hyperdisk Balanced High Availability , Anda dapat menggunakan resource google_compute_region_disk.

resource "google_compute_region_disk" "regiondisk" {
  name                      = "region-disk-name"
  snapshot                  = google_compute_snapshot.snapdisk.id
  type                      = "pd-ssd"
  region                    = "us-central1"
  physical_block_size_bytes = 4096
  size                      = 11

  replica_zones = ["us-central1-a", "us-central1-f"]
}

REST

Untuk membuat Persistent Disk regional atau volume Hyperdisk Balanced High Availability , buat permintaan POST ke metode compute.regionDisks.insert.

Untuk membuat disk kosong, jangan tentukan sumber snapshot.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks
{
  "name": "DISK_NAME",
  "region": "projects/PROJECT_ID/regions/REGION",
  "replicaZones": [
    "projects/PROJECT_ID/zones/ZONE1",
    "projects/PROJECT_ID/zones/ZONE2"
  ],
  "sizeGb": "DISK_SIZE",
  "type": "projects/PROJECT_ID/regions/REGION/diskTypes/DISK_TYPE",
  "accessMode": "DISK_ACCESS_MODE"
}

Ganti kode berikut:

  • PROJECT_ID: project ID Anda
  • REGION: region tempat disk yang direplikasi berada, misalnya: europe-west1
  • DISK_NAME: nama disk baru
  • ZONE1,ZONE2: zona tempat replika disk baru seharusnya berada
  • DISK_SIZE: ukuran disk baru, dalam GiB
  • DISK_TYPE: Untuk Persistent Disk regional, ini adalah jenis Persistent Disk. Untuk Hyperdisk, tentukan nilai hyperdisk-balanced-high-availability.
  • DISK_ACCESS_MODE: cara VM dapat mengakses data di disk. Nilai yang didukung adalah:

    • READ_WRITE_SINGLE, untuk akses baca-tulis dari satu VM. Ini adalah defaultnya.
    • READ_WRITE_MANY, untuk akses baca-tulis dari beberapa VM.

    Anda dapat menetapkan mode akses hanya untuk disk Hyperdisk Balanced High Availability.

Melampirkan disk yang direplikasi ke VM

Untuk disk yang bukan disk booting, setelah membuat volume Hyperdisk Balanced High Availability (Preview) atauPersistent Disk regional, Anda dapat memasangnya ke VM. VM harus berada di region yang sama dengan disk.

Untuk memasang boot disk yang direplikasi ke VM, lihat Memasang boot disk yang direplikasi ke VM.

Untuk memasang disk ke beberapa VM, ulangi prosedur di bagian ini untuk setiap VM.

Konsol

  1. Untuk memasang disk ke VM, buka halaman Instance VM.

    Buka Instance VM

  2. Di kolom Nama, klik nama VM.

  3. Klik Edit .

  4. Klik Pasang disk yang ada.

  5. Pilih disk yang direplikasi yang dibuat sebelumnya untuk ditambahkan ke VM Anda.

  6. Jika Anda melihat peringatan yang menunjukkan bahwa disk yang dipilih telah terpasang ke instance lain, pilih kotak Pasang paksa disk untuk memasang disk secara paksa ke VM yang sedang Anda edit.

    Tinjau kasus penggunaan untuk memasang paksa disk yang direplikasi di Failover disk yang direplikasi.

  7. Klik Simpan.

  8. Di halaman Edit VM, klik Simpan.

gcloud

Untuk memasang disk yang direplikasi ke VM yang berjalan atau dihentikan, gunakan perintah compute instances attach-disk dengan flag --disk-scope yang ditetapkan ke regional.

gcloud compute instances attach-disk VM_NAME \
    --disk=DISK_NAME \
    --disk-scope=regional

Ganti kode berikut:

  • VM_NAME: nama VM yang Anda tambahi disk yang direplikasi
  • DISK_NAME: nama disk baru yang Anda pasang ke VM

Terraform

Untuk memasang Persistent Disk regionalatau volume Hyperdisk Balanced High Availability ke VM, Anda dapat menggunakan resource google_compute_attached_disk.

resource "google_compute_instance" "test_node" {
  name         = "test-node"
  machine_type = "f1-micro"
  zone         = "us-west1-a"

  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-11"
    }
  }
  attached_disk {
    source      = google_compute_disk.default.id
    device_name = google_compute_disk.default.name
  }

  network_interface {
    network = "default"
    access_config {
      # Ephemeral IP
    }
  }

  # Ignore changes for persistent disk attachments
  lifecycle {
    ignore_changes = [attached_disk]
  }


}

REST

Untuk memasang disk yang direplikasi ke VM yang berjalan atau dihentikan, buat permintaan POST ke metode compute.instances.attachDisk dan sertakan URL ke disk yang direplikasi yang Anda buat.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/attachDisk
{
  "source": "/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME"
}

Ganti kode berikut:

  • PROJECT_ID: project ID Anda.
  • ZONE: lokasi VM Anda
  • VM_NAME: nama VM yang Anda tambahi disk baru yang direplikasi
  • REGION: region tempat disk yang direplikasi berada
  • DISK_NAME: nama disk yang direplikasi

Untuk disk non-boot, setelah membuat dan memasang disk kosong yang direplikasi ke VM, Anda harus memformat dan memasang disk, sehingga sistem operasi dapat menggunakan ruang penyimpanan yang tersedia.

Mengubah disk zona menjadi disk yang direplikasi

Untuk mengonversi Persistent Disk zona yang ada menjadi Persistent Disk Regional, buat disk baru dengan meng-clone disk zona yang ada. Untuk mengetahui informasi selengkapnya, lihat Membuat clone disk regional dari disk zona.

Untuk mengonversi Hyperdisk menjadi disk yang direplikasi secara sinkron, buat disk Hyperdisk Balanced High Availability baru dari snapshot disk yang ada, seperti yang dijelaskan dalam Mengubah jenis disk.

Membuat VM baru dengan disk yang direplikasi

Saat membuat VM, Anda dapat menyertakan volume Hyperdisk Balanced High Availability (Preview) atau Persistent Disk regionalsebagai disk tambahan secara opsional.

Untuk membuat dan memasang volume Hyperdisk Balanced High Availability atauPersistent Disk regionalke VM selama pembuatan VM, lihat salah satu opsi berikut:

Membuat VM baru dengan disk booting yang direplikasi

Saat menyiapkan instance VM yang sangat tersedia, Anda dapat membuat VM utama dengan disk booting yang direplikasi. Jika terjadi pemadaman layanan di zona tertentu, Anda dapat memulai ulang VM di zona sekunder, bukan membuat VM baru.

Dalam penyiapan ketersediaan tinggi, jika perangkat booting adalah disk yang direplikasi, Google merekomendasikan agar Anda tidak membuat dan memulai instance standby sebelumnya. Sebagai gantinya, pada tahap failover, pasang disk yang direplikasi yang ada saat membuat instance standby menggunakan opsi forceAttach.

Untuk membuat VM dengan boot disk yang merupakan disk yang direplikasi, gunakan salah satu metode berikut:

gcloud

Gunakan perintah gcloud compute instances create untuk membuat VM, dan flag --create-disk untuk menentukan disk yang direplikasi.

gcloud compute instances create PRIMARY_INSTANCE_NAME  \
 --zone=ZONE  \
 --create-disk=^:^name=REPLICATED_DISK_NAME:scope=regional:boot=true:type=DISK_TYPE:source-snapshot=SNAPSHOT_NAME:replica-zones=ZONE,REMOTE_ZONE

Saat menentukan parameter disk, karakter ^:^ menentukan bahwa karakter pemisahan di antara parameter adalah titik dua (:). Dengan demikian, Anda dapat menggunakan koma (,) saat menentukan parameter zona replika.

Ganti kode berikut:

  • PRIMARY_INSTANCE_NAME: nama untuk VM
  • ZONE: nama zona tempat Anda ingin membuat VM
  • REPLICATED_DISK_NAME: nama untuk disk yang direplikasi
  • DISK_TYPE: jenis disk yang akan dibuat, misalnya, hyperdisk-balanced-high-availability (Pratinjau) atau pd-balanced
  • SNAPSHOT_NAME: nama snapshot yang Anda buat untuk boot disk
  • REMOTE_ZONE: zona alternatif untuk disk yang direplikasi

REST

Buat permintaan POST ke metode instances.insert dan tentukan properti boot: 'true' dan replicaZones. Contoh:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
 "name": "VM_NAME",
 "disks": [{
    "boot": true,
    "initializeParams": {
       "sourceSnapshot": "global/snapshots/BOOT_SNAPSHOT_NAME",
       "replicaZones": [
           "projects/PROJECT_ID/zones/ZONE",
           "projects/PROJECT_ID/zones/REMOTE_ZONE"
       ],
       "diskType": "projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE"
    }
  }],
 "networkInterfaces": [
    {
      "network": "global/networks/default"
    }
  ]
}

Ganti kode berikut:

  • PROJECT_ID: project ID Anda.
  • ZONE: nama zona tempat Anda ingin membuat VM
  • VM_NAME: nama untuk VM
  • BOOT_SNAPSHOT_NAME: nama snapshot boot disk
  • REMOTE_ZONE: zona jarak jauh untuk disk yang direplikasi
  • DISK_TYPE: jenis disk yang akan dibuat, misalnya, hyperdisk-balanced-high-availability (Preview) atau pd-balanced

Memasang disk booting yang direplikasi ke VM

Gunakan langkah-langkah berikut untuk:

  • Ganti boot disk VM yang ada dengan boot disk yang direplikasi.
  • Lakukan failover disk booting yang direplikasi ke VM hot standby yang berjalan di zona pencadangan. Anda melakukannya dengan memasang disk yang direplikasi ke VM sebagai boot disk.

Langkah-langkah ini mengasumsikan bahwa disk dan VM yang direplikasi sudah ada.

gcloud

  1. Hentikan VM.
    gcloud compute instances stop VM_NAME  --zone=ZONE
    
  2. Lepaskan boot disk saat ini dari VM.
    gcloud compute instances detach-disk VM_NAME \
     --zone=ZONE --disk=CURRENT_BOOT_DEVICE_NAME
    
  3. Pasang disk booting yang direplikasi ke VM.
    gcloud compute instances attach-disk VM_NAME  \
     --zone=ZONE  \
     --disk=REPLICATED_DISK_NAME  \
     --disk-scope=regional --force-attach \
     --boot
    
  4. Mulai ulang VM.

    gcloud compute instances start VM_NAME
    

Ganti variabel dalam perintah sebelumnya dengan yang berikut ini:

  • VM_NAME: nama VM tempat Anda ingin memasang boot disk yang direplikasi
  • ZONE: zona tempat VM berada
  • CURRENT_BOOT_DEVICE_NAME: nama boot disk yang digunakan oleh VM. Ini biasanya sama dengan nama VM.
  • REPLICATED_DISK_NAME: nama disk replika yang ingin Anda pasang ke VM sebagai boot disk

Opsional: Jika Anda tidak berhasil melepaskan boot disk yang direplikasi dari VM utama karena pemadaman atau kegagalan, sertakan flag --force-attach.

REST

  1. Menghentikan VM.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
    
  2. Lepaskan boot disk saat ini dari VM.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/detachDisk?deviceName=CURRENT_BOOT_DEVICE_NAME
    
  3. Pasang disk booting yang direplikasi ke VM.

    Buat permintaan POST ke metode compute.instances.attachDisk, dan sertakan URL ke disk booting yang direplikasi:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/attachDisk
    {
    "source": "compute/v1/projects/PROJECT_ID/regions/REGION/disks/REPLICATED_DISK_NAME",
    "boot": true
    }
  4. Mulai ulang VM.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
    

Ganti variabel dalam perintah sebelumnya dengan yang berikut ini:

  • PROJECT_ID: project ID Anda
  • VM_NAME: nama VM tempat Anda ingin memasang disk yang direplikasi
  • ZONE: zona tempat VM berada
  • CURRENT_BOOT_DEVICE_NAME: nama boot disk yang digunakan oleh VM. Nama ini biasanya sama dengan nama VM.
  • REGION: region tempat disk replika berada
  • REPLICATED_DISK_NAME: nama disk replika yang ingin Anda pasang ke VM sebagai boot disk

Opsional: Jika Anda tidak berhasil melepaskan boot disk yang direplikasi dari VM tempat awalnya terpasang karena pemadaman atau kegagalan, sertakan "forceAttach": true dalam isi permintaan.

Membuat daftar dan deskripsi disk yang direplikasi

Anda dapat melihat daftar semua disk yang direplikasi dan dikonfigurasi, serta informasi tentang propertinya, termasuk yang berikut:

  • ID Disk
  • Nama disk
  • Ukuran
  • Jenis disk
  • Region
  • Replika zona

Untuk melihat informasi mendetail tentang disk yang direplikasi, gunakan perintah berikut:

Mengubah ukuran disk yang direplikasi

Jika VM dengan disk yang direplikasi secara sinkron memerlukan ruang penyimpanan tambahan, Anda dapat mengubah ukuran disk. Anda dapat mengubah ukuran disk kapan saja, terlepas dari apakah disk terpasang ke VM yang berjalan atau tidak. Jika Anda perlu memisahkan data menjadi volume unik, buat beberapa disk sekunder untuk VM. Untuk Hyperdisk Balanced High Availability, Anda juga dapat meningkatkan batas IOPS dan throughput untuk disk.

Perintah untuk mengubah ukuran disk yang direplikasi sangat mirip dengan perintah untuk mengubah ukuran disk yang tidak direplikasi. Namun, Anda harus menentukan region, bukan zona untuk lokasi disk.

Anda hanya dapat menambah, dan tidak mengurangi, ukuran disk. Untuk mengurangi ukuran disk, Anda harus membuat disk baru dengan ukuran yang lebih kecil. Anda akan dikenai biaya untuk kedua disk sampai disk asli yang lebih besar dihapus.

Untuk petunjuk cara mengubah disk yang direplikasi, lihat hal berikut:

Langkah selanjutnya