Aumentare le dimensioni di un disco permanente


Puoi aumentare le dimensioni del Persistent Disk quando l'istanza di macchina virtuale (VM) richiede spazio di archiviazione aggiuntivo o limiti di prestazioni maggiori. Puoi aumentare le dimensioni del disco in qualsiasi momento, indipendentemente dal fatto che sia collegato a una VM in esecuzione.

Questa pagina spiega come aumentare le dimensioni di un Persistent Disk. Per aumentare le dimensioni di un volume Google Cloud Hyperdisk, consulta Modifica le impostazioni di un Hyperdisk.

Puoi solo aumentare, e non diminuire, le dimensioni di un disco. Per ridurre le dimensioni del disco, devi crearne uno nuovo con dimensioni inferiori. Finché non elimini il disco originale più grande, ti vengono addebitati entrambi i dischi.

Quando crei un'immagine Linux personalizzata o un'immagine Windows personalizzata, devi aumentare manualmente le dimensioni dei dischi di avvio e non di avvio. Se utilizzi un'immagine pubblica, Compute Engine ridimensiona automaticamente i dischi di avvio.

L'aumento delle dimensioni di un disco non comporta l'eliminazione o la modifica dei dati che contiene, ma come best practice, prima di apportare qualsiasi modifica al file system o alle partizioni, esegui sempre il backup del disco creando uno snapshot.

Compute Engine gestisce l'hardware alla base dei dischi permanenti, in modo che tu possa aggiungere e ridimensionare i dischi senza gestire lo striping o la ridondanza.

Prima di iniziare

  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è il processo mediante il quale la tua identità viene verificata per l'accesso ai Google Cloud servizi e alle API. 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. After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      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. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

        3. To initialize the gcloud CLI, run the following command:

          gcloud init
        4. 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.

          If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

        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.

          After installing the Google Cloud CLI, initialize it by running the following command:

          gcloud init

          If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

        Per saperne di più, consulta la sezione Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud .

Ruoli e autorizzazioni richiesti

Per ottenere l'autorizzazione necessaria per ridimensionare un Persistent Disk, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:

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

Questo ruolo predefinito contiene l'autorizzazione compute.disks.update necessaria per ridimensionare un Persistent Disk.

Potresti anche ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.

Aumentare le dimensioni di un disco

Per aumentare le dimensioni di un disco di avvio o non di avvio, utilizza le seguenti procedure:

Console

  1. Nella console Google Cloud vai alla pagina Dischi.

    Vai a Dischi

  2. Nell'elenco dei dischi permanenti del progetto, fai clic sul nome del disco da ridimensionare.

  3. Nella pagina dei dettagli del disco, fai clic su Modifica. Potresti dover fare clic sul menu Altre azioni e poi su Modifica.

  4. Nel campo Dimensione, inserisci le nuove dimensioni del disco. Le tabelle delle partizioni MBR possono essere ridimensionate solo fino a 2 TB.

  5. Fai clic su Salva per applicare le modifiche al disco.

Le nuove dimensioni del disco vengono visualizzate nell'elenco dei dischi.

gcloud

Utilizza il comando gcloud compute disks resize e specifica il flag --size con le nuove dimensioni del disco, in gibibyte (GiB).

gcloud compute disks resize DISK_NAME \
    --size DISK_SIZE \
    --zone=ZONE

Sostituisci quanto segue:

  • DISK_NAME: il nome del disco che stai ridimensionando.
  • DISK_SIZE: le nuove dimensioni, in gibibyte (GiB), del disco. I dischi con tabelle delle partizioni MBR possono essere ridimensionati solo fino a 2 TB.
  • ZONE: per Persistent Disk di zona, specifica la zona in cui si trova il disco.

    Per il disco permanente regionale, utilizza invece il flag --region=REGION e specifica la regione in cui si trova il disco regionale.

Terraform

Scegli una delle seguenti opzioni per ridimensionare i dischi a livello di zona o il disco permanente a livello di regione:

Disco di zona

Per modificare le dimensioni di un Persistent Disk, puoi utilizzare la risorsa google_compute_disk e il parametro size.

# Using pd-standard because it's the default for Compute Engine

resource "google_compute_disk" "default" {
  name = "disk-data"
  type = "pd-standard"
  zone = "us-west1-a"
  size = "5"
}

Se includi il parametro size insieme al parametro image o snapshot, il valore di size deve essere maggiore o uguale alla dimensione dell'immagine o dello snapshot.

Se ometti i parametri image e snapshot, puoi impostare il parametro size su un valore inferiore alla dimensione disco esistente. Se lo fai, Terraform elimina il disco e crea un nuovoPersistent Diske vuoto.

Persistent Disk regionale

