Aggiungi spazio di archiviazione Hyperdisk a una VM

Puoi usare un volume Hyperdisk Extreme o Hyperdisk Throughput completando le seguenti attività:

  • Crea un volume Hyperdisk vuoto, non di avvio e a livello di zona e collegalo sulla VM nell'ambito della sua creazione o come attività separate.
  • Formatta e monta il volume per fornire l'accesso a un file system o dati.

Il processo è lo stesso per i volumi bilanciati Hyperdisk, ad eccezione del creare dischi di avvio di tipo Hyperdisk Balanced.

Per informazioni generali su Hyperdisk, vedi Informazioni su Hyperdisk.

Prima di iniziare

  • Esamina il Limitazioni di Hyperdisk prima di aggiungere un volume Hyperdisk alla tua VM.
  • 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. 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 aggiungere un volume Hyperdisk alla tua 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 aggiungere un volume Hyperdisk alla tua VM. Per vedere le autorizzazioni esatte obbligatorie, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per aggiungere un volume Hyperdisk alla tua VM sono necessarie le seguenti autorizzazioni:

  • Per creare e collegare un volume Hyperdisk:
    • compute.disks.create del progetto
    • compute.instances.attachDisk sulla VM
    • compute.disks.use sul volume che vuoi collegare alla VM
  • Per formattare e montare il volume collegato: compute.instances.setMetadata sulla VM

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

Valori supportati per i volumi Hyperdisk

I valori che utilizzi quando crei o modifichi un volume Hyperdisk devono rientrano nell'intervallo dei valori massimo e minimo descritto in Limiti di hyperdisk per disco.

Se modifichi le dimensioni di un volume Hyperdisk collegato a una VM, i nuovi valori non possono superare Limiti di hyperdisk per VM.

Le IOPS e la velocità effettiva di cui è stato eseguito il provisioning per un volume Hyperdisk devono seguire le regole descritte in Informazioni sulle IOPS e sul provisioning della velocità effettiva per Hyperdisk.

Aggiungi un volume Hyperdisk alla tua VM

Puoi creare e collegare un volume Hyperdisk utilizzando Console Google Cloud, Google Cloud CLI o REST.

Dimensioni, velocità effettiva e IOPS specificate durante la creazione di un Hyperdisk il volume deve essere compreso nell'intervallo dei valori supportati.

Console

  1. Vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Fai clic sul nome della VM in cui vuoi aggiungere un disco.

  3. Nella pagina Dettagli istanza VM, fai clic su Modifica.

  4. Sotto l'intestazione Dischi aggiuntivi, fai clic su Aggiungi nuovo disco.

  5. Specifica un nome per il disco e, facoltativamente, aggiungi una descrizione. Seleziona Disco vuoto come Tipo di origine disco.

  6. In Impostazioni disco, scegli un tipo di disco dall'elenco seguente. La i valori specificati devono essere compresi nell'intervallo valori supportati.

    1. Hyperdisk bilanciato. Puoi anche modificare le Dimensioni predefinite del disco, Impostazioni per IOPS sottoposte a provisioning e Velocità effettiva sottoposta a provisioning.
    2. Hyperdisk Extreme. Puoi anche modificare le dimensioni predefinite del disco Impostazioni per le IOPS sottoposte a provisioning.
    3. Hyperdisk ML. Puoi anche modificare le impostazioni predefinite del disco Dimensioni e Velocità effettiva sottoposta a provisioning.
    4. Velocità effettiva Hyperdisk.Puoi anche modificare le impostazioni predefinite del disco Dimensioni e Velocità effettiva sottoposta a provisioning.
  7. Fai clic su Salva.

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

