Crea e gestisci i dischi a livello di regione


Disco permanente regionale e Hyperdisk bilanciato con disponibilità elevata sono opzioni di archiviazione che ti consentono di implementare servizi ad alta disponibilità (HA) in Compute Engine. Persistent Disk regionali e Hyperdisk con alta disponibilità bilanciata replicano in modo sincrono i dati tra due zone nella stessa regione e garantiscono l'alta disponibilità per i dati del disco in caso di un massimo di un errore circoscritto a una zona. Il disco di una regione può essere un disco di avvio o un disco non di avvio.

Questo documento spiega come eseguire le seguenti attività per i dischi a livello di regione:

Prima di iniziare

  • Esamina le differenze tra i diversi tipi di opzioni di archiviazione su disco.
  • Esamina le nozioni di base sulla replica sincrona dei dischi.
  • Scopri di più sul failover dei dischi a livello di regione.
  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    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

      Per utilizzare gli esempi di Terraform 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.

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

        gcloud init
      3. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

      Per ulteriori informazioni, consulta Set up authentication for a local development environment.

      REST

      Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.

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

        gcloud init

      Per ulteriori informazioni, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Ruoli e autorizzazioni richiesti

Per ottenere le autorizzazioni necessarie per creare un disco regionale, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:

Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per creare un disco regionale. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

Per creare un disco regionale sono necessarie le seguenti autorizzazioni:

  • compute.disks.create
  • compute.instances.attachDisk
  • compute.disks.use
  • Crea uno snapshot di un disco: compute.disks.createSnapshot
  • Visualizza i dettagli di un disco: compute.disks.get
  • Visualizza un elenco di dischi: compute.disks.list
  • Modificare le dimensioni di un disco: compute.disks.update

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Limitazioni

  • Messico, Osaka e Montréal hanno tre zone in uno o due data center fisici. Poiché i dati archiviati in queste regioni possono andare persi nell'improbabile caso in cui i data center vengano distrutti, potresti prendere in considerazione il backup dei dati business-critical in una seconda regione per una protezione dei dati maggiore.
  • È possibile collegare un disco permanente regionale solo alle macchine virtuali che utilizzano come machine family E2, N1, N2 e N2D.
  • Puoi collegare Hyperdisk bilanciato con disponibilità elevata solo ai tipi di macchine supportati.
  • Non puoi creare un Persistent Disk di una regione da un'immagine o da un disco creato da un'immagine.
  • Quando utilizzi la modalità di sola lettura, puoi collegare un Persistent Disk bilanciato regionale a un massimo di 10 istanze VM.
  • La dimensione minima di un Persistent Disk standard regionale è 200 GiB.
  • Puoi solo aumentare le dimensioni di un disco Persistent Disk o volume Hyperdisk bilanciato ad alta disponibilità; non puoi ridurle.
  • I volumi Hyperdisk e disco permanente regionale con disponibilità elevata bilanciata hanno caratteristiche di prestazioni diverse rispetto ai dischi zonali corrispondenti. Per ulteriori informazioni, consulta Rendimento dello spazio di archiviazione a blocchi.
  • Non puoi utilizzare un volume Hyperdisk bilanciato con disponibilità elevata in modalità multi-writer come disco di avvio.
  • Se crei un disco replicato clonando un disco a livello di zona, le due repliche a livello di zona non sono completamente sincronizzate al momento della creazione. Dopo la creazione, puoi utilizzare la copia del disco regionale in media entro 3 minuti. Tuttavia, potresti dover attendere decine di minuti prima che il disco raggiunga uno stato di replica completa e il Recovery Point Objective (RPO) sia vicino allo zero. Scopri come verificare se il disco replicato è completamente replicato.

Informazioni sull'utilizzo di un disco di un'area geografica come disco di avvio per un'istanza

