Aggiungi dischi da un pool di archiviazione alle VM


Puoi creare dischi in un pool di archiviazione Hyperdisk e poi collegarli a un'istanza di una macchina virtuale (VM) oppure puoi creare dischi nel pool di archiviazione quando crei una VM.

Prima di iniziare

  • Se non l'hai già 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 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. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. Vai

      Per utilizzare gli Go esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza l'interfaccia a riga di comando gcloud, 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.

      Java

      Per utilizzare gli Java esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza l'interfaccia a riga di comando gcloud, 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.

      Node.js

      Per utilizzare gli Node.js 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. 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, vedi 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, 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 creare un disco Hyperdisk bilanciato o Hyperdisk Throughput in un pool di archiviazione, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:

  • Amministratore istanze Compute (v1) (roles/compute.instanceAdmin.v1)
  • Per connetterti a un'istanza VM che può essere eseguita come account di servizio: Utente account di servizio (v1) (ruolo roles/iam.serviceAccountUser)

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

Questi ruoli predefiniti le autorizzazioni necessarie per creare un disco Hyperdisk Balanced o Hyperdisk Throughput in un pool di archiviazione. Per vedere le autorizzazioni esatte obbligatorie, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per creare un disco Hyperdisk Balanced o Hyperdisk Throughput in un pool di archiviazione, sono necessarie le seguenti autorizzazioni:

  • Per creare dischi in un pool di archiviazione e collegarli a un'istanza VM:
    • compute.disks.create del progetto
    • compute.instances.attachDisk sulla VM
    • compute.disks.use sul volume che vuoi collegare alla VM
    • compute.storagePools.use nel pool di archiviazione in cui stai creando i dischi
  • Per formattare e montare il volume collegato: compute.instances.setMetadata sulla VM

Potresti anche riuscire a ottenere queste autorizzazioni con ruoli personalizzati altri ruoli predefiniti.

Per le autorizzazioni necessarie per creare un'istanza, consulta Autorizzazioni richieste.

Limitazioni

Esamina le seguenti limitazioni per la creazione di dischi in un pool di archiviazione Hyperdisk:

  • Puoi creare solo dischi Hyperdisk bilanciati in un pool di archiviazione Hyperdisk bilanciato e puoi creare solo Dischi per la velocità effettiva Hyperdisk in un pool di archiviazione per la velocità effettiva Hyperdisk.
  • In un pool di archiviazione è possibile creare solo nuovi dischi nella stessa zona e nello stesso progetto.
  • Per creare dischi di avvio in un pool di archiviazione, devi utilizzare un pool di archiviazione bilanciato Hyperdisk.
  • Non è consentito spostare i dischi all'interno o all'esterno di un pool di archiviazione. Per spostare un disco all'interno o all'esterno di un pool di archiviazione, devi ricrearlo da uno snapshot. Per ulteriori informazioni, consulta Cambiare il tipo di disco.
  • Puoi creare fino a 1000 dischi in un pool di archiviazione.
  • I pool di archiviazione non supportano i dischi regionali.

Opzioni di provisioning

A seconda del tipo di provisioning per il pool di archiviazione Hyperdisk, puoi scegliere come eseguire il provisioning sia della capacità sia delle prestazioni di ogni disco creato nel pool di archiviazione.

Provisioning della capacità del disco in corso...

Se crei un pool di archiviazione della capacità avanzata, puoi utilizzare il thin provisioning. Puoi creare dischi nel pool di archiviazione con una dimensione cumulativa supera la capacità del pool di cui è stato eseguito il provisioning. La capacità utilizzata il pool di archiviazione è definito dai dati totali in uso e non dalla quantità di spazio su disco di cui hai eseguito il provisioning. Puoi eseguire il provisioning dei dischi fino al 500% della capacità sottoposta a provisioning di una capacità avanzata pool di archiviazione.

Se crei dischi in un pool di archiviazione con capacità standard, devi creare dischi nel pool di archiviazione finché le dimensioni totali di tutti i dischi nel pool di archiviazione non raggiungono la capacità sottoposta a provisioning del pool di archiviazione. La i dischi permanenti in un pool di archiviazione con capacità standard si comportano in modo simile ai dischi non di pool, in cui viene utilizzata la capacità quando crei i dischi.

Rendimento del provisioning

Se crei un pool di archiviazione ad alte prestazioni, puoi utilizzare il provisioning a livello di file. Puoi creare dischi nel pool di archiviazione con una quantità cumulativa IOPS e velocità effettiva che superano le prestazioni di cui è stato eseguito il provisioning del pool. Le prestazioni utilizzate del pool di archiviazione sono definite dalle prestazioni totali utilizzate dai dischi e non dalla quantità di prestazioni di cui è stato eseguito il provisioning per ciascun disco. Puoi eseguire il provisioning di dischi con un rendimento aggregato fino al 500% del rendimento provisioned di un pool di archiviazione ad alte prestazioni.