gcloud

  1. Usa il comando gcloud compute disks create per creare il volume Hyperdisk.

    gcloud compute disks create DISK_NAME \
       --zone=ZONE \
       --size=DISK_SIZE \
       --type=DISK_TYPE \
       --provisioned-iops=IOPS_LIMIT
       --provisioned-throughput=THROUGHPUT_LIMIT
    

    Sostituisci quanto segue:

    • DISK_NAME: il nome del nuovo disco.
    • ZONE: il nome della zona in cui verrà creato il nuovo disco è in fase di creazione.
    • DISK_SIZE: Facoltativo: le dimensioni del nuovo disco. Il valore deve essere un numero intero seguito da un'unità di dimensione di GB per gibibyte o TB per tebibyte. Se non viene specificata alcuna unità di dimensione, 100 GB viene utilizzato come valore predefinito. I valori accettati per gli attributi Le dimensioni del disco sono:
      • Hyperdisk bilanciato: da 4 GiB a 64 TiB, inclusi, in 1 GiB di incremento.
      • Hyperdisk Extreme: da 64 GiB a 64 TiB, inclusi, in 1 GiB di incremento.
      • Hyperdisk ML: da 4 GiB a 64 TiB, inclusi, in 1 GiB di incremento.
      • Velocità effettiva Hyperdisk: da 2 TiB a 32 TiB, inclusi, in 1 GiB di incremento.
    • DISK_TYPE: tipo di disco. Utilizza uno dei seguenti seguenti valori: hyperdisk-balanced, hyperdisk-extreme, hyperdisk-ml o hyperdisk-throughput
    • IOPS_LIMIT: Facoltativo: per Hyperdisk Balanced o Hyperdisk Extreme i dischi permanenti, questo è il numero di operazioni di I/O al secondo (IOPS) che il disco possa gestire.
    • THROUGHPUT_LIMIT (Facoltativo) Per Hyperdisk Balanced, Hyperdisk ML, o Hyperdisk Throughput, si tratta di un numero intero che rappresenta la velocità effettiva, misurate in MiB al secondo, che il disco è in grado di gestire.
  2. (Facoltativo) Utilizza Comando gcloud compute disks describe DISK_NAME per vedere una descrizione del disco.

  3. Dopo aver creato il disco, puoi di collegare il disco a una VM.

REST

  1. Crea una richiesta POST per creare un Hyperdisk a livello di zona utilizzando il metodo disks.insert. Includi name, sizeGb, type, provisionedIops e provisionedThroughput proprietà. Per creare questo disco come vuoto disco non di avvio non formattato, non specificare un'immagine o un'origine senza dover creare uno snapshot.

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

    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: (facoltativo) la dimensione del nuovo disco. Il valore deve essere un numero intero seguito da un'unità di dimensione in GB gibibyte o TB per i tebibyte.
    • DISK_TYPE: tipo di disco. Per creare un Per il volume Hyperdisk, utilizza uno dei seguenti valori: hyperdisk-balanced, hyperdisk-extreme, hyperdisk-ml, oppure hyperdisk-throughput.
    • IOPS_LIMIT: Facoltativo: per Hyperdisk Balanced e Hyperdisk Extreme, questo è il numero di I/O operazioni al secondo che il disco è in grado di gestire.
    • THROUGHPUT_LIMIT (Facoltativo) Per Hyperdisk Balanced, Hyperdisk ML, o Hyperdisk Throughput, si tratta di un numero intero che rappresenta la velocità effettiva, misurate in MiB al secondo, che il disco è in grado di gestire.
  2. (Facoltativo) Utilizza la compute.disks.get metodo per visualizzare una descrizione disco.

  3. Dopo aver creato il disco, puoi collega il disco a qualsiasi VM in esecuzione o arrestata.

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 CreateHyperdisk {
  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";
    // The type of disk you want to create. This value uses the following format:
    // "zones/{zone}/diskTypes/(hyperdisk-balanced|hyperdisk-extreme|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: For Hyperdisk Balanced or Hyperdisk Extreme disks,
    // this is the number of I/O operations per second (IOPS) that the disk can handle
    long 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.
    long provisionedThroughput = 140;

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

  // Creates a hyperdisk in a project
  public static Disk createHyperdisk(String projectId, String zone, String diskName,
                                     String diskType, long diskSizeGb, long provisionedIops,
                                     long provisionedThroughput)
          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)
              .setProvisionedIops(provisionedIops)
              .setProvisionedThroughput(provisionedThroughput)
              .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;
    }
  }
}

Dopo aver creato il disco, puoi collega il disco a qualsiasi VM in esecuzione o arrestata.

Formatta e monta il disco

Dopo aver creato collegare il nuovo disco a una VM, devi formattare e montare il disco, in modo che il sistema operativo possa utilizzare di spazio di archiviazione disponibile.

Passaggi successivi