Puoi collegare un Persistent Disk regionale o Hyperdisk bilanciato ad alta disponibilità come disco di avvio per carichi di lavoro stateful di cui viene eseguito il provisioning in anticipo, prima di eseguire il provisioning di un carico di lavoro di produzione. I dischi di avvio regionali non sono destinati a hot standby, poiché non possono essere collegati contemporaneamente a due istanze di calcolo.

Puoi creare solo volumi Hyperdisk bilanciati ad alta disponibilità o dischi permanenti regionali dagli snapshot. Non è possibile creare un disco regionale da un'immagine.

Per utilizzare un disco regionale come disco di avvio di un'istanza, utilizza uno dei seguenti metodi:

  1. Crea una nuova istanza con un disco di avvio regionale.
  2. Crea un disco di avvio regionale e collegalo a un'istanza:
    1. Crea un disco di una regione da uno snapshot di un disco di avvio.
    2. Collega un disco di avvio regionale a un'istanza.

Se devi eseguire il failover di un disco di avvio regionale a un'istanza di standby in esecuzione nella zona di replica, segui i passaggi descritti in Collegare un disco di avvio regionale a un'istanza.

Crea un disco regionale

Crea un Persistent Disk regionale o un volume Hyperdisk bilanciato con disponibilità elevata. Il disco deve trovarsi nella stessa regione dell'istanza di calcolo a cui prevedi di collegarlo.

Se crei un volume Hyperdisk con disponibilità elevata bilanciata, puoi anche consentire a diverse istanze di accedere contemporaneamente al disco impostando la modalità di accesso al disco. Per ulteriori informazioni, vedi Condividere un disco tra le istanze.

Per Persistent Disk a livello di area geografica, se crei un disco nella console Google Cloud, il tipo di disco predefinito è pd-balanced. Se crei un disco utilizzando gcloud CLI o REST, il tipo di disco predefinito è pd-standard.

Console

  1. Nella console Google Cloud, vai alla pagina Dischi.

    Vai a Dischi

  2. Seleziona il progetto richiesto.

  3. Fai clic su Crea disco.

  4. Specifica un nome per il disco.

  5. Per Località, scegli Regionale.

  6. Seleziona la Regione e la Zona. Devi selezionare la stessa regione quando crei l'istanza.

  7. Seleziona la Zona replica nella stessa regione. Prendi nota delle zone selezionate perché devi collegare il disco all'istanza in una di queste zone.

  8. Seleziona il Tipo di disco di origine.

  9. Seleziona Tipo di disco e Dimensioni.

  10. Fai clic su Crea per completare la creazione del disco.

gcloud

Crea un disco regionale utilizzando il comando compute disks create.

Se hai bisogno di un disco permanente SSD regionale per un throughput o IOPS aggiuntivi, includi il flag --type e specifica 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

Sostituisci quanto segue:

  • DISK_NAME: il nome del nuovo disco
  • DISK_SIZE: le dimensioni, in GiB, del nuovo disco
  • DISK_TYPE: per il Persistent Disk regionale, si tratta del tipo del disco regionale. Il valore predefinito è pd-standard. Per Hyperdisk, specifica il valore hyperdisk-balanced-high-availability.
  • REGION: la regione in cui deve trovarsi il disco regionale, ad esempio: europe-west1
  • ZONE1,ZONE2: le zone all'interno della regione in cui si trovano le due repliche del disco, ad esempio: europe-west1-b,europe-west1-c
  • DISK_ACCESS_MODE: facoltativo: la modalità di accesso delle istanze ai dati sul disco. I valori supportati sono:

    • READ_WRITE_SINGLE, per l'accesso in lettura e scrittura da un'istanza. Questa è l'impostazione predefinita.
    • READ_WRITE_MANY, per l'accesso in lettura e scrittura da più istanze.

    Puoi impostare la modalità di accesso solo per i dischi Hyperdisk bilanciati con disponibilità elevata.

Terraform

Per creare un Persistent Disk regionale o un volume Hyperdisk bilanciato con disponibilità elevata, puoi utilizzare la google_compute_region_disk risorsa.

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