Se crei dischi in un pool di archiviazione prestazioni standard, il numero di IOPS la velocità effettiva di cui esegui il provisioning per un disco deve essere inferiore alle IOPS disponibili nel pool di archiviazione Hyperdisk. Le IOPS, ovvero la velocità effettiva, sono inclusa la quantità sottoposta a provisioning per il pool di archiviazione meno la quantità utilizzata per tutte le istanze i dischi permanenti creati nel pool di archiviazione.

Se una delle condizioni nel paragrafo precedente non è vera, la per creare un disco nel pool di archiviazione non riesce e non viene creato.

Esempio

Supponiamo che tu abbia un pool di archiviazione Hyperdisk bilanciato con 100.000 IOPS sottoposte a provisioning.

Con il provisioning delle prestazioni standard:

  • Puoi eseguire il provisioning di un massimo di 100.000 IOPS aggregate quando crei dischi Hyperdisk Balanced nel pool di archiviazione.
  • Ti vengono addebitate le 100.000 IOPS delle prestazioni di cui è stato eseguito il provisioning del pool di archiviazione bilanciato Hyperdisk.
  • Come i dischi creati all'esterno di un pool di archiviazione, i dischi Hyperdisk bilanciati in pool di archiviazione con prestazioni standard viene eseguito automaticamente il provisioning con un massimo di 3000 IOPS di base e 140 MiB/s di riferimento e la velocità effettiva effettiva. Queste prestazioni di riferimento non vengono conteggiate rispetto alle prestazioni di cui è stato eseguito il provisioning per pool di archiviazione. Solo quando aggiungi dischi al pool di archiviazione con provisioning superiore alla base di riferimento viene conteggiato rispetto alle prestazioni di cui è stato eseguito il provisioning del pool di archiviazione, ad esempio:

    • Un disco sottoposto a provisioning con 3000 IOPS utilizza 0 IOPS del pool e il pool ne ha ancora 100.000 IOPS sottoposte a provisioning disponibili per altri dischi.
    • Un disco sottoposto a provisioning con 13.000 IOPS utilizza 10.000 IOPS del pool, mentre il pool ne ha 90.000 IOPS di cui è stato eseguito il provisioning rimanente che puoi allocare ad altri dischi nel pool di archiviazione.

Con il provisioning delle prestazioni avanzate:

  • Puoi eseguire il provisioning di un massimo di 500.000 IOPS di prestazioni Hyperdisk aggregate quando crei i dischi nel pool di archiviazione.
  • Ti vengono addebitati 100.000 IOPS di cui il pool di archiviazione ha eseguito il provisioning.
  • Se crei un singolo disco (Disk1) nel pool di archiviazione con 5000 IOPS, non consumi IOPS dalle IOPS sottoposte a provisioning del pool di archiviazione. Tuttavia, la quantità di IOPS di cui puoi eseguire il provisioning sui nuovi dischi creati il pool di archiviazione ora è pari a 495.000.
  • Se Disk1 inizia a leggere e scrivere dati e se utilizza il numero massimo di 5000 IOPS in un determinato minuto, vengono consumate 5000 IOPS IOPS sottoposte a provisioning del pool di archiviazione. Tutti gli altri dischi creati nello stesso pool di archiviazione possono utilizzare un massimo aggregato di 95.000 IOPS nello stesso minuto senza generare conflitti.

Creare dischi nel pool di archiviazione

Puoi utilizzare la console Google Cloud, Google Cloud CLI o REST per creare in un pool di archiviazione.

Console

Con la console Google Cloud, puoi creare un nuovo disco in una il pool di archiviazione tramite la pagina Pool di archiviazione o Pagina Dischi.

Nella pagina Pool di archiviazione:

  1. Nella console Google Cloud, vai alla pagina Pool di archiviazione.

    Vai alla pagina Pool di archiviazione

  2. Fai clic sul nome del pool di archiviazione per il quale vuoi creare del disco.

  3. Nella pagina Gestisci il pool di archiviazione, fai clic su +Crea nuovo disco.

  4. Nel riquadro Aggiungi nuovo disco, inserisci un nome per il disco.

  5. Specifica o modifica i valori per i quali non desideri utilizzare predefinito.

  6. Al termine della specifica delle proprietà del disco, fai clic su Salva.

  7. Il nuovo disco dovrebbe essere visualizzato nella pagina Gestisci il pool di archiviazione. nella sezione Dischi del pool di archiviazione.

Nella pagina Crea disco:

  1. Nella console Google Cloud, vai a Dischi > Pagina Crea un disco.

    Vai alla pagina Crea un disco

  2. Inserisci un nome per il disco.

  3. Seleziona la zona che contiene il pool di archiviazione da creare del disco.

  4. Per Tipo di disco, scegli il tipo di disco che corrisponde al pool di archiviazione Hyperdisk, velocità effettiva Hyperdisk o Hyperdisk bilanciata.

  5. Modifica i valori nei campi Dimensione, IOPS di cui è stato eseguito il provisioning e Throughput di cui è stato eseguito il provisioning, se necessario.

  6. Nella sezione Pool di archiviazione, seleziona Attiva pool di archiviazione, quindi scegli il nome del pool di archiviazione in cui creare il disco. Solo il pool di archiviazione esistente nella zona selezionata verrà visualizzato nell'elenco.

  7. Al termine della specifica delle informazioni sul disco, fai clic su Crea.

