Puoi collegare un volume di disco permanente SSD in modalità multi-writer a un massimo di due istanze di macchine virtuali (VM) N2 contemporaneamente, in modo che entrambe le VM possano leggere e scrivere sul disco. Per abilitare la modalità multi-writer per i nuovi volumi di Persistent Disk, crea un nuovo volume di Persistent Disk e specifica il flag --multi-writer
in gcloud CLI o nella proprietà multiWriter
nell'API Compute Engine.
I volumi di Persistent Disk in modalità multi-writer offrono una funzionalità di archiviazione a blocchi condivisa e costituiscono una base infrastrutturale per la creazione di sistemi di archiviazione distribuiti e servizi simili ad alta disponibilità. Se utilizzi volumi di dischi permanenti in modalità multi-writer, utilizza un sistema software di archiviazione con scale out in grado di coordinare l'accesso ai dispositivi Persistent Disk su più VM. Esempi di questi sistemi di archiviazione includono Lustre e IBM Spectrum Scale. La maggior parte dei file system per VM singole, come EXT4, XFS e NTFS, non sono progettati per essere utilizzati con l'archiviazione a blocchi condivisa. Per ulteriori informazioni, consulta le best practice in questo documento. Se hai bisogno di un'archiviazione file completamente gestita, puoi montare una condivisione file di Filestore sulle VM di Compute Engine.
I volumi di Persistent Disk in modalità multi-writer supportano un sottoinsieme di comandi SCSI-3 Persistent Reservations (SCSI PR). Le applicazioni ad alta disponibilità possono utilizzare questi comandi per le configurazioni di fencing I/O e failover.
Sono supportati i seguenti comandi SCSI PR:
- IN {REPORT CAPABILITIES, READ FULL STATUS, READ RESERVATION, READ KEYS}
- OUT {REGISTER, REGISTER AND IGNORE EXISTING KEY, RESERVE, PREEMPT, CLEAR, RELEASE}
Prima di iniziare
-
Se non l'hai già fatto, configura l'autenticazione.
L'autenticazione è il processo mediante il quale viene verificata l'identità dell'utente per ottenere l'accesso ai servizi e alle API Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione in Compute Engine come segue.
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
-
Installa Google Cloud CLI, quindi initialize eseguendo questo comando:
gcloud init
- Set a default region and zone.
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
Crea credenziali di autenticazione locali per il tuo Account Google:
gcloud auth application-default login
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
Crea credenziali di autenticazione locali per il tuo Account Google:
gcloud auth application-default login
Per la modalità di sola lettura, il numero massimo di VM che puoi collegare a un disco dipende dal tipo di disco:
- I volumi di dischi permanenti bilanciati a livello di zona o di regione in modalità di sola lettura supportano solo 10 VM.
- Per i dischi permanenti SSD, Google consiglia di collegare non più di 100 VM a un singolo volume. Per volumi di dischi permanenti standard, il massimo consigliato è 10 VM.
- La modalità multi-writer è supportata solo per i volumi di Persistent Disk di tipo SSD.
- Puoi creare un volume di Persistent Disk in modalità multi-writer in qualsiasi zona, ma puoi collegare il disco solo alle VM nelle seguenti località:
australia-southeast1
europe-west1
us-central1
(solo zoneus-central1-a
eus-central1-c
)us-east1
(solo zonaus-east1-d
)us-west1
(solo zoneus-west1-b
eus-west1-c
)
- Le VM collegate devono avere un tipo di macchina N2.
- La dimensione minima del disco è 10 GiB.
- I dischi in modalità multi-writer non supportano il collegamento di più di due VM alla volta. I volumi Persistent Disk in modalità multi-writer non supportano le metriche del disco permanente.
- I dischi in modalità multi-writer non possono passare alla modalità di sola lettura.
- Non puoi utilizzare immagini disco o snapshot per creare volumi di Persistent Disk in modalità multi-writer.
- Non puoi creare snapshot o immagini da volumi Persistent Disk in modalità multi-writer.
- Limiti inferiori di IOPS. Vedi le prestazioni del disco per i dettagli.
- Non puoi ridimensionare un volume di un Persistent Disk multi-writer.
- Quando crei una VM utilizzando Google Cloud CLI, non puoi creare un volume di Persistent Disk con multi-writer utilizzando il flag
--create-disk
. - La fencing I/O mediante comandi SCSI PR determina uno stato coerente con l'arresto anomalo dei dati del Persistent Disk. Alcuni file system non hanno coerenza in caso di arresto anomalo e potrebbero quindi danneggiarsi se utilizzi comandi SCSI PR.
- Molti file system, come EXT4, XFS e NTFS, non sono progettati per essere utilizzati con l'archiviazione a blocchi condivisa e non dispongono di meccanismi per sincronizzare o eseguire operazioni che hanno origine da più istanze VM.
- Prima di utilizzare i volumi di Persistent Disk in modalità multi-writer, assicurati di comprendere il tuo file system e come può essere utilizzato in sicurezza con l'archiviazione a blocchi condivisa e l'accesso simultaneo da più VM.
- Connetti le tue VM a Cloud Storage
- Connetti le tue VM a Filestore
- Crea un file server di rete su Compute Engine
Crea un volume Persistent Disk con la modalità multi-writer abilitata e collegalo a un massimo di due VM.
Nella console Google Cloud, vai alla pagina Istanze VM.
Nell'elenco delle VM nel progetto, fai clic sul nome della VM a cui vuoi collegare il disco. Si apre la pagina Dettagli istanza VM.
Nella pagina dei dettagli dell'istanza, fai clic su Modifica.
Nella sezione Dischi aggiuntivi, fai clic su una delle seguenti opzioni:
- Aggiungi un disco per aggiungere alla VM un disco in modalità di sola lettura.
- Collega un disco esistente per selezionarne uno esistente e collegarlo in modalità di sola lettura alla tua VM.
Specifica altre opzioni per il disco.
Fai clic su Fine per applicare le modifiche.
Fai clic su Salva per applicare le modifiche alla VM.
Connettiti alla VM e monta il disco.
Ripeti questo processo per aggiungere il disco ad altre VM in modalità di sola lettura.
INSTANCE_NAME
: il nome della VM in cui vuoi collegare il volume Persistent Disk a livello di zonaDISK_NAME
: il nome del disco che vuoi collegareINSTANCE_NAME
: il nome della VM in cui vuoi collegare il volume Persistent Disk a livello di zonaPROJECT_ID
: il tuo ID progettoZONE
: la zona in cui si trova il discoDISK_NAME
: il nome del disco che stai collegandoUtilizza il comando
gcloud beta compute disks create
per creare un volume di Persistent Disk a livello di zona. Includi il flag--multi-writer
per indicare che il disco deve essere condivisibile tra le VM in modalità multi-writer.gcloud beta compute disks create DISK_NAME \ --size DISK_SIZE \ --type pd-ssd \ --multi-writer
Sostituisci quanto segue:
DISK_NAME
: il nome del nuovo discoDISK_SIZE
: la dimensione, in GB, del nuovo disco Le dimensioni accettabili vanno da 1 GB a 65.536 GB per volumi di dischi permanenti SSD o da 200 GB a 65.536 GB per volumi di Persistent Disk standard in modalità multi-writer.
Dopo aver creato il disco, collegalo a qualsiasi VM in esecuzione o arrestata con un tipo di macchina N2. Usa il comando
gcloud compute instances attach-disk
:gcloud compute instances attach-disk INSTANCE_NAME \ --disk DISK_NAME
Sostituisci quanto segue:
INSTANCE_NAME
: il nome della VM N2 a cui aggiungi il nuovo volume di Persistent Disk a livello di zonaDISK_NAME
: il nome del nuovo disco che stai collegando alla VM
Ripeti il comando
gcloud compute instances attach-disk
, ma sostituisci INSTANCE_NAME con il nome della tua seconda VM.Nell'API, crea una richiesta
POST
per creare un volume di Persistent Disk a livello di zona utilizzando il metododisks.insert
. Includi le proprietàname
,sizeGb
etype
. Per creare questo nuovo disco come disco non di avvio vuoto e non formattato, non specificare un'immagine di origine o uno snapshot di origine per questo disco. Includi la proprietàmultiWriter
con il valoreTrue
per indicare che il disco deve essere condivisibile tra le VM in modalità multi-writer.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" }
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progettoZONE
: la zona in cui si trovano la VM e il nuovo discoDISK_NAME
: il nome del nuovo discoDISK_SIZE
: la dimensione, in GB, del nuovo disco Le dimensioni accettabili vanno da 1 GB a 65.536 GB per volumi di dischi permanenti SSD o da 200 GB a 65.536 GB per volumi di Persistent Disk standard in modalità multi-writer.
Crea una richiesta
POST
per il metodocompute.instances.attachDisk
e includi l'URL del volume del Persistent Disk a livello di zona che hai appena creato: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" }
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progettoZONE
: la zona in cui si trovano la VM e il nuovo discoINSTANCE_NAME
: il nome della VM a cui stai aggiungendo il nuovo volume Persistent Disk.DISK_NAME
: il nome del nuovo disco
Ripeti il comando
disks.insert
, ma specifica la seconda VM.- Scopri di più sulla condivisione di volumi di Persistent Disk a livello di regione tra più istanze VM.
Java
Per utilizzare gli Java esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per maggiori informazioni, consulta Set up authentication for a local development environment.
Python
Per utilizzare gli Python esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per maggiori informazioni, consulta Set up authentication for a local development environment.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI, quindi initialize eseguendo questo comando:
gcloud init
Per maggiori informazioni, consulta Autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Limitazioni
Le VM devono trovarsi nella stessa zona per condividere un volume di Persistent Disk a livello di zona. Allo stesso modo, i dischi a livello di regione possono essere condivisi solo con VM nelle stesse zone delle repliche del disco.
Limitazioni per la condivisione dei dischi in modalità di sola lettura
Limitazioni per la modalità multi-writer
Best practice
Prestazioni
I volumi di Persistent Disk creati in modalità multi-writer hanno limiti specifici di IOPS e velocità effettiva.
Modalità multi-writer per il disco permanente SSD di zona Numero massimo di IOPS sostenute IOPS di lettura per GB 30 IOPS di scrittura per GB 30 IOPS di lettura per istanza 15.000-100.000* IOPS di scrittura per istanza 15.000-100.000* Velocità effettiva massima sostenuta (MB/s) Velocità effettiva di lettura per GB 0,48 Velocità effettiva di scrittura per GB 0,48 Velocità effettiva di lettura per istanza 240-1200* Velocità effettiva di scrittura per istanza 240-1200* * Il numero di IOPS dei dischi permanenti e le prestazioni della velocità effettiva dipendono, tra gli altri fattori, dalle dimensioni del disco, dal numero di vCPU dell'istanza e dalle dimensioni del blocco I/O.Il collegamento di un disco multi-writer a più istanze di macchine virtuali non influisce sulle prestazioni o sui costi aggregati. Ogni macchina riceve una quota del limite delle prestazioni per disco.
Per informazioni su come condividere dischi permanenti tra più VM, consulta Condividere dischi permanenti tra VM.Condividi un volume di Persistent Disk a livello di zona tra le istanze VM
Questa sezione illustra i diversi metodi per condividere volumi di Persistent Disk a livello di zona tra più VM.
Condividi un disco in modalità di sola lettura tra più VM
Puoi collegare un volume di Persistent Disk non di avvio a più di una VM in modalità di sola lettura, consentendo di condividere dati statici tra più VM. La condivisione di dati statici tra più VM da un volume di Persistent Disk è meno costosa rispetto alla replica dei dati su dischi unici per le singole VM.
Se hai bisogno di condividere spazio di archiviazione dinamico tra più VM, puoi utilizzare una delle seguenti opzioni:
Console
gcloud
Nell'interfaccia alla gcloud CLI, utilizza il comando
compute instances attach-disk
e specifica il flag--mode
con l'opzionero
.gcloud compute instances attach-disk INSTANCE_NAME \ --disk DISK_NAME \ --mode ro
Sostituisci quanto segue:
Dopo aver collegato il disco, connettiti alla VM e monta il disco.
Ripeti questo comando per ogni VM in cui vuoi aggiungere questo disco in modalità di sola lettura.
Java
Java
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nella guida rapida di Compute Engine mediante l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java di Compute Engine.
Per eseguire l'autenticazione su Compute Engine, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Python
Prima di provare questo esempio, segui le istruzioni per la configurazione di Python nella guida rapida di Compute Engine mediante l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Python di Compute Engine.
Per eseguire l'autenticazione su Compute Engine, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
REST
Nell'API, crea una richiesta
POST
per il metodocompute.instances.attachDisk
. Nel corpo della richiesta, specifica il parametromode
comeREAD_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" }
Sostituisci quanto segue:
Dopo aver collegato il disco, connettiti alla VM e monta il disco.
Ripeti questa richiesta per ogni VM in cui vuoi aggiungere questo disco in modalità di sola lettura.
Condividi un volume di disco permanente SSD in modalità multi-writer tra le VM
Puoi condividere un volume di disco permanente SSD in modalità multi-writer tra VM N2 nella stessa zona. Per i dettagli sul funzionamento di questa modalità, consulta Modalità multi-writer di disco permanente. Puoi creare e collegare volumi di Persistent Disk multi-writer utilizzando la seguente procedura:
gcloud
Crea e collega un volume di Persistent Disk a livello di zona utilizzando gcloud CLI:
Dopo aver creato e collegato un nuovo disco a una VM, formatta e monta il disco utilizzando un file system di dischi condivisi. La maggior parte dei file system non è in grado di utilizzare lo spazio di archiviazione condiviso. Verifica che il tuo file system supporti queste funzionalità prima di utilizzarlo con Persistent Disk multi-writer. Non puoi montare il disco su più VM utilizzando lo stesso processo che utilizzi normalmente per montare il disco su una singola VM.
REST
Utilizza l'API Compute Engine per creare e collegare un volume di disco permanente SSD alle VM N2 in modalità multi-writer.
Dopo aver creato e collegato un nuovo disco a una VM, formatta e monta il disco utilizzando un file system di dischi condivisi. La maggior parte dei file system non è in grado di utilizzare lo spazio di archiviazione condiviso. Verifica che il tuo file system supporti queste funzionalità prima di utilizzarlo con Persistent Disk multi-writer.
Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2024-06-28 UTC.
[{ "type": "thumb-down", "id": "hardToUnderstand", "label":"Hard to understand" },{ "type": "thumb-down", "id": "incorrectInformationOrSampleCode", "label":"Incorrect information or sample code" },{ "type": "thumb-down", "id": "missingTheInformationSamplesINeed", "label":"Missing the information/samples I need" },{ "type": "thumb-down", "id": "translationIssue", "label":"Problema di traduzione" },{ "type": "thumb-down", "id": "otherDown", "label":"Altra" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Facile da capire" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Il problema è stato risolto" },{ "type": "thumb-up", "id": "otherUp", "label":"Altra" }] -