Per creare un Persistent Disk regionale o un volume Hyperdisk bilanciato con disponibilità elevata, costruisci una richiesta POST al metodo compute.regionDisks.insert.

Per creare un disco vuoto, non specificare un'origine dello 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"
}

Sostituisci quanto segue:

  • PROJECT_ID: il tuo ID progetto
  • REGION: la regione in cui deve trovarsi il disco regionale, ad esempio: europe-west1
  • DISK_NAME: il nome del nuovo disco
  • ZONE1,ZONE2: le zone in cui devono trovarsi le repliche del nuovo disco
  • DISK_SIZE: le dimensioni, in GiB, del nuovo disco
  • DISK_TYPE: per i Persistent Disk regionali, si tratta del tipo di disco permanente. Per Hyperdisk, specifica il valore hyperdisk-balanced-high-availability.
  • DISK_ACCESS_MODE: come le istanze possono accedere ai dati sul disco. I valori supportati sono:

    • READ_WRITE_SINGLE, per l'accesso in lettura e scrittura da un'istanza. Questa è l'impostazione predefinita.
    • READ_WRITE_MANY, per l'accesso in lettura e scrittura da più istanze.

    Puoi impostare la modalità di accesso solo per i dischi Hyperdisk bilanciati con disponibilità elevata.

Collega un disco regionale all'istanza

Per i dischi che non sono di avvio, dopo aver creato un Persistent Disk regionale o un volume Hyperdisk ad alta disponibilità bilanciata, puoi collegarlo a un'istanza. L'istanza deve trovarsi nella stessa regione del disco.

Per collegare un disco di avvio regionale a un'istanza, consulta Collegare un disco di avvio regionale a un'istanza.

Per collegare un disco a più istanze, ripeti la procedura descritta in questa sezione per ogni istanza.

Console

  1. Per collegare un disco a un'istanza, vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Nella colonna Nome, fai clic sul nome dell'istanza.

  3. Fai clic su Modifica .

  4. Fai clic su + Collega disco esistente.

  5. Scegli il disco regionale creato in precedenza da aggiungere all'istanza.

  6. Se viene visualizzato un avviso che indica che il disco selezionato è già associato a un'altra istanza, seleziona la casella Associa forzatamente il disco per associare forzatamente il disco all'istanza in modifica.

    Esamina i casi d'uso per il collegamento forzato dei dischi regionali in Failover dei dischi a livello di regione.

  7. Fai clic su Salva.

  8. Nella pagina Modifica VM, fai clic su Salva.

gcloud

Per collegare un disco regionale a un'istanza in esecuzione o arrestata, utilizza il comando compute instances attach-disk con il flag --disk-scope impostato su regional.

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

Sostituisci quanto segue:

  • INSTANCE_NAME: il nome dell'istanza a cui aggiungi il disco regionale
  • DISK_NAME: il nome del nuovo disco che colleghi all'istanza

Terraform

Per collegare un Persistent Disk regionale o un volume Hyperdisk bilanciato con disponibilità elevata a un'istanza, puoi utilizzare la google_compute_attached_diskrisorsa.

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

Per collegare un disco regionale a un'istanza in esecuzione o arrestata, costruisci una richiesta POST al metodo compute.instances.attachDisk e includi l'URL del disco regionale che hai creato.

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

Sostituisci quanto segue:

  • PROJECT_ID: il tuo ID progetto
  • ZONE: la posizione dell'istanza
  • INSTANCE_NAME: il nome dell'istanza a cui aggiungi il nuovo disco regionale
  • REGION: la regione in cui si trova il disco regionale
  • DISK_NAME: il nome del disco regionale

Per i dischi non di avvio, dopo aver creato e collegato un disco regionale vuoto a un'istanza, devi formattare e montare il disco, in modo che il sistema operativo possa utilizzare lo spazio di archiviazione disponibile.

Passare da un disco zonale a un disco regionale