gcloud

Per creare uno o più dischi in un pool di archiviazione, utilizza Comando gcloud compute disks create.

gcloud compute disks create DISK_NAME \
    --zone=ZONE \
    --storage-pool=STORAGE_POOL_NAME \
    --size=SIZE \
    --type=DISK_TYPE \
    --provisioned-iops=PROVISIONED_IOPS \
    --provisioned-throughput=PROVISIONED_THROUGHPUT

Sostituisci quanto segue:

  • DISK_NAME: un nome univoco per il disco. Puoi fornire un elenco di nomi di dischi specificati da spazi per creare più dischi con gli stessi attributi.
  • ZONE: la zona in cui è stato creato il pool di archiviazione. Specifica questo valore nel formato regione-zona, ad esempio us-central1-a.
  • STORAGE_POOL_NAME: il nome del pool di archiviazione in cui creare il disco
  • SIZE: facoltativo, la capacità di cui è stato eseguito il provisioning del nuovo disco. Il valore deve essere un numero intero seguito da un'unità di misura della dimensione in GB per gibibyte o TB per tebibyte. Se non viene specificata alcuna dimensione, viene utilizzato 100 GB come predefinito.
  • DISK_TYPE: tipo di disco da creare. Deve corrispondere al tipo del pool di archiviazione Hyperdisk, hyperdisk-balanced o hyperdisk-throughput.
  • PROVISIONED_IOPS: facoltativo, le IOPS da eseguire il provisioning per il disco. Puoi utilizzare questo flag solo con i dischi Hyperdisk bilanciati.
  • PROVISIONED_THROUGHPUT: facoltativo: la velocità effettiva in mebibyte (MB) al secondo per eseguire il provisioning del disco.

REST

Per creare uno o più dischi in un pool di archiviazione, costruisci un POST utilizzando il metodo disks.insert. Includi le proprietà name, sizeGb, type, storagePool, provisionedIops e provisionedThroughput. Per creare questo disco come disco non di avvio vuoto e non formattato, non specificare un'immagine di origine o uno snapshot di origine.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks

