Condividi i dischi tra le VM

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

    1. Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init
    2. Set a default region and zone.
    3. 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.

      1. Installa Google Cloud CLI.
      2. Per initialize gcloud CLI, esegui questo comando:

        gcloud init
      3. Crea credenziali di autenticazione locali per il tuo Account Google:

        gcloud auth application-default login

      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.

      1. Installa Google Cloud CLI.
      2. Per initialize gcloud CLI, esegui questo comando:

        gcloud init
      3. Crea credenziali di autenticazione locali per il tuo Account Google:

        gcloud auth application-default login

      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:

  • Per collegare un disco a una VM:
    • compute.instances.attachDisk sulla VM
    • compute.disks.use sul disco che vuoi collegare alla VM

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:

  • Hyperdisk ML
  • Disco permanente bilanciato a livello di zona e di regione
  • Disco permanente SSD
  • Disco permanente standard

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

  • 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.

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:

  • 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.

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

  1. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Nell'elenco delle VM nel progetto, fai clic sul nome della VM a cui vuoi collegare il disco. Pagina Dettagli istanza VM si apre.

  3. Nella pagina dei dettagli dell'istanza, fai clic su Modifica.

  4. Nella sezione Dischi aggiuntivi, fai clic su una delle seguenti opzioni:

    1. Fai clic su Aggiungi un disco.
    2. Collega un disco esistente per selezionarne uno esistente e collegarlo di sola lettura alla VM.
  5. 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.

  6. In Modalità di collegamento al disco, seleziona Sola lettura.

  7. Specifica altre opzioni per il disco.

  8. Per applicare le modifiche al disco, fai clic su Fine.

  9. Per applicare le modifiche alla VM, fai clic su Salva.

  10. Connettiti alla VM e monta il disco.

  11. Ripeti questo processo per collegare il disco ad altre VM in modalità di sola lettura.

gcloud

In gcloud CLI, utilizza Comando compute instances attach-disk e specifica il flag --mode con l'opzione ro.

gcloud compute instances attach-disk INSTANCE_NAME \
  --disk DISK_NAME \
  --mode ro

Sostituisci quanto segue:

  • INSTANCE_NAME: il nome della VM in cui vuoi collegare il volume Persistent Disk a livello di zona
  • DISK_NAME: il nome del disco che vuoi allega

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.


import com.google.cloud.compute.v1.AttachDiskInstanceRequest;
import com.google.cloud.compute.v1.AttachedDisk;
import com.google.cloud.compute.v1.InstancesClient;
import com.google.cloud.compute.v1.Operation;
import java.io.IOException;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;

public class AttachDisk {

  public static void main(String[] args)
      throws IOException, ExecutionException, InterruptedException, TimeoutException {
    // TODO(developer): Replace these variables before running the sample.
    // Project ID or project number of the Cloud project you want to use.
    String projectId = "your-project-id";

    // Name of the zone in which the instance you want to use resides.
    String zone = "zone-name";

    // Name of the compute instance you want to attach a disk to.
    String instanceName = "instance-name";

    // Full or partial URL of a persistent disk that you want to attach. This can be either
    // be a regional or zonal disk.
    // Valid formats:
    //     * https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/disks/{disk_name}
    //     * /projects/{project}/zones/{zone}/disks/{disk_name}
    //     * /projects/{project}/regions/{region}/disks/{disk_name}
    String diskLink = String.format("/projects/%s/zones/%s/disks/%s",
        "project", "zone", "disk_name");

    // Specifies in what mode the disk will be attached to the instance. Available options are
    // `READ_ONLY` and `READ_WRITE`. Disk in `READ_ONLY` mode can be attached to
    // multiple instances at once.
    String mode = "READ_ONLY";

    attachDisk(projectId, zone, instanceName, diskLink, mode);
  }

  // Attaches a non-boot persistent disk to a specified compute instance.
  // The disk might be zonal or regional.
  // You need following permissions to execute this action:
  // https://cloud.google.com/compute/docs/disks/regional-persistent-disk#expandable-1
  public static void attachDisk(String projectId, String zone, String instanceName, String diskLink,
      String mode)
      throws IOException, ExecutionException, InterruptedException, TimeoutException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the `instancesClient.close()` method on the client to safely
    // clean up any remaining background resources.
    try (InstancesClient instancesClient = InstancesClient.create()) {

      AttachDiskInstanceRequest attachDiskInstanceRequest = AttachDiskInstanceRequest.newBuilder()
          .setProject(projectId)
          .setZone(zone)
          .setInstance(instanceName)
          .setAttachedDiskResource(AttachedDisk.newBuilder()
              .setSource(diskLink)
              .setMode(mode)
              .build())
          .build();

      Operation response = instancesClient.attachDiskAsync(attachDiskInstanceRequest)
          .get(3, TimeUnit.MINUTES);

      if (response.hasError()) {
        System.out.println("Attach disk failed! " + response);
        return;
      }
      System.out.println("Attach disk - operation status: " + response.getStatus());
    }
  }
}

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.

from __future__ import annotations

import sys
from typing import Any

from google.api_core.extended_operation import ExtendedOperation
from google.cloud import compute_v1