Per convertire un Persistent Disk a livello di zona esistente in un disco permanente a livello di regione, crea un nuovo disco clonandone uno esistente. Per ulteriori informazioni, consulta Creare una copia di un disco regionale da un disco zonale.

Per convertire un Hyperdisk in un disco regionale, crea un nuovo disco Hyperdisk bilanciato con disponibilità elevata da uno snapshot del disco esistente, come descritto in Passare da un disco zonale a un disco Hyperdisk bilanciato con disponibilità elevata.

Creare una nuova istanza con dischi a livello di area geografica

Quando crei un'istanza, puoi includere facoltativamente un Persistent Disk regionale o volumi Hyperdisk ad alta disponibilità bilanciata come dischi aggiuntivi.

Per creare e collegare un Persistent Disk regionale o un volume Hyperdisk bilanciato ad alta disponibilità a un'istanza durante la creazione dell'istanza, consulta una delle seguenti risorse:

Creare una nuova istanza con un disco di avvio regionale

Quando configuri un'istanza di calcolo ad alta disponibilità, puoi creare l'istanza principale con un disco di avvio regionale. In caso di interruzione a livello di zona, puoi riavviare l'istanza nella zona secondaria anziché creare una nuova istanza.

In una configurazione ad alta disponibilità, in cui il dispositivo di avvio è un disco regionale, Google consiglia di non pre-creare e avviare l'istanza in standby. Al contrario, nella fase di failover, collega il disco regionale esistente quando crei l'istanza di standby utilizzando l'opzione forceAttach.

Per creare un'istanza con un disco di avvio che è un disco di un'area geografica, utilizza uno dei seguenti metodi:

gcloud

Utilizza il comando gcloud compute instances create per creare un'istanza e il flag --create-disk per specificare il disco regionale.

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

Quando specifichi i parametri del disco, i caratteri ^:^ indicano che il carattere di separazione tra i parametri è due punti (:). Ciò ti consente di utilizzare una virgola (,) quando specifichi il parametro replica-zones.

Sostituisci quanto segue:

  • PRIMARY_INSTANCE_NAME: un nome per l'istanza
  • ZONE: il nome della zona in cui vuoi creare l'istanza
  • REGIONAL_DISK_NAME: un nome per il disco regionale
  • DISK_TYPE: il tipo di disco da creare, ad esempio hyperdisk-balanced-high-availability o pd-balanced
  • SNAPSHOT_NAME: il nome dello snapshot che hai creato per il disco di avvio
  • REMOTE_ZONE: la zona alternativa per il disco regionale

REST

Crea una richiesta POST al metodo instances.insert e specifica le proprietà boot: 'true' e replicaZones. Ad esempio:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
 "name": "INSTANCE_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"
    }
  ]
}

Sostituisci quanto segue:

  • PROJECT_ID: il tuo ID progetto
  • ZONE: il nome della zona in cui vuoi creare l'istanza
  • INSTANCE_NAME: un nome per l'istanza
  • BOOT_SNAPSHOT_NAME: il nome dello snapshot del disco di avvio
  • REMOTE_ZONE: la zona remota per il disco regionale
  • DISK_TYPE: il tipo di disco da creare, ad esempio hyperdisk-balanced-high-availability o pd-balanced

Collega un disco di avvio regionale a un'istanza

Procedi nel seguente modo per:

  • Sostituisci il disco di avvio di un'istanza esistente con un disco di avvio regionale.
  • Esegui il failover di un disco di avvio regionale a un'istanza hot standby in esecuzione nella zona di backup. A tal fine, collega il disco di una regione all'istanza come disco di avvio.

Questi passaggi presuppongono che il disco e l'istanza di una regione esistano già.