{
    "name": "DISK_NAME",
    "description": "DESCRIPTION",
    "type": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE",
    "sizeGb": "DISK_SIZE",
    "storagePool": "STORAGE_POOL_NAME",
    "provisionedIops": "IOPS_LIMIT",
    "provisionedThroughput": "THROUGHPUT_LIMIT",
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto
  • ZONE: la zona in cui si trova il pool di archiviazione, ad esempio us-central1-a. Questa è la zona in cui verrà creato il disco.
  • DISK_NAME: un nome univoco per il disco.
  • DESCRIPTION: facoltativo: una stringa di testo che descrive disco.
  • DISK_TYPE: il tipo di disco, che deve corrispondere al tipo di pool di archiviazione. Usa hyperdisk-throughput o hyperdisk-balanced.
  • DISK_SIZE: (facoltativo) le dimensioni del nuovo disco. Il valore deve essere un numero intero seguito da un'unità di dimensione di GB per i gibibyte o da TB per tebibyte. Se non viene specificata alcuna dimensione, viene utilizzato il valore predefinito di 100 GB.
  • STORAGE_POOL_NAME: il nome del pool di archiviazione in cui creare il disco.
  • IOPS_LIMIT: facoltativo, le IOPS da eseguire il provisioning per il disco. Puoi utilizzare questo flag solo con i dischi Hyperdisk bilanciati.
  • THROUGHPUT_LIMIT: facoltativo. La velocità in mebibyte (MB) per secondo da eseguire il provisioning per il disco.

Vai


// createDiskInStoragePool creates a new Hyperdisk in the specified storage pool.
func createDiskInStoragePool(w io.Writer, projectId, zone, diskName, storagePoolName, diskType string) error {
	// Example usage:
	//   projectID := "your_project_id"
	//   zone := "europe-central2-b"
	//   diskName := "your_disk_name"
	//   storagePoolName := "https://www.googleapis.com/compute/v1/projects/your_project_id/zones/europe-central2-b/storagePools/your_storage_pool"
	//   diskType := "zones/europe-central2-b/diskTypes/hyperdisk-balanced"

	ctx := context.Background()
	client, err := compute.NewDisksRESTClient(ctx)
	if err != nil {
		return fmt.Errorf("NewDisksRESTClient: %v", err)
	}
	defer client.Close()

	// Create the disk resource
	disk := &computepb.Disk{
		Name:                  proto.String(diskName),
		Type:                  proto.String(diskType),
		SizeGb:                proto.Int64(50),
		Zone:                  proto.String(zone),
		StoragePool:           proto.String(storagePoolName),
		ProvisionedIops:       proto.Int64(10000),
		ProvisionedThroughput: proto.Int64(1024),
	}

	// Create the insert disk request
	req := &computepb.InsertDiskRequest{
		Project:      projectId,
		Zone:         zone,
		DiskResource: disk,
	}

	// Send the insert disk request
	op, err := client.Insert(ctx, req)
	if err != nil {
		return fmt.Errorf("Insert disk request failed: %v", err)
	}

	// Wait for the insert disk operation to complete
	if err = op.Wait(ctx); err != nil {
		return fmt.Errorf("unable to wait for the operation: %w", err)
	}

	fmt.Fprintf(w, "Disk created in storage pool: %v\n", disk.Name)
	return nil
}

Java


import com.google.cloud.compute.v1.Disk;
import com.google.cloud.compute.v1.DisksClient;
import com.google.cloud.compute.v1.InsertDiskRequest;
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 CreateDiskInStoragePool {
  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 Google Cloud project you want to use.
    String projectId = "YOUR_PROJECT_ID";
    // Name of the zone in which you want to create the disk.
    String zone = "europe-central2-b";
    // Name of the disk you want to create.
    String diskName = "YOUR_DISK_NAME";
    // Link to the storagePool you want to use. Use format :
    // https://www.googleapis.com/compute/v1/projects/%s/zones/%s/storagePools/%s"
    String storagePoolName = "YOUR_STORAGE_POOL_LINK";
    // The type of disk you want to create. This value uses the following format:
    // "zones/{zone}/diskTypes/(hyperdisk-balanced|hyperdisk-throughput)".
    // For example: "zones/us-west3-b/diskTypes/hyperdisk-balanced"
    String diskType = String.format("zones/%s/diskTypes/hyperdisk-balanced", zone);
    // Size of the new disk in gigabytes.
    long diskSizeGb = 10;
    // Optional: the IOPS to provision for the disk.
    // You can use this flag only with Hyperdisk Balanced disks.
    long provisionedIops = 3000;
    // Optional: the throughput in mebibyte (MB) per second to provision for the disk.
    long provisionedThroughput = 140;

    createDiskInStoragePool(projectId, zone, diskName, storagePoolName, diskType,
            diskSizeGb, provisionedIops, provisionedThroughput);
  }

  // Creates a hyperdisk in the storage pool
  public static Disk createDiskInStoragePool(String projectId, String zone, String diskName,
                                             String storagePoolName, String diskType,
                                             long diskSizeGb, long iops, long throughput)
          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.
    try (DisksClient client = DisksClient.create()) {
      // Create a disk.
      Disk disk = Disk.newBuilder()
              .setZone(zone)
              .setName(diskName)
              .setType(diskType)
              .setSizeGb(diskSizeGb)
              .setStoragePool(storagePoolName)
              .setProvisionedIops(iops)
              .setProvisionedThroughput(throughput)
              .build();

      InsertDiskRequest request = InsertDiskRequest.newBuilder()
              .setProject(projectId)
              .setZone(zone)
              .setDiskResource(disk)
              .build();

      // Wait for the insert disk operation to complete.
      Operation operation = client.insertAsync(request).get(1, TimeUnit.MINUTES);

      if (operation.hasError()) {
        System.out.println("Disk creation failed!");
        throw new Error(operation.getError().toString());
      }

      // Wait for server update
      TimeUnit.SECONDS.sleep(10);

      Disk hyperdisk = client.get(projectId, zone, diskName);

      System.out.printf("Hyperdisk '%s' has been created successfully", hyperdisk.getName());

      return hyperdisk;
    }
  }
}

Node.js

// Import the Compute library
const computeLib = require('@google-cloud/compute');
const compute = computeLib.protos.google.cloud.compute.v1;

// Instantiate a diskClient
const disksClient = new computeLib.DisksClient();
// Instantiate a zoneOperationsClient
const zoneOperationsClient = new computeLib.ZoneOperationsClient();

/**
 * TODO(developer): Update/uncomment these variables before running the sample.
 */
// Project ID or project number of the Google Cloud project you want to use.
const projectId = await disksClient.getProjectId();
// The zone where your VM and new disk are located.
const zone = 'us-central1-a';
// The name of the new disk
// diskName = 'disk-from-pool-name';
// The name of the storage pool
// storagePoolName = 'storage-pool-name';
// Link to the storagePool you want to use. Use format:
// https://www.googleapis.com/compute/v1/projects/{projectId}/zones/{zone}/storagePools/{storagePoolName}
const storagePool = `https://www.googleapis.com/compute/v1/projects/${projectId}/zones/${zone}/storagePools/${storagePoolName}`;
// The type of disk. This value uses the following format:
// "zones/{zone}/diskTypes/(hyperdisk-balanced|hyperdisk-extreme|hyperdisk-ml|hyperdisk-throughput)".
// For example: "zones/us-west3-b/diskTypes/hyperdisk-balanced"
const diskType = `zones/${zone}/diskTypes/hyperdisk-balanced`;
// Size of the new disk in gigabytes.
const diskSizeGb = 10;
// Optional: For Hyperdisk Balanced or Hyperdisk Extreme disks,
// this is the number of I/O operations per second (IOPS) that the disk can handle.
const provisionedIops = 3000;
// Optional: For Hyperdisk Balanced or Hyperdisk Throughput volumes,
// this is an integer that represents the throughput,
// measured in MiB per second, that the disk can handle.
const provisionedThroughput = 140;