Per modificare le dimensioni di un disco permanente regionale, puoi utilizzare la risorsa google_compute_region_disk e il parametro size.

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"]
}

Se includi il parametro size insieme al parametro image o snapshot, il valore di size deve essere maggiore o uguale alla dimensione dell'immagine o dello snapshot.

Se ometti i parametri image e snapshot, puoi impostare il parametro size su un valore inferiore alla dimensione disco esistente. Se lo fai, Terraform distrugge il disco e crea un nuovo disco permanente regionale vuoto.

REST

Per ridimensionare un Persistent Disk, crea una richiesta POST al metodo compute.disks.resize.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/resize
{
  "sizeGb": "DISK_SIZE"
}

Per ridimensionare un disco permanente regionale, crea una richiesta POST al metodo compute.regionDisks.resize.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME/resize
{
   "sizeGb": "DISK_SIZE"
}

Sostituisci quanto segue:

  • PROJECT_ID: il tuo ID progetto.
  • ZONE: Per Persistent Disk di zona: la zona in cui si trova il disco.
  • REGION: per il disco permanente regionale, la regione in cui si trova il disco.
  • DISK_NAME: il nome del disco da ridimensionare.
  • DISK_SIZE: le nuove dimensioni, in gibibyte (GiB), del disco. I dischi con tabelle delle partizioni MBR possono essere ridimensionati solo fino a 2 TB.

Ridimensiona il file system e le partizioni

Dopo aver aumentato le dimensioni di un disco, potresti dover ridimensionare il file system e le partizioni. Il seguente elenco mostra informazioni aggiuntive per i dischi di avvio e non di avvio:

  • Disco di avvio: se utilizzi un'immagine Linux personalizzata o un'immagine Windows personalizzata, devi ridimensionare manualmente la partizione principale e il file system. Per le VM con immagini pubbliche, Compute Engine ridimensiona automaticamente la partizione principale e il file system dopo aver aumentato le dimensioni del disco di avvio e riavviato la VM.

  • Disco non di avvio: dopo aver aumentato le dimensioni del disco, devi estendere il file system sul disco per utilizzare lo spazio aggiunto.

Il seguente esempio mostra come ridimensionare manualmente la partizione principale e il file system di un disco di avvio e come ridimensionare manualmente il file system di un disco di dati non di avvio senza tabella di partizione. Questo esempio presuppone che il disco sia collegato tramite SCSI e sia stato precedentemente formattato e montato.

Se il Persistent Disk è stato collegato utilizzando NVMe, consulta Ridimensionare il file system e le partizioni per un esempio di output per i dischi collegati tramite NVMe.

