Aumenta le dimensioni di un disco permanente

Puoi aumentare le dimensioni del disco permanente quando l'istanza di una macchina virtuale (VM) richiede ulteriore spazio di archiviazione o aumentati i limiti delle prestazioni. Puoi aumentare la dimensione del disco in qualsiasi momento, indipendentemente dal fatto che il disco sia collegato o meno a una VM in esecuzione.

Puoi solo aumentare e 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.

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 elimina o modifica i dati del disco ma, come best practice, prima di apportare modifiche al file system o alle partizioni, esegui sempre il backup del disco creando uno snapshot.

Compute Engine gestisce l'hardware dietro i dischi permanenti, in modo che tu possa aggiungere e ridimensionare i tuoi dischi senza gestire striping o ridondanza.

Prima di iniziare

  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è il processo mediante il quale viene verificata l'identità per l'accesso ai servizi e alle API Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti in Compute Engine nel seguente modo.

    Seleziona la scheda relativa a come prevedi di utilizzare gli esempi in questa pagina:

    Console

    Quando utilizzi la console Google Cloud per accedere ai servizi e alle API di Google Cloud, non devi configurare l'autenticazione.

    gcloud

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

      gcloud init
    2. Imposta una regione e una zona predefinite.

    Terraform

    Per utilizzare gli esempi Terraform in questa pagina da un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.

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

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

      gcloud auth application-default login

    Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

    REST

    Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, devi utilizzare le credenziali che fornisci a gcloud CLI.

      Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init

Aumenta 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 nel progetto, fai clic sul nome del disco che vuoi 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 Dimensioni, inserisci la nuova dimensione per il disco. I dischi con tabelle di partizione MBR possono essere ridimensionati solo fino a 2 TB.

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

gcloud

  1. Nella console Google Cloud, attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.

  2. Nell'interfaccia alla gcloud CLI, utilizza il comando gcloud compute disks resize e specifica il flag --size con le dimensioni del disco desiderate, in gigabyte.

    gcloud compute disks resize DISK_NAME --size DISK_SIZE
    

    Sostituisci quanto segue:

    • DISK_NAME: il nome del disco che stai ridimensionando.
    • DISK_SIZE: la nuova dimensione, in gigabyte, per il disco. I dischi con tabelle di partizione MBR possono ridimensionare solo fino a 2 TB.

Terraform

Per modificare le dimensioni di un disco permanente, 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 size deve essere uguale o superiore alla dimensione dell'immagine o dello snapshot.

Se ometti i parametri image e snapshot, puoi impostare il parametro size su un valore inferiore a quello della dimensione del disco esistente. Se lo fai, Terraform elimina il disco e crea un nuovo disco permanente vuoto. Durante la nuova creazione, Terraform non copia altri dati non inclusi nella configurazione, come etichette o pianificazioni di snapshot. Per impedire a Terraform di eliminare e ricreare un disco, puoi aggiungere l'impostazione lifecycle.prevent_destroy = true alla configurazione di Terraform.

REST

Crea una richiesta POST nel metodo compute.disks.resize.

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

{
 "sizeGb": "DISK_SIZE"
}

Sostituisci quanto segue:

  • PROJECT_ID: il tuo ID progetto.
  • ZONE: la zona in cui si trova il disco.
  • DISK_NAME: il nome del disco da ridimensionare.
  • DISK_SIZE: la nuova dimensione, in gigabyte, per il disco. I dischi con tabelle di partizione MBR possono ridimensionare solo fino a 2 TB.

Ridimensiona il file system e le partizioni

Dopo aver aumentato le dimensioni di un disco, potrebbe essere necessario 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 radice e il file system dopo che hai 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 aggiuntivo.

L'esempio seguente 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 dati non di avvio senza tabella di partizione. Questo esempio presuppone che il disco collegato sia stato precedentemente formattato e montato.

VM Linux

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

    Vai a Istanze VM

  2. Accanto all'istanza a cui è collegato il nuovo disco, fai clic sul pulsante SSH. Il browser apre una connessione di terminale per l'istanza.

  3. Utilizza i comandi df e lsblk per elencare le dimensioni del file system e 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 che è stato ridimensionato a 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 principale, mentre il disco /dev/sdb viene montato come disco dati non di avvio in /mnt/disks/disk-1. Prendi nota della colonna Type (Tipo), che indica se il disco utilizza un file system ext4 o xfs.

  4. Verifica il tipo di partizione:

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

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

    1. Ridimensiona la partizione radice utilizzando parted. Ad esempio, i seguenti comandi espandono la partizione 1 di /dev/sda alla dimensione massima possibile:

      1. Apri parted nella partizione /dev/sda:

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

        resizepart
        
      3. Al prompt Partition number?, inserisci:

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

        Yes
        
      5. Al prompt End?, inserisci

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

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

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

      • Se usi ext4, usa il comando resize2fs:

        sudo resize2fs /dev/sda1
        
      • Se usi xfs, usa 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, usa il comando resize2fs per estendere il file system:

      sudo resize2fs /dev/DEVICE_NAME
      

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

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

      sudo xfs_growfs MOUNT_DIR
      

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

    • Se usi 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. Puoi trovare il punto di montaggio elencato nella colonna MOUNTPOINT nell'output del comando lsblk.

  7. Usa 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'utilità Gestione disco Windows per ridimensionare le partizioni su 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.

    Seleziona lo strumento Gestione disco di Windows dal menu di scelta rapida sul pulsante Start di Windows.

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

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

  5. Aggiorna lo strumento Gestione disco in modo che riconosca lo spazio aggiuntivo sul disco permanente 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 del disco permanente di zona nello strumento Gestione disco.

  6. Sul disco ridimensionato, fai clic con il tasto destro del mouse sulla partizione formattata e seleziona Estendi volume.

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

  7. Segui le istruzioni della 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 delle dimensioni del cluster.

  8. Dopo aver completato la procedura guidata e 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, verifica che l'istanza sia Online con uno stato Integro.

Non è necessario riavviare la VM dopo aver completato il processo. Ora puoi utilizzare lo spazio su disco aggiunto per archiviare i dati.

Passaggi successivi