gcloud

  1. Arresta l'istanza.
    gcloud compute instances stop INSTANCE_NAME  --zone=ZONE
    
  2. Scollega il disco di avvio corrente dall'istanza.
    gcloud compute instances detach-disk INSTANCE_NAME \
     --zone=ZONE --disk=CURRENT_BOOT_DEVICE_NAME
    
  3. Collega il disco di avvio regionale all'istanza.
    gcloud compute instances attach-disk INSTANCE_NAME  \
     --zone=ZONE  \
     --disk=REGIONAL_DISK_NAME  \
     --disk-scope=regional --force-attach \
     --boot
    
  4. Riavvia l'istanza.

    gcloud compute instances start INSTANCE_NAME
    

Sostituisci le variabili nei comandi precedenti con quanto segue:

  • INSTANCE_NAME: il nome dell'istanza a cui vuoi collegare il disco di avvio regionale
  • ZONE: la zona in cui si trova l'istanza
  • CURRENT_BOOT_DEVICE_NAME: il nome del disco di avvio utilizzato dall'istanza. Di solito corrisponde al nome dell'istanza.
  • REGIONAL_DISK_NAME: il nome del disco regionale che vuoi collegare all'istanza come disco di avvio

(Facoltativo) Se non riesci a scollegare il disco di avvio regionale dall'istanza principale a causa di un'interruzione o di un errore, includi il flag --force-attach.

REST

  1. Arresta l'istanza.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/stop
    
  2. Scollega il disco di avvio corrente dall'istanza.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/detachDisk?deviceName=CURRENT_BOOT_DEVICE_NAME
    
  3. Collega il disco di avvio regionale all'istanza.

    Crea una richiesta POST al metodo compute.instances.attachDisk e includi l'URL del disco di avvio regionale:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk
    {
    "source": "compute/v1/projects/PROJECT_ID/regions/REGION/disks/REGIONAL_DISK_NAME",
    "boot": true
    }
  4. Riavvia l'istanza.

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

Sostituisci le variabili nei comandi precedenti con quanto segue:

  • PROJECT_ID: il tuo ID progetto
  • INSTANCE_NAME: il nome dell'istanza a cui vuoi collegare il disco regionale
  • ZONE: la zona in cui si trova l'istanza
  • CURRENT_BOOT_DEVICE_NAME: il nome del disco di avvio utilizzato dall'istanza. Di solito corrisponde al nome dell'istanza.
  • REGION: la regione in cui si trova il disco regionale
  • REGIONAL_DISK_NAME: il nome del disco regionale che vuoi collegare all'istanza come disco di avvio

(Facoltativo) Se non riesci a scollegare il disco di avvio regionale dall'istanza a cui era originariamente collegato a causa di un'interruzione o un errore, includi "forceAttach": true nel corpo della richiesta.

Elenca e descrivi i tuoi dischi a livello di regione

Puoi visualizzare un elenco di tutti i dischi regionali configurati e informazioni sulle relative proprietà, tra cui:

  • ID disco
  • Nome disco
  • Dimensioni
  • Tipo di disco
  • Regione
  • Repliche zonali

Per visualizzare informazioni dettagliate sui tuoi dischi a livello di area geografica, utilizza quanto segue:

Ridimensionare un disco regionale

Se le istanze con dischi regionali richiedono ulteriore spazio di archiviazione, puoi ridimensionare i dischi. Puoi ridimensionare i dischi in qualsiasi momento, indipendentemente dal fatto che siano collegati a un'istanza in esecuzione. Se devi separare i dati in volumi univoci, crea più dischi secondari per l'istanza. Per Hyperdisk bilanciato con disponibilità elevata puoi anche aumentare i limiti di IOPS e throughput per il disco.

Il comando per ridimensionare un disco regionale è molto simile a quello per ridimensionare un disco zonale. Tuttavia, devi specificare una regione anziché una zona per la posizione del disco.

Puoi solo aumentare, non diminuire, le dimensioni di un disco. Per ridurre le dimensioni del disco, devi creare un nuovo disco di dimensioni inferiori. Fino a quando non elimini il disco originale più grande, ti verranno addebitati entrambi i dischi.

Per istruzioni su come modificare un disco regionale, consulta quanto segue:

Passaggi successivi