Aumentare le dimensioni di un disco permanente


Puoi aumentare le dimensioni del disco permanente quando l'istanza della macchina virtuale (VM) richiede spazio di archiviazione aggiuntivo o limiti di prestazioni superiori. Puoi aumentare le dimensioni del disco in qualsiasi momento, indipendentemente dal fatto che sia collegato o meno 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 Modificare le impostazioni di un HyperDisk.

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.

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 del disco, ma come buona prassi, prima di apportare modifiche 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 puoi 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 è 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.

Aumentare le dimensioni di un disco

Per aumentare le dimensioni di un disco di avvio o di un disco 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 di cui vuoi modificare le dimensioni.

  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. 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. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

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

    gcloud compute disks resize DISK_NAME --size DISK_SIZE
    

    Sostituisci quanto segue:

    • DISK_NAME: il nome del disco di cui vuoi modificare le dimensioni.
    • DISK_SIZE: le nuove dimensioni, in gigabyte, del disco. I dischi con tabelle di partizione MBR possono essere ridimensionati 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 alle dimensioni dell'immagine o dello snapshot.

Se ometti i parametri image e snapshot, puoi impostare il parametro size su un valore inferiore alle dimensioni del disco esistenti. In questo modo, Terraform distrugge il disco e ne crea uno nuovo vuoto. Durante la re-creazione, Terraform non copia altri dati che non sono inclusi anche nella configurazione di Terraform, ad esempio 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 al 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 di cui vuoi ridimensionare le dimensioni.
  • DISK_SIZE: le nuove dimensioni, in gigabyte, del disco. I dischi con tabelle di partizione MBR possono essere ridimensionati solo fino a 2 TB.

Ridimensionare 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 quelli 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.

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 di dati non di avvio senza tabella delle partizioni. 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 con il nuovo disco collegato, fai clic sul pulsante SSH. Il browser apre una connessione di 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 è stato modificato il ridimensionamento in 20 GB. La tabella delle partizioni e il file system forniscono al sistema operativo solo 9,7 GB.
    • Disco dati non di avvio: il disco dati non di avvio /dev/sdb non ha tabella delle partizioni, 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 filesystem radice e il disco /dev/sdb è montato come disco di 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
    
    o per visualizzare le informazioni solo per un disco specifico:
    sudo parted -l /dev/DEVICE_NAME
    
    cerca il campo Partition Table (Tabella delle partizioni). Se il valore è msdos, il disco ha un tipo di partizione MBR. Ciò significa che la dimensione massima di questo disco sarebbe di 2 TB.

  5. Ridimensiona la partizione principale e il file system sul disco di avvio. Questo esempio assume che l'immagine VM non supporti il partizionamento automatico della radice 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 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 delle partizioni 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 di 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. Puoi trovare 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. Puoi trovare 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.

    Seleziona lo strumento Gestione disco di Windows dal menu del 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 un disco di questo tipo è 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 zonale permanente 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 di archiviazione 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 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 con 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