async function callCreateComputeHyperdiskFromPool() {
  // Create a disk
  const disk = new compute.Disk({
    sizeGb: diskSizeGb,
    name: diskName,
    type: diskType,
    zone,
    storagePool,
    provisionedIops,
    provisionedThroughput,
  });

  const [response] = await disksClient.insert({
    project: projectId,
    zone,
    diskResource: disk,
  });

  let operation = response.latestResponse;

  // Wait for the create disk operation to complete.
  while (operation.status !== 'DONE') {
    [operation] = await zoneOperationsClient.wait({
      operation: operation.name,
      project: projectId,
      zone: operation.zone.split('/').pop(),
    });
  }

  console.log(`Disk: ${diskName} created.`);
}

await callCreateComputeHyperdiskFromPool();

Dopo aver creato il disco, puoi collegarlo a una VM.

Crea una VM che utilizza i dischi nel pool di archiviazione

Quando crei una VM, configuri un disco di avvio e, se vuoi, puoi creare dischi di dati aggiuntivi (non di avvio), che vengono collegati automaticamente alla VM. Le sezioni seguenti spiegano come creare ogni tipo di disco in un pool di archiviazione durante il processo di creazione della VM.

Crea il disco di avvio per una VM in un pool di archiviazione

Per creare una VM che utilizza un disco di avvio in un pool di archiviazione, devi prima crea un pool di archiviazione bilanciato Hyperdisk. Puoi quindi creare una VM utilizzando un tipo di macchina che supporta i dischi Hyperdisk bilanciati. Il tipo di macchina, il tipo di disco e il pool di archiviazione devono essere tutti disponibili nella zona scelta.

Console

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

    Vai a Istanze VM

  2. Fai clic su Crea istanza.

  3. Inserisci un nome per l'istanza.

  4. Imposta la zona sulla stessa zona in cui si trova il pool di archiviazione.

  5. Scegli un tipo di macchina che supporti Hyperdisk Balanced, ad esempio H3.

  6. Nella sezione Disco di avvio, fai clic su Cambia.

  7. Nel riquadro Disco di avvio, imposta Tipo di disco di avvio su Hyperdisk bilanciato.

  8. Configura le proprietà per il disco.

  9. Espandi Mostra configurazione avanzata.

  10. Sotto la voce Pool di archiviazione, seleziona Abilita il pool di archiviazione.

  11. Scegli dall'elenco il pool di archiviazione in cui creare il disco.

  12. Al termine della configurazione del disco, fai clic su Seleziona.

  13. Completa la configurazione delle proprietà della VM.

  14. Fai clic su Crea.

    La console crea la VM nella zona specificata e crea l'avvio nel pool di archiviazione selezionato.

gcloud

Puoi creare il disco di avvio per una nuova VM nella utilizzando Comando gcloud compute instances create e include la proprietà storage-pool per il disco di avvio.

gcloud compute instances create VM_NAME \
    --zone=ZONE \
    --machine-type=MACHINE_TYPE \
    --create-disk=boot=yes,type=hyperdisk-balanced,size=DISK_SIZE,provisioned-throughput=THROUGHPUT, \
    provisioned-iops=IOPS,image=projects/IMAGE_PROJECT/global/images/IMAGE, \
    storage-pool=STORAGE_POOL_NAME

Sostituisci quanto segue:

  • VM_NAME: il nome della VM.
  • ZONE: la regione e la zona in cui creare la VM, utilizzando il formato us-central1-a.
  • MACHINE_TYPE: il tipo di macchina della VM, ad esempio m3-ultramem-32.
  • DISK_SIZE: la dimensione, in GiB, del disco di avvio
  • THROUGHPUT: la velocità effettiva da eseguire il provisioning per il disco
  • IOPS: le IOPS di cui eseguire il provisioning per il disco
  • IMAGE_PROJECT: il progetto che contiene l'immagine
  • IMAGE: specifica una delle seguenti opzioni:
    • Una versione specifica dell'immagine del sistema operativo, ad esempio debian-12-bookworm-v20240213.
    • Una famiglia di immagini, che deve essere formattata come family/IMAGE_FAMILY. Questo crea l'istanza dall'immagine sistema operativo più recente e non deprecata. Ad esempio, se specifichi family/debian-12, Compute Engine crea una VM utilizzando la versione più recente dell'immagine del sistema operativo nella famiglia di immagini debian-12. Per saperne di più sull'utilizzo delle famiglie di immagini, consulta le best practice per le famiglie di immagini.
  • STORAGE_POOL_NAME: il nome del pool di archiviazione in cui creare il nuovo disco.

