Per accedere allo stesso disco da più istanze di macchine virtuali (VM): puoi attivare la condivisione di sola lettura o multi-writer.
La condivisione in sola lettura consente l'accesso statico ai dati su un disco da più VM. Le VM alle quali è collegato il disco possono solo leggere i dati dal disco scrivere sul disco.
La modalità multi-writer concede a più VM l'accesso in lettura e scrittura allo stesso disco.
Le VM devono trovarsi nella stessa zona per condividere un disco a livello di zona. Analogamente, i dischi regionali può essere condiviso solo con VM nelle stesse zone delle repliche del disco.
Questo documento illustra la condivisione dei dischi in Compute Engine e come abilitarla.
Prima di iniziare
- Per condividere un volume Hyperdisk ML tra le VM, devi impostare la modalità di accesso del volume Hyperdisk ML in sola lettura. Per modificare la modalità di accesso di un volume Hyperdisk ML, consulta Modifica la modalità di accesso di un volume Hyperdisk ML.
-
Se non l'hai già fatto, configura l'autenticazione.
Autenticazione è
Il processo di verifica dell'identità per l'accesso ai servizi e alle API di Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione
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
-
Amministratore istanze Compute (v1) (
roles/compute.instanceAdmin.v1
) -
Per connetterti a una VM che possa essere eseguita come account di servizio:
Utente account di servizio (v1) (
roles/iam.serviceAccountUser
) -
Per collegare un disco a una VM:
-
compute.instances.attachDisk
sulla VM -
compute.disks.use
sul disco che vuoi collegare alla VM
-
- Hyperdisk ML
- Disco permanente bilanciato a livello di zona e di regione
- Disco permanente SSD
- Disco permanente standard
- Se condividi un volume Hyperdisk ML in modalità di sola lettura, non puoi riattivare la scrittura l'accesso al disco.
- Puoi collegare un volume Hyperdisk ML a un massimo di 100 VM durante ogni intervallo di 30 secondi.
- Il numero massimo di VM a cui può essere collegato un disco varia in base al tipo di disco:
- Per i volumi Hyperdisk ML, il numero massimo di VM dipende dalle dimensioni del provisioning, come segue:
- Volumi inferiori a 256 GiB di dimensione: 2500
- Volumi con capacità pari o superiore a 256 GiB e inferiore a 1 TiB: 1500
- Volumi con capacità pari o superiore a 1 TiB e inferiore a 2 TiB: 600
- Volumi con 2 TiB o più di capacità: 30
- Assistenza per i volumi di dischi permanenti bilanciati a livello di zona o di regione in modalità di sola lettura all'indirizzo la maggior parte delle 10 VM.
- Per i dischi permanenti SSD, Google consiglia al massimo 100 VM.
- Per volumi di dischi permanenti standard, il valore massimo consigliato è 10 VM.
- Per i volumi Hyperdisk ML, il numero massimo di VM dipende dalle dimensioni del provisioning, come segue:
- Modalità di sola lettura (
READ_ONLY_MANY
): concede l'accesso di sola lettura a tutte le VM collegate al disco. - Modalità di lettura e scrittura (
READ_WRITE_SINGLE
): consente di collegare una sola VM al disco e concede alla VM collegata l'accesso in lettura/scrittura. Questa è la modalità di accesso predefinita. 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. Pagina Dettagli istanza VM si apre.
Nella pagina dei dettagli dell'istanza, fai clic su Modifica.
Nella sezione Dischi aggiuntivi, fai clic su una delle seguenti opzioni:
- Fai clic su Aggiungi un disco.
- Collega un disco esistente per selezionarne uno esistente e collegarlo di sola lettura alla VM.
Nell'elenco Disco, seleziona il disco che vuoi collegare. Se il disco non è assicurati che si trovi nella stessa località della VM. Ciò significa che per un disco a livello di zona e la stessa regione per un disco a livello di regione.
In Modalità di collegamento al disco, seleziona Sola lettura.
Specifica altre opzioni per il disco.
Per applicare le modifiche al disco, fai clic su Fine.
Per applicare le modifiche alla VM, fai clic su Salva.
Connettiti alla VM e monta il disco.
Ripeti questo processo per collegare 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 allegaINSTANCE_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 allegando- Connetti le tue VM a Cloud Storage
- Connetti le tue VM a Filestore
- Crea un file server di rete su Google Compute Engine
- IN {REPORT CAPABILITIES, READ FULL STATUS, READ RESERVATION, READ KEYS}
- OUT {REGISTER, REGISTER AND IGNORE EXISTING KEY, RESERVE, PREEMPT, CLEAR, RILASCIO}
- La fencing I/O con comandi SCSI PR determina uno stato coerente con arresti anomali di dati del Persistent Disk. Alcuni file system non hanno coerenza in termini di arresto anomalo e potrebbero quindi danneggiarsi se usi comandi SCSI PR.
- Molti file system, come EXT4, XFS e NTFS, non sono progettati per essere utilizzati con archiviazione a blocchi condivisa e non dispongono di meccanismi per sincronizzare eseguire operazioni che hanno origine da più istanze VM.
- Prima di utilizzare volumi di Persistent Disk in modalità multi-writer, assicurati di comprendere il file system e come può essere utilizzato in sicurezza con il blocco condiviso archiviazione e accesso simultaneo da più VM.
- La modalità multi-writer è supportata solo per i volumi di Persistent Disk di tipo SSD.
- Puoi creare un volume 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 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. Consulta prestazioni del disco per maggiori dettagli.
- Non puoi ridimensionare un volume di un Persistent Disk multi-writer.
- Quando crei una VM utilizzando Google Cloud CLI, non puoi creare
volume Persistent Disk multi-writer utilizzando
--create-disk
flag. Utilizza la 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 un disco permanente SSD volumi permanenti o da 200 GB a 65.536 GB per i volumi 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 dove si aggiunge 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 seconda VM.Nell'API, crea una richiesta
POST
per creare un Persistent Disk a livello di zona volume con il metododisks.insert
. Includi le proprietàname
,sizeGb
etype
. Per creare questa nuova un disco come disco non di avvio vuoto e non formattato, non specificare un'origine o uno snapshot di origine per questo disco. IncludimultiWriter
con un 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 la VM e i nuovi il disco si trovaDISK_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 un disco permanente SSD volumi permanenti o da 200 GB a 65.536 GB per i volumi modalità multi-writer.
Per collegare il disco a una VM, crea una richiesta
POST
alla Metodocompute.instances.attachDisk
. Includi l'URL alla richiesta Volume del Persistent Disk 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 la VM e i nuovi il disco si trovaINSTANCE_NAME
: il nome della VM in cui quando aggiungi il nuovo volume Persistent Disk.DISK_NAME
: il nome del nuovo disco
Per collegare il disco a una seconda VM, ripeti il comando
instances.attachDisk
del passaggio precedente. ImpostaINSTANCE_NAME
sul nome del 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 una località dell'ambiente di sviluppo, installare e inizializzare gcloud CLI quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per ulteriori informazioni, vedi Set up authentication for a local development environment.
Python
Per utilizzare gli Python esempi in questa pagina in una località dell'ambiente di sviluppo, installare e inizializzare gcloud CLI quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per ulteriori informazioni, vedi 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 ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Ruoli e autorizzazioni richiesti
Per ottenere le autorizzazioni necessarie per condividere un disco tra le VM, chiedi all'amministratore di concederti seguenti ruoli IAM sul progetto:
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.
Questi ruoli predefiniti le autorizzazioni necessarie per condividere un disco tra le VM. Per vedere le autorizzazioni esatte obbligatorie, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per condividere un disco tra le VM sono necessarie le seguenti autorizzazioni:
Potresti anche riuscire a ottenere queste autorizzazioni con ruoli personalizzati e altri ruoli predefiniti.
Panoramica della modalità di sola lettura
Per condividere dati statici su un disco tra più VM, collega il disco a ogni VM in modalità di sola lettura. La condivisione di un singolo disco tra più VM è meno costosa di avere copie degli stessi dati su più dischi.
Tipi di disco supportati per la modalità di sola lettura
Questi tipi di disco permanente e Google Cloud Hyperdisk supportano il collegamento di più VM in modalità di sola lettura:
Prestazioni in modalità di sola lettura
Il collegamento di un disco di sola lettura a più VM non influisce sulle prestazioni del disco. Ogni VM può ancora raggiungere le massime prestazioni del disco possibili per la serie di macchine della VM.
Limitazioni per la condivisione dei dischi in modalità di sola lettura
Preparati a condividere un disco in modalità di sola lettura
Se non utilizzi Hyperdisk ML, non devi seguire altri passaggi. Puoi condividere il disco seguendo le istruzioni in Condividi un disco in modalità di sola lettura tra più VM.
Per condividere un volume Hyperdisk ML in modalità di sola lettura, devi impostare la modalità di accesso del disco in modalità di sola lettura. La modalità di accesso indica il tipo di accesso a tutte le VM a cui è collegato il disco. Se utilizzi un volume Persistent Disk, non devi impostare manualmente la modalità di accesso.
Le modalità di accesso disponibili per i volumi Hyperdisk sono le seguenti:
Per condividere un volume Hyperdisk ML tra le VM, Cambia la modalità di accesso in
READ_ONLY_MANY
.Dopo aver attivato la modalità di sola lettura, segui i passaggi per Condividi un disco in modalità di sola lettura tra più VM.
Condividi un disco in modalità di sola lettura tra le VM
Questa sezione descrive come collegare un volume Hyperdisk ML o Persistent Disk non di avvio in modalità di sola lettura a più VM.
Console
gcloud
In gcloud CLI, utilizza 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 modalità di sola lettura.
Java
Java
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nel Guida rapida di Compute Engine con librerie client. Per ulteriori informazioni, consulta API Java Compute Engine documentazione di riferimento.
Per eseguire l'autenticazione su Compute Engine, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Python
Prima di provare questo esempio, segui le istruzioni per la configurazione di Python nel Guida rapida di Compute Engine con librerie client. Per ulteriori informazioni, consulta API Python Compute Engine documentazione di riferimento.
Per eseguire l'autenticazione su Compute Engine, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
REST
Nell'API, crea una richiesta
POST
all'evento 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 modalità di sola lettura.
Panoramica della modalità multi-writer
È possibile collegare un volume di disco permanente SSD in modalità multi-writer a un massimo di due unità N2 di macchine virtuali (VM) contemporaneamente in modo che entrambe le VM possano leggere scrivere sul disco.Se hai più di 2 VM N2 o utilizzi un'altra serie di macchine, puoi utilizzare una delle seguenti opzioni:
Per abilitare la modalità multi-writer per i nuovi volumi Persistent Disk, crea un nuovo volume Persistent Disk e specifica il flag
--multi-writer
nella gcloud CLI o la proprietàmultiWriter
nell'API Compute Engine.I volumi di Persistent Disk in modalità multi-writer offrono una capacità di archiviazione a blocchi condivisa e presentare una base infrastrutturale per la creazione di sistemi di archiviazione distribuiti sistemi e servizi ad alta disponibilità simili. Quando si utilizzano volumi di Persistent Disk in modalità multi-writer, utilizza un sistema software di archiviazione con scale out che ha la capacità di coordinare l'accesso ai dispositivi Persistent Disk diverse 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 utilizzata con l'archiviazione a blocchi condivisa. Per ulteriori informazioni, consulta le best practice in questo documento. Se hai bisogno di uno spazio di archiviazione di file completamente gestito, puoi montare un Condivisione file Filestore su Compute Engine delle VM.
I volumi Persistent Disk in modalità multi-writer supportano un sottoinsieme di Persistente SCSI-3 Prenotazioni (SCSI PR). Le applicazioni ad alta disponibilità possono utilizzare per configurazioni di fencing I/O e failover.
Sono supportati i seguenti comandi SCSI PR:
Per istruzioni sulla condivisione di un disco in modalità multi-writer, consulta Condividi un volume di disco permanente SSD in modalità multi-writer tra le VM.
Tipi di disco supportati per la modalità multi-writer
È possibile collegare un disco permanente SSD contemporaneamente in modalità multi-writer a un massimo di 2 dispositivi N2 delle VM in esecuzione.
Best practice per la modalità multi-writer
Rendimento in modalità multi-writer
I volumi di Persistent Disk creati in modalità multi-writer hanno IOPS e limiti di velocità effettiva massima.
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* * IOPS su dischi permanenti e prestazioni della velocità effettiva dipende dalle dimensioni del disco, dal numero di vCPU dell'istanza e dalle dimensioni dei blocchi I/O, altri fattori.Il collegamento di un disco multi-writer a più istanze di macchine virtuali non influisce sul rendimento o sui costi aggregati. Ogni macchina riceve una quota del limite delle prestazioni per disco.
Per scoprire come condividere i dischi permanenti tra più VM, consulta Condividi i dischi permanenti tra le VM.Limitazioni per la condivisione di un disco in modalità multi-writer
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 le VM N2 nella stessa zona. Consulta Modalità multi-writer di disco permanente per informazioni dettagliate sul funzionamento di questa modalità. Puoi creare e collegare multi-writer I volumi di Persistent Disk utilizzano il seguente processo:
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 del disco utilizzando file system su disco condiviso. La maggior parte dei file system non è in grado di utilizzare lo spazio di archiviazione condiviso. Conferma che il file system supporta queste funzionalità prima di utilizzarlo su Persistent Disk multi-writer. Non puoi montare il disco su più VM usando la stessa procedura che useresti normalmente per montare il disco su un 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 Su disco utilizzando un file system con disco condiviso. La maggior parte dei file system non è in grado di utilizzare lo spazio di archiviazione condiviso. Conferma che il file system supporta queste funzionalità prima di utilizzarlo su 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-07-19 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" }] -