def wait_for_extended_operation(
    operation: ExtendedOperation, verbose_name: str = "operation", timeout: int = 300
) -> Any:
    """
    Waits for the extended (long-running) operation to complete.

    If the operation is successful, it will return its result.
    If the operation ends with an error, an exception will be raised.
    If there were any warnings during the execution of the operation
    they will be printed to sys.stderr.

    Args:
        operation: a long-running operation you want to wait on.
        verbose_name: (optional) a more verbose name of the operation,
            used only during error and warning reporting.
        timeout: how long (in seconds) to wait for operation to finish.
            If None, wait indefinitely.

    Returns:
        Whatever the operation.result() returns.

    Raises:
        This method will raise the exception received from `operation.exception()`
        or RuntimeError if there is no exception set, but there is an `error_code`
        set for the `operation`.

        In case of an operation taking longer than `timeout` seconds to complete,
        a `concurrent.futures.TimeoutError` will be raised.
    """
    result = operation.result(timeout=timeout)

    if operation.error_code:
        print(
            f"Error during {verbose_name}: [Code: {operation.error_code}]: {operation.error_message}",
            file=sys.stderr,
            flush=True,
        )
        print(f"Operation ID: {operation.name}", file=sys.stderr, flush=True)
        raise operation.exception() or RuntimeError(operation.error_message)

    if operation.warnings:
        print(f"Warnings during {verbose_name}:\n", file=sys.stderr, flush=True)
        for warning in operation.warnings:
            print(f" - {warning.code}: {warning.message}", file=sys.stderr, flush=True)

    return result


def attach_disk(
    project_id: str, zone: str, instance_name: str, disk_link: str, mode: str
) -> None:
    """
    Attaches a non-boot persistent disk to a specified compute instance. The disk might be zonal or regional.

    You need following permissions to execute this action:
    https://cloud.google.com/compute/docs/disks/regional-persistent-disk#expandable-1

    Args:
        project_id: project ID or project number of the Cloud project you want to use.
        zone:name of the zone in which the instance you want to use resides.
        instance_name: name of the compute instance you want to attach a disk to.
        disk_link: full or partial URL to a persistent disk that you want to attach. This can be either
            regional or zonal disk.
            Expected formats:
                * https://www.googleapis.com/compute/v1/projects/[project]/zones/[zone]/disks/[disk_name]
                * /projects/[project]/zones/[zone]/disks/[disk_name]
                * /projects/[project]/regions/[region]/disks/[disk_name]
        mode: Specifies in what mode the disk will be attached to the instance. Available options are `READ_ONLY`
            and `READ_WRITE`. Disk in `READ_ONLY` mode can be attached to multiple instances at once.
    """
    instances_client = compute_v1.InstancesClient()

    request = compute_v1.AttachDiskInstanceRequest()
    request.project = project_id
    request.zone = zone
    request.instance = instance_name
    request.attached_disk_resource = compute_v1.AttachedDisk()
    request.attached_disk_resource.source = disk_link
    request.attached_disk_resource.mode = mode

    operation = instances_client.attach_disk(request)

    wait_for_extended_operation(operation, "disk attachement")

REST

Nell'API, crea una richiesta POST all'evento Metodo compute.instances.attachDisk . Nel corpo della richiesta, specifica il parametro mode come 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"
}

Sostituisci quanto segue:

  • INSTANCE_NAME: il nome della VM in cui vuoi collegare il volume Persistent Disk a livello di zona
  • PROJECT_ID: il tuo ID progetto
  • ZONE: la zona in cui si trova il disco
  • DISK_NAME: il nome del disco che stai allegando

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:

  • IN {REPORT CAPABILITIES, READ FULL STATUS, READ RESERVATION, READ KEYS}
  • OUT {REGISTER, REGISTER AND IGNORE EXISTING KEY, RESERVE, PREEMPT, CLEAR, RILASCIO}

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

  • 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.

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

  • 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 zone us-central1-a e us-central1-c)
    • us-east1 (solo zona us-east1-d)
    • us-west1 (solo zone us-west1-b e us-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.

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:

  1. 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 disco
    • DISK_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.
  2. 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 zona
    • DISK_NAME: il nome del nuovo disco che stai collegando alla VM
  3. Ripeti il comando gcloud compute instances attach-disk. ma sostituisci INSTANCE_NAME con il nome della seconda VM.

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.

  1. Nell'API, crea una richiesta POST per creare un Persistent Disk a livello di zona volume con il metodo disks.insert. Includi le proprietà name, sizeGb e type. 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. Includi multiWriter con un valore True 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 progetto
    • ZONE: la zona in cui la VM e i nuovi il disco si trova
    • DISK_NAME: il nome del nuovo disco
    • DISK_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.
  2. Per collegare il disco a una VM, crea una richiesta POST alla Metodo compute.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 progetto
    • ZONE: la zona in cui la VM e i nuovi il disco si trova
    • INSTANCE_NAME: il nome della VM in cui quando aggiungi il nuovo volume Persistent Disk.
    • DISK_NAME: il nome del nuovo disco
  3. Per collegare il disco a una seconda VM, ripeti il comando instances.attachDisk del passaggio precedente. Imposta INSTANCE_NAME sul nome del seconda VM.

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