VM Linux

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

    Vai a Istanze VM

  2. Accanto all'istanza con il nuovo disco collegato, fai clic sul pulsante SSH. Il browser apre una connessione terminale all'istanza.

  3. Utilizza i comandi df e lsblk per elencare le dimensioni del file system e per trovare i nomi dei dispositivi per i tuoi dischi.

    $ sudo df -Th
    
    Filesystem      Type     Size   Used  Avail  Use%  Mounted on
    /dev/sda1       ext4     9.7G   1.2G   8.5G   12%  /
    /dev/sdb        ext4     250G    60M   250G    1%  /mnt/disks/disk-1
    
    
    $ sudo lsblk
    
    NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda       8:0    0   20G  0 disk
    └─sda1    8:1    0   10G  0 part /
    sdb       8:16   0  500G  0 disk /mnt/disks/disk-1
    
    

    Questo esempio include i seguenti dischi:

    • Disco di avvio: la partizione /dev/sda1 si trova su un disco di avvio di cui è stata modificata la dimensione in 20 GB. La tabella di partizione e il file system forniscono solo 9,7 GB al sistema operativo.
    • Disco dati non di avvio: il disco dati non di avvio /dev/sdb non ha una tabella di partizione, ma il file system su quel disco fornisce solo 250 GB al sistema operativo. La directory di montaggio per questo disco è /mnt/disks/disk-1.

    Il comando df mostra che la partizione /dev/sda1 è montata come file system root e che il disco /dev/sdb è montato come disco dati non di avvio in /mnt/disks/disk-1. Prendi nota della colonna Tipo, che indica se il disco utilizza un file system ext4 o xfs.

  4. Verifica il tipo di partizione:

    sudo parted -l
    
    In alternativa, per visualizzare le informazioni solo per un disco specifico:
    sudo parted -l /dev/DEVICE_NAME
    
    Cerca il campo Tabella partizionata. Se il valore è msdos, il disco ha un tipo di partizione MBR. Ciò significa che la dimensione massima di questo disco è di 2 TB.

  5. Ridimensiona la partizione principale e il file system sul disco di avvio. Questo esempio presuppone che l'immagine VM non supporti il partizionamento automatico della partizione principale e il ridimensionamento del file system.

    1. Ridimensiona la partizione principale utilizzando parted. Ad esempio, i seguenti comandi espandono la partizione 1 di /dev/sda alle dimensioni massime possibili:

      1. Apri parted sulla partizione /dev/sda:

        sudo parted /dev/sda
      2. Nel prompt (parted), inserisci:

        resizepart
      3. Nel prompt Partition number?, inserisci:

        1
      4. Nel prompt Warning: Partition /dev/sda1 is being used. Are you sure you want to continue?, inserisci:

        Yes
      5. Nel prompt End?, inserisci

        100%
      6. Nel prompt (parted), inserisci:

        quit
    2. Leggi la nuova tabella di partizione utilizzando partprobe.

      sudo partprobe /dev/sda
      
    3. Espandi il file system:

      • Se utilizzi ext4, utilizza il comando resize2fs:

        sudo resize2fs /dev/sda1
        
      • Se utilizzi xfs, utilizza il comando xfs_growfs:

        sudo xfs_growfs -d /
        
      • Se utilizzi btrfs, utilizza il comando btrfs:

        sudo btrfs filesystem resize max /
        
  6. Ridimensiona il file system sul disco dati non di avvio.

    • Se utilizzi ext4, utilizza il comando resize2fs per estendere il file system:

      sudo resize2fs /dev/DEVICE_NAME
      

      Sostituisci DEVICE_NAME con il nome del dispositivo per il disco. In questo esempio, il nome del dispositivo è /dev/sdb.

    • Se utilizzi xfs, utilizza il comando xfs_growfs per estendere il file system:

      sudo xfs_growfs MOUNT_DIR
      

      Sostituisci MOUNT_DIR con il punto di montaggio del dispositivo. Il punto di montaggio è elencato nella colonna MOUNTPOINT nell'output del comando lsblk.

    • Se utilizzi btrfs, utilizza il comando btrfs per estendere il file system:

      sudo btrfs filesystem resize max MOUNT_DIR
      

      Sostituisci MOUNT_DIR con il punto di montaggio del dispositivo. Il punto di montaggio è elencato nella colonna MOUNTPOINT nell'output del comando lsblk.

  7. Utilizza il comando df per verificare che il file system sia esteso. Ad esempio:

    df -h /dev/sdb
    
    Filesystem  Size  Used  Avail  Use%  Mounted on
    /dev/sdb    493G   70M  492G     1%  /mnt/disks/disk-1
    

VM Windows

Utilizza l'utility Gestione disco di Windows per ridimensionare le partizioni in un'istanza Windows.

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

    Vai a Istanze VM

  2. Accanto all'istanza con il disco ridimensionato, fai clic sul pulsante RDP. Il browser apre una connessione RDP all'istanza.

  3. Fai clic con il tasto destro del mouse sul pulsante Start di Windows e seleziona Gestione disco per aprire lo strumento Gestione disco.

    Selezione dello strumento Gestione disco di Windows dal menu visualizzato facendo clic con il tasto destro del mouse sul pulsante Start di Windows.

  4. Mostra il tipo di partizione dei dischi eseguendo in PowerShell:

    Get-Disk
    
    Nella colonna Stile partizione, se il valore è MBR, il disco ha un tipo di partizione MBR. Ciò significa che la dimensione massima di questo disco sarebbe di 2 TB.

  5. Aggiorna lo strumento Gestione disco in modo che riconosca lo spazio aggiuntivo sul disco permanente a livello di zona. Nella parte superiore della finestra Gestione disco, fai clic su Azione e seleziona Aggiorna.

    Fai clic sul menu Azione e seleziona Aggiorna per aggiornare le informazioni sul disco permanente a livello di zona nello strumento Gestione disco.

  6. Sul disco di cui hai modificato le dimensioni, fai clic con il tasto destro del mouse sulla partizione formattata e seleziona Estendi volume.

    Fai clic con il tasto destro del mouse sulla parte formattata del disco e seleziona l'opzione Estendi volume.

  7. Segui le istruzioni nella procedura guidata per l'estensione del volume per estendere la partizione esistente in modo da includere lo spazio su disco aggiuntivo. Se la partizione esistente è formattata in NTFS, la dimensione massima della partizione è limitata dalle impostazioni della dimensione del cluster.

  8. Al termine della procedura guidata e aver completato la formattazione del volume, controlla la colonna Status nell'elenco dei dischi collegati per assicurarti che il nuovo disco abbia lo stato Healthy.

    Visualizza l'elenco dei dischi riconosciuti da Windows e verifica che l'istanza sia online e in stato Integro.

Non è necessario riavviare la VM al termine di questa procedura. Ora puoi utilizzare lo spazio su disco aggiuntivo per archiviare i dati.

Passaggi successivi