Anda dapat memasang volume Persistent Disk SSD dalam mode multi-penulis ke hingga dua instance virtual machine (VM) N2 secara bersamaan, sehingga kedua VM dapat membaca dan menulis ke disk. Guna mengaktifkan mode multi-penulis untuk volume Persistent Disk baru, buat volume Persistent Disk baru dan tentukan flag --multi-writer
di gcloud CLI atau properti multiWriter
di Compute Engine API.
Volume Persistent Disk dalam mode multi-penulis menyediakan kemampuan block storage bersama dan memberikan fondasi infrastruktur untuk mem-build sistem penyimpanan terdistribusi dan layanan serupa yang memiliki ketersediaan tinggi. Saat menggunakan volume Persistent Disk dalam mode multi-penulis, gunakan sistem software penyimpanan dengan penyebaran skala yang memiliki kemampuan untuk mengoordinasikan akses ke perangkat Persistent Disk di beberapa VM. Contoh sistem penyimpanan ini meliputi Lustre dan IBM Spectrum Scale. Sebagian besar sistem file VM tunggal seperti EXT4, XFS, dan NTFS tidak dirancang untuk digunakan dengan block storage bersama. Untuk informasi selengkapnya, lihat Praktik terbaik dalam dokumen ini. Jika memerlukan penyimpanan file yang terkelola sepenuhnya, Anda dapat memasang fitur berbagi file Filestore di VM Compute Engine.
Volume Persistent Disk dalam mode multi-penulis mendukung subset perintah Reservasi Persisten SCSI-3 (SCSI PR). Aplikasi ketersediaan tinggi dapat menggunakan perintah ini untuk konfigurasi failover dan pagar I/O.
Perintah PR SCSI berikut didukung:
- IN {REPORT CAPABILITIES, READ FULL STATUS, READ RESERVATION, READ KEYS}
- OUT {REGISTER, REGISTER AND IGNORE EXISTING KEY, RESERVE, PREEMPT, CLEAR, RELEASE}
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.
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
-
Pembatasan
- Hanya tersedia untuk volume Persistent Disk jenis SSD.
- Anda dapat membuat volume Persistent Disk dalam mode multi-penulis di zona mana pun, tetapi Anda hanya dapat memasang disk tersebut ke VM di lokasi berikut:
australia-southeast1
europe-west1
us-central1
(khusus zonaus-central1-a
danus-central1-c
)us-east1
(khusus zonaus-east1-d
)us-west1
(khusus zonaus-west1-b
danus-west1-c
)
- VM yang terpasang harus memiliki jenis mesin N2.
- Ukuran minimum: 10 GB
- VM terpasang: 2
- Volume Persistent Disk mode multi-penulis tidak mendukung metrik Persistent Disk.
- Disk dalam mode multi-penulis tidak dapat diubah ke mode hanya baca.
- Anda tidak dapat menggunakan disk image atau snapshot untuk membuat volume Persistent Disk dalam mode multi-penulis.
- Anda tidak dapat membuat snapshot atau image dari volume Persistent Disk dalam mode multi-penulis.
- Batas IOPS yang lebih rendah. Lihat performa disk untuk mengetahui detailnya.
- Anda tidak dapat mengubah ukuran volume Persistent Disk multi-writer.
- Saat membuat VM menggunakan Google Cloud CLI, Anda tidak dapat membuat volume Persistent Disk multi-penulis menggunakan flag
--create-disk
.
Praktik terbaik
- Pemagaran I/O yang menggunakan perintah PR SCSI akan menghasilkan status konsisten error pada data Persistent Disk. Beberapa sistem file tidak memiliki konsistensi error dan oleh karena itu dapat rusak jika Anda menggunakan perintah PR SCSI.
- Banyak sistem file seperti EXT4, XFS, dan NTFS tidak dirancang untuk digunakan dengan block storage bersama dan tidak memiliki mekanisme untuk menyinkronkan atau melakukan operasi yang berasal dari beberapa instance VM.
- Sebelum menggunakan volume Persistent Disk dalam mode multi-penulis, pastikan Anda memahami sistem file dan cara sistem file tersebut dapat digunakan secara aman dengan block storage bersama dan akses simultan dari beberapa VM.
Performa
Volume Persistent Disk yang dibuat dalam mode multi-penulis memiliki batas IOPS dan throughput tertentu.
Mode multi-penulis persistent disk SSD zona | ||
---|---|---|
IOPS berkelanjutan maksimum | ||
IOPS baca per GB | 30 | |
IOPS tulis per GB | 30 | |
IOPS baca per instance | 15.000–100.000* | |
IOPS tulis per instance | 15.000–100.000* | |
Throughput berkelanjutan maksimum (MB/dtk) | ||
Throughput baca per GB | 0,48 | |
Throughput tulis per GB | 0,48 | |
Throughput baca per instance | 240–1.200* | |
Throughput tulis per instance | 240–1.200* |
Untuk mempelajari cara berbagi persistent disk di antara beberapa VM, baca artikel Berbagi persistent disk antar-VM.
Berbagi volume Persistent Disk zona antara instance VM
Bagian ini menjelaskan berbagai metode untuk berbagi volume Persistent Disk zona antara beberapa VM.
Membagikan disk dalam mode hanya baca antara beberapa VM
Anda dapat memasang volume Persistent Disk non-boot ke lebih dari satu VM dalam mode hanya baca, sehingga Anda dapat berbagi data statis antara beberapa VM. Berbagi data statis antara beberapa VM dari satu volume Persistent Disk lebih murah daripada mereplikasi data Anda ke disk unik untuk setiap VM.
Jika Anda perlu berbagi ruang penyimpanan dinamis antar beberapa VM, Anda dapat menggunakan salah satu opsi berikut:
- Menghubungkan VM ke Cloud Storage
- Hubungkan VM Anda ke Filestore
- Membuat server file jaringan di Compute Engine
- Buat volume Persistent Disk dengan mengaktifkan mode multi-penulis dan pasang ke maksimal dua VM.
Konsol
Di konsol Google Cloud, buka halaman Instance VM.
Dalam daftar VM di project Anda, klik nama VM tempat Anda ingin memasang disk. Halaman detail VM instance akan terbuka.
Di halaman detail instance, klik Edit.
Di bagian Additional disks, klik salah satu opsi berikut:
- Tambahkan disk untuk menambahkan disk dalam mode hanya baca ke VM.
- Pasang disk yang ada untuk memilih disk yang ada dan pasang dalam mode hanya baca ke VM Anda.
Tentukan opsi lain untuk disk Anda.
Klik Done untuk menerapkan perubahan.
Klik Save untuk menerapkan perubahan ke VM.
Menghubungkan ke VM dan memasang disk.
Ulangi proses ini untuk menambahkan disk ke VM lain dalam mode hanya baca.
gcloud
Di gcloud CLI, gunakan perintah compute instances attach-disk
dan tentukan flag --mode
dengan opsi ro
.
gcloud compute instances attach-disk INSTANCE_NAME \ --disk DISK_NAME \ --mode ro
Ganti kode berikut:
INSTANCE_NAME
: nama VM tempat Anda ingin memasang volume Persistent Disk zonaDISK_NAME
: nama disk yang ingin dipasang
Setelah Anda memasang disk, hubungkan ke VM dan pasang disk.
Ulangi perintah ini untuk setiap VM tempat Anda ingin menambahkan disk ini dalam mode hanya baca.
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 metode compute.instances.attachDisk
. Dalam isi permintaan, tentukan parameter mode
sebagai READ_ONLY
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk { "source": "zones/ZONE/disks/DISK_NAME", "mode": "READ_ONLY" }
Ganti kode berikut:
INSTANCE_NAME
: nama VM tempat Anda ingin memasang volume Persistent Disk zonaPROJECT_ID
: project ID AndaZONE
: zona tempat disk Anda beradaDISK_NAME
: nama disk yang Anda pasang
Setelah Anda memasang disk, hubungkan ke VM dan pasang disk.
Ulangi permintaan ini untuk setiap VM tempat Anda ingin menambahkan disk ini dalam mode hanya baca.
Berbagi volume Persistent Disk SSD dalam mode multi-penulis antara VM
Anda dapat berbagi volume Persistent Disk SSD dalam mode multi-penulis antara VM N2 di zona yang sama. Lihat mode multi-penulis Persistent Disk untuk mengetahui detail tentang cara kerja mode ini. Anda dapat membuat dan memasang volume Persistent Disk multi-penulis menggunakan proses berikut:
gcloud
Buat dan tambahkan volume Persistent Disk zona menggunakan gcloud CLI:
Gunakan perintah perintah
gcloud beta compute disks create
untuk membuat volume Persistent Disk zona. Sertakan tanda--multi-writer
untuk menunjukkan bahwa disk harus dapat dibagikan di antara VM dalam mode multi-penulis.gcloud beta compute disks create DISK_NAME \ --size DISK_SIZE \ --type pd-ssd \ --multi-writer
Ganti kode berikut:
DISK_NAME
: nama disk baruDISK_SIZE
: ukuran disk baru dalam GB Ukuran yang dapat diterima berkisar dari 1 GB hingga 65.536 GB untuk volume Persistent Disk SS, atau 200 GB hingga 65.536 GB untuk volume Persistent Disk standar dalam mode multi-penulis.
Setelah membuat disk, pasang ke VM yang berjalan atau dihentikan dengan jenis mesin N2. Gunakan perintah
gcloud compute instances attach-disk
:gcloud compute instances attach-disk INSTANCE_NAME \ --disk DISK_NAME
Ganti kode berikut:
INSTANCE_NAME
: nama VM N2 tempat Anda menambahkan volume Persistent Disk zona baruDISK_NAME
: nama disk baru yang Anda pasang ke VM
Ulangi perintah
gcloud compute instances attach-disk
, tetapi ganti INSTANCE_NAME` dengan nama VM kedua Anda.
Setelah Anda membuat dan memasang disk baru ke VM, format dan pasang disk menggunakan sistem file disk bersama. Sebagian besar sistem file tidak mampu menggunakan penyimpanan bersama. Pastikan sistem file Anda mendukung kemampuan ini sebelum menggunakannya dengan Persistent Disk multi-penulis. Anda tidak dapat memasang disk ke beberapa VM menggunakan proses yang sama seperti yang biasa Anda gunakan untuk memasang disk ke satu VM.
REST
Gunakan Compute Engine API untuk membuat dan memasang volume Persistent Disk SSD ke VM N2 dalam mode multi-penulis.
Di API, buat permintaan
POST
untuk membuat volume Persistent Disk zona menggunakan metodedisks.insert
. Sertakan propertiname
,sizeGb
, dantype
. Untuk membuat disk baru ini sebagai disk non-booting kosong dan tidak berformat, jangan tentukan gambar sumber atau snapshot sumber untuk disk ini. Sertakan propertimultiWriter
dengan nilaiTrue
untuk menunjukkan bahwa disk harus dapat dibagikan di antara VM dalam mode multi-penulis.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/disks { "name": "DISK_NAME", "sizeGb": "DISK_SIZE", "type": "zones/ZONE/diskTypes/pd-ssd", "multiWriter": "True" }
Ganti kode berikut:
PROJECT_ID
: project ID AndaZONE
: zona tempat VM dan disk baru Anda beradaDISK_NAME
: nama disk baruDISK_SIZE
: ukuran disk baru dalam GB Ukuran yang dapat diterima berkisar dari 1 GB hingga 65.536 GB untuk volume Persistent Disk SS, atau 200 GB hingga 65.536 GB untuk volume Persistent Disk standar dalam mode multi-penulis.
Buat permintaan
POST
ke metodecompute.instances.attachDisk
, dan sertakan URL ke volume Persistent Disk zona yang baru saja Anda buat:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk { "source": "/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME" }
Ganti kode berikut:
PROJECT_ID
: project ID AndaZONE
: zona tempat VM dan disk baru Anda beradaINSTANCE_NAME
: nama VM tempat Anda menambahkan volume Persistent Disk baru.DISK_NAME
: nama disk baru
Ulangi perintah
disks.insert
, tetapi tentukan VM kedua.
Setelah Anda membuat dan memasang disk baru ke VM, format dan pasang disk menggunakan sistem file disk bersama. Sebagian besar sistem file tidak mampu menggunakan penyimpanan bersama. Pastikan sistem file Anda mendukung kemampuan ini sebelum menggunakannya dengan Persistent Disk multi-penulis.