REST

Puoi creare il disco di avvio per una nuova VM nel pool di archiviazione costruendo una richiesta POST per il metodo instances.insert e includendo la proprietà storagePool per il disco di avvio.

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

{
   "name": "VM_NAME",
   "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
   "disks": [
      {
         "deviceName": "BOOT_DISK_DEVICE_NAME",
         "initializeParams": {
            "diskSizeGb": "DISK_SIZE",
            "diskType": "DISK_TYPE",
            "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
            "boot": true,
            "provisionedIops": "IOPS_LIMIT",
            "provisionedThroughput": "THROUGHPUT_LIMIT",
            "storagePool": "POOL_URL"
         }
      }
   ]
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto
  • ZONE: la zona in cui si trova il pool di archiviazione, ad esempio us-central1-a. Questa è la zona in cui vengono creati la VM e il disco di avvio.
  • VM_NAME: il nome della VM.
  • MACHINE_TYPE: il tipo di macchina della VM, ad esempio m3-ultramem-32.
  • BOOT_DISK_DEVICE_NAME: il nome del dispositivo per il disco di avvio
  • DISK_SIZE: le dimensioni, in GiB, del disco di avvio
  • DISK_TYPE: il tipo di disco, specificato come URI
  • IMAGE_PROJECT: il progetto che contiene l'immagine
  • IMAGE: specifica una delle seguenti opzioni:
    • Una versione specifica dell'immagine del sistema operativo, ad esempio debian-12-bookworm-v20240213.
    • Una famiglia di immagini, che deve essere formattata come family/IMAGE_FAMILY. In questo modo viene creata l'istanza dall'immagine del sistema operativo più recente e non deprecata. Per Ad esempio, se specifichi family/debian-12, Compute Engine crea un'istanza VM che utilizza la versione più recente dell'immagine del sistema operativo nell'immagine debian-12 famiglia. Per ulteriori informazioni sull'utilizzo delle famiglie di immagini, consulta Best practice per le famiglie di immagini.
  • IOPS_LIMIT: le IOPS da eseguire il provisioning per il disco
  • THROUGHPUT_LIMIT: la velocità effettiva di provisioning per il disco
  • POOL_URL: il pool di archiviazione in cui viene creato il nuovo disco. Puoi fornirlo come URL parziale o completo della risorsa. Ad esempio, i seguenti sono valori validi:
    • https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/storagePools/STORAGE_POOL_NAME
    • projects/PROJECT_ID/zones/ZONE/storagePools/STORAGE_POOL_NAME
    • zones/ZONE/storagePools/STORAGE_POOL_NAME

Crea dischi aggiuntivi in un pool di archiviazione durante la creazione della VM

Quando crei dischi in un pool di archiviazione, durante la creazione della VM, tipo di disco e il pool di archiviazione deve essere disponibile nella zona scelta.

Console

Per utilizzare la console per creare una nuova VM con dischi aggiuntivi non di avvio:

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

    Vai a Istanze VM

  2. Fai clic su Crea istanza.

  3. Inserisci un nome per la VM.

  4. Imposta la zona sulla stessa in cui si trova il pool di archiviazione.

  5. Scegli un tipo di macchina che supporti il tipo di disco utilizzato dall' pool di archiviazione.

  6. Espandi la sezione Opzioni avanzate.

  7. Espandi Dischi.

  8. Fai clic su Aggiungi nuovo disco.

  9. Nel riquadro Aggiungi nuovo disco, inserisci le informazioni del disco. Imposta il tipo di disco in modo che corrisponda al tipo di pool di archiviazione.

  10. Nella sezione Pool di archiviazione, seleziona Abilita pool di archiviazione.

  11. Nel campo Seleziona un pool di archiviazione, seleziona il pool di archiviazione in cui creare il disco.

  12. Al termine della configurazione del disco, fai clic su Salva.

  13. Completa la configurazione delle proprietà della VM.

  14. Fai clic su Crea.

    La console crea la VM nella zona specificata e il disco non di avvio nel pool di archiviazione selezionato.

gcloud

Puoi creare nuovi dischi in un pool di archiviazione durante la creazione delle VM utilizzando Il comando gcloud compute instances create e include la proprietà storage-pool per il disco.

gcloud compute instances create VM_NAME \
    --zone=ZONE \
    --machine-type=MACHINE_TYPE \
    --create-disk=auto-delete=yes,boot=yes,device-name=BOOT_DISK_DEVICE_NAME,image=IMAGE_NAME, \
    size=BOOT_DISK_SIZE,type=BOOT_DISK_TYPE
    --create-disk=auto-delete=yes,boot=no,device-name=DATA_DISK_DEVICE_NAME,size=DATA_DISK_SIZE, \
    type=DATA_DISK_TYPE,provisioned-iops=IOPS,provisioned-throughput=THROUGHPUT, \
    storage_pool=STORAGE_POOL_NAME

Sostituisci quanto segue:

  • VM_NAME: il nome della VM.
  • ZONE: la regione e la zona in cui creare la VM, utilizzando il formato us-central1-a
  • MACHINE_TYPE: il tipo di macchina della VM
  • BOOT_DISK_DEVICE_NAME: il nome del dispositivo per il disco di avvio
  • IMAGE_NAME: il nome dell'immagine del sistema operativo da installare sul disco di avvio, ad esempio debian-12-bookworm-v20240213
  • BOOT_DISK_SIZE: le dimensioni, in GiB, del disco di avvio
  • BOOT_DISK_TYPE: il tipo di disco
  • DATA_DISK_DEVICE_NAME: nome dispositivo disco per il disco dati
  • DATA_DISK_SIZE: le dimensioni del disco dati in GiB
  • DATA_DISK_TYPE: tipo di disco dati (hyperdisk-balanced) o hyperdisk-throughput
  • IOPS: le IOPS di cui eseguire il provisioning per il disco
  • THROUGHPUT: la velocità effettiva di provisioning per il disco
  • STORAGE_POOL_NAME: il nome univoco del pool di archiviazione in cui vuoi creare il disco.

REST

Puoi creare nuovi dischi in un pool di archiviazione durante la creazione della VM costruendo una richiesta POST per il metodo instances.insert e includendo la proprietà storagePool per i dischi aggiuntivi.

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

{
   "name": "VM_NAME",
   "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
   "disks": [
      {
        "initializeParams":{
            "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE"
        },
        "boot":true
      },
      {
        "deviceName": "DEVICE_NAME",
        "boot":false,
        "initializeParams": {
           "diskSizeGb": "DISK_SIZE",
           "diskType": "DISK_TYPE",
           "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
           "provisionedIops": "IOPS_LIMIT",
           "provisionedThroughput": "THROUGHPUT_LIMIT",
           "storagePool": "POOL_URL"
        }
      }
   ]
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto
  • ZONE: la zona in cui si trova il pool di archiviazione, ad esempio us-central1-a. Questa è la zona in cui vengono creati la VM e il disco di avvio.
  • VM_NAME: il nome della VM.
  • MACHINE_TYPE: tipo di macchina della VM, ad esempio m3-ultramem-32.
  • IMAGE_PROJECT: il progetto che contiene l'immagine
  • IMAGE: specifica una delle seguenti opzioni:
    • Una versione specifica dell'immagine del sistema operativo, ad esempio debian-12-bookworm-v20240213.
    • Una famiglia di immagini, che deve essere formattata come family/IMAGE_FAMILY. In questo modo viene creata l'istanza dall'immagine del sistema operativo più recente e non deprecata. Ad esempio, se specifichi family/debian-12, Compute Engine crea una VM utilizzando la versione più recente dell'immagine del sistema operativo nella famiglia di immagini debian-12. Per ulteriori informazioni sull'utilizzo delle famiglie di immagini, consulta Best practice per le famiglie di immagini.
  • DEVICE_NAME: il nome del dispositivo per il disco dati
  • DISK_SIZE: le dimensioni, in GiB, del disco dati
  • DISK_TYPE: il tipo di disco, specificato come URI
  • IOPS_LIMIT: le IOPS da eseguire il provisioning per il disco
  • THROUGHPUT_LIMIT: la velocità effettiva di provisioning per il disco
  • POOL_URL: il pool di archiviazione in cui viene creato il nuovo disco. Puoi fornirlo come URL parziale o completo della risorsa. Ad esempio, i seguenti sono valori validi:
    • https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/storagePools/STORAGE_POOL_NAME
    • projects/PROJECT_ID/zones/ZONE/storagePools/STORAGE_POOL_NAME
    • zones/ZONE/storagePools/STORAGE_POOL_NAME

Usa il pool di archiviazione in un modello di istanza

I modelli di istanza utilizzati per creare gruppi di istanze gestite possono contenere le informazioni sul pool di archiviazione. I dischi creati utilizzando vengono posizionati nel pool di archiviazione specificato.

Console

  1. Nella console Google Cloud, vai alla pagina Modelli di istanza.

    Vai a Modelli di istanza

  2. Fai clic su Crea modello istanza.

  3. Inserisci un nome per il modello di istanza.

  4. Scegli Regionale per la località e nel campo Regione scegli la regione in cui si trova il pool di archiviazione.

  5. Scegli un tipo di macchina che supporti Hyperdisk Bilanciato, ad esempio C3.

  6. Nella sezione Disco di avvio, fai clic su Cambia.

  7. Nel riquadro Disco di avvio, imposta Tipo di disco di avvio su Hyperdisk bilanciato.

  8. Configura le proprietà per il disco.

  9. Espandi Mostra configurazione avanzata.

  10. Sotto la voce Pool di archiviazione, seleziona Abilita il pool di archiviazione.

  11. Scegli dall'elenco il pool di archiviazione in cui creare il disco.

  12. Al termine della configurazione del disco, fai clic su Seleziona.

  13. Completa la configurazione delle proprietà della VM.

  14. Fai clic su Crea.

    Il modello crea la VM nella zona specificata e il disco di avvio nel pool di archiviazione selezionato.

gcloud

Puoi specificare un modello di istanza in cui creare il disco del libro un pool di archiviazione utilizzando Comando gcloud compute instance-templates create e include la proprietà storage-pool per il disco di avvio.

gcloud compute instance-templates create TEMPLATE_NAME \
    --instance-template-region=REGION \
    --machine-type=MACHINE_TYPE \
    --create-disk=boot=yes,type=hyperdisk-balanced,size=DISK_SIZE,provisioned-throughput=THROUGHPUT, \
    provisioned-iops=IOPS,image=projects/IMAGE_PROJECT/global/images/IMAGE, \
    storage-pool=STORAGE_POOL_NAME

Sostituisci quanto segue:

  • TEMPLATE_NAME: il nome del modello di istanza.
  • REGION: la regione in cui vuoi creare la regione modello di istanza. La regione deve contenere la zona in cui si trova il pool di archiviazione.
  • MACHINE_TYPE: tipo di macchina da utilizzare durante la creazione della VM ad esempio h3-standard-88.
  • DISK_SIZE: la dimensione, in GiB, del disco
  • THROUGHPUT: la velocità effettiva da eseguire il provisioning per il disco
  • IOPS: le IOPS da eseguire il provisioning per il disco
  • IMAGE_PROJECT: il progetto che contiene l'immagine
  • IMAGE: specifica una delle seguenti opzioni:
    • Una versione specifica dell'immagine del sistema operativo, ad esempio debian-12-bookworm-v20240213.
    • Una famiglia di immagini, che deve essere formattato come family/IMAGE_FAMILY. In questo modo viene creata l'istanza dall'immagine del sistema operativo più recente e non deprecata. Per Ad esempio, se specifichi family/debian-12, Compute Engine crea un'istanza VM che utilizza la versione più recente dell'immagine del sistema operativo nell'immagine debian-12 famiglia. Per saperne di più sull'utilizzo delle famiglie di immagini, consulta le best practice per le famiglie di immagini.
  • STORAGE_POOL_NAME: il nome del pool di archiviazione per la creazione con il nuovo disco.

REST

Puoi creare il disco di avvio per una nuova VM nel pool di archiviazione costruendo una richiesta POST per il metodo instances.insert e includendo la proprietà storagePool per il disco di avvio.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates
{
   "name": "VM_NAME",
   "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
   "disks": [
      {
         "deviceName": "BOOT_DISK_DEVICE_NAME",
         "initializeParams": {
            "diskSizeGb": "DISK_SIZE",
            "diskType": "DISK_TYPE",
            "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
            "boot": true,
            "provisionedIops": "IOPS_LIMIT",
            "provisionedThroughput": "THROUGHPUT_LIMIT",
            "storagePool": "POOL_URL"
         }
      }
   ]
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto
  • VM_NAME: il nome della VM.
  • ZONE: la zona in cui si trova il pool di archiviazione, ad esempio us-central1-a. Questa è la zona in cui vengono creati la VM e il disco di avvio.
  • MACHINE_TYPE: tipo di macchina della VM, ad esempio m3-ultramem-32.
  • BOOT_DISK_DEVICE_NAME: il nome del dispositivo per il disco di avvio
  • DISK_SIZE: le dimensioni, in GiB, del disco di avvio
  • DISK_TYPE: il tipo di disco, specificato come URI
  • IMAGE_PROJECT: il progetto che contiene l'immagine
  • IMAGE: specifica una delle seguenti opzioni:
    • Una versione specifica dell'immagine del sistema operativo, ad esempio debian-12-bookworm-v20240213.
    • Una famiglia di immagini, che deve essere formattata come family/IMAGE_FAMILY. Questo crea l'istanza dall'immagine sistema operativo più recente e non deprecata. Ad esempio, se specifichi family/debian-12, Compute Engine crea un'istanza utilizzando la versione più recente dell'immagine del sistema operativo nella famiglia di immagini debian-12. Per ulteriori informazioni sull'utilizzo delle famiglie di immagini, consulta Best practice per le famiglie di immagini.
  • IOPS_LIMIT: le IOPS di cui eseguire il provisioning per il disco
  • THROUGHPUT_LIMIT: la velocità effettiva di provisioning per il disco
  • POOL_URL: il pool di archiviazione in cui viene creato il nuovo disco. Puoi fornirlo come URL parziale o completo della risorsa. Per Ecco alcuni valori validi:
    • https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/storagePools/STORAGE_POOL_NAME
    • projects/PROJECT_ID/zones/ZONE/storagePools/STORAGE_POOL_NAME
    • zones/ZONE/storagePools/STORAGE_POOL_NAME