Formattare e montare un disco non di avvio su una VM Linux


Se hai collegato un nuovo disco vuoto alla VM, prima di poterlo utilizzare devi formattarlo e montarlo. Se hai collegato un disco che contiene già dati, devi montarlo prima di poterlo utilizzare.

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

Connettiti alla VM

  1. Vai alla pagina Istanze VM.

    Vai alla pagina Istanze VM

  2. Fai clic sul pulsante SSH accanto all'istanza con il nuovo disco collegato. Il browser apre una connessione di terminale alla VM.

Formattare un disco non di avvio su una VM Linux

  1. Nel terminale, utilizza il symlink creato per il disco collegato per determinare quale dispositivo formattare.

     ls -l /dev/disk/by-id/google-*
    

    I dischi non formattati non hanno link simbolici aggiuntivi con -partN nel nome.

     google-extra-scsi-disk -> ../../sdb
     google-instance-2 -> ../../sda
     google-instance-2-part1 -> ../../sda1
     google-instance-2-part14 -> ../../sda14
     google-instance-2-part15 -> ../../sda15
     google-local-nvme-ssd-0 -> ../../nvme0n1
     google-local-nvme-ssd-1 -> ../../nvme0n2
    

    In questo esempio, il nuovo Persistent Disk è stato creato con il nome extra-scsi-disk. Il nome del dispositivo per il nuovo disco è sdb.

  2. Formatta il dispositivo disco utilizzando lo strumento mkfs. Questo comando elimina tutti i dati dal disco specificato, quindi assicurati di specificare correttamente il dispositivo disco.

    Puoi utilizzare qualsiasi formato file necessario, ma ti consigliamo un singolo file system ext4 senza una tabella delle partizioni. Puoi aumentare le dimensioni del disco in un secondo momento senza dover modificare le partizioni del disco.

    Per massimizzare le prestazioni del disco, utilizza le opzioni di formattazione consigliate con il flag -E. Non è necessario riservare spazio per il volume principale su questo disco secondario, quindi specifica -m 0 per utilizzare tutto lo spazio su disco disponibile. Il seguente comando formatta l'intero disco senza tabella delle partizioni.

     $ sudo mkfs.FILE_SYSTEM_TYPE -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/DEVICE_NAME
     

    Sostituisci quanto segue:

    • FILE_SYSTEM_TYPE: il tipo di file system. Ad esempio, ext2, ext3, ext4 o xfs.
    • DEVICE_NAME: il nome del dispositivo del disco che stai formattando. Ad esempio, utilizzando l'output di esempio del primo passaggio, dovrai utilizzare sdb per il nome del dispositivo.

Monta il disco

  1. Crea una directory che funga da punto di montaggio per il nuovo disco sulla VM. Puoi utilizzare qualsiasi directory. L'esempio seguente crea una directory in /mnt/disks/.

    $ sudo mkdir -p /mnt/disks/MOUNT_DIR
    

    Sostituisci MOUNT_DIR con la directory in cui montare il disco.

  2. Utilizza lo strumento mount per montare il disco sull'istanza e attiva l'opzione discard:

    $ sudo mount -o discard,defaults /dev/DEVICE_NAME /mnt/disks/MOUNT_DIR
    

    Sostituisci quanto segue:

    • DEVICE_NAME: il nome del dispositivo del disco da montare.
    • MOUNT_DIR: la directory in cui montare il disco.
  3. Configura le autorizzazioni di lettura e scrittura sul disco. Per questo esempio, concedi l'accesso in scrittura al disco a tutti gli utenti.

    $ sudo chmod a+w /mnt/disks/MOUNT_DIR
    

    Sostituisci MOUNT_DIR con la directory in cui hai montato il disco.

Configurare il montaggio automatico al riavvio della VM

Aggiungi il disco al file /etc/fstab in modo che venga montato di nuovo automaticamente al riavvio della VM. Sui sistemi operativi Linux, il nome del dispositivo può cambiare a ogni riavvio, ma l'UUID del dispositivo fa sempre riferimento allo stesso volume, anche quando sposti i dischi da un sistema all'altro. Per questo motivo, consigliamo di utilizzare l'UUID del dispositivo anziché il nome del dispositivo per configurare il montaggio automatico al riavvio della VM.

  1. Crea un backup del file /etc/fstab corrente.

    $ sudo cp /etc/fstab /etc/fstab.backup
    
  2. Utilizza il comando blkid per elencare l'UUID del disco.

    $ sudo blkid /dev/DEVICE_NAME
    
    /dev/DEVICE_NAME: UUID="a9e1c14b-f06a-47eb-adb7-622226fee060" BLOCK_SIZE="4096"
    TYPE="ext4" PARTUUID="593b3b75-108f-bd41-823d-b7e87d2a04d1"
    

    Sostituisci quanto segue:

    • DEVICE_NAME: il nome del dispositivo del disco che vuoi montare automaticamente. Se hai creato una tabella delle partizioni sul disco, specifica la partizione che vuoi montare aggiungendo il suffisso al nome del dispositivo. Ad esempio, se sdb è il nome del dispositivo per il disco, sdb1 potrebbe essere il nome della partizione.
  3. Apri il file /etc/fstab in un editor di testo e crea una voce che includa l'UUID. Ad esempio:

    UUID=UUID_VALUE /mnt/disks/MOUNT_DIR FILE_SYSTEM_TYPE discard,defaults,MOUNT_OPTION 0 2
    

    Sostituisci quanto segue:

    • UUID_VALUE: l'UUID del disco, elencato nell'output del passaggio precedente
    • MOUNT_DIR: la directory in cui hai montato il disco
    • FILE_SYSTEM_TYPE: il tipo di file system. Ad esempio, ext2, ext3, ext4 o xfs.
    • MOUNT_OPTION: specifica cosa fa il sistema operativo se non riesce a montare il disco permanente a livello di zona all'avvio. Per i valori validi, consulta Il quarto campo nella documentazione di Linux fstab. Per consentire l'avvio del sistema anche se il disco non è disponibile, utilizza l'opzione nofail mount.
  4. Utilizza il comando cat per verificare che le voci /etc/fstab siano corrette:

    $ cat /etc/fstab
    
    UUID=6B33-A686 /boot/efi vfat defaults 0 0
    UUID=UUID_VALUE /mnt/disks/MOUNT_DIR FILE_SYSTEM_TYPE discard,defaults,MOUNT_OPTION 0 2
    
    

Mantieni sempre sincronizzato il file /etc/fstab con i dispositivi collegati a una VM. Se vuoi scollegare un disco o creare uno snapshot dal disco di avvio per una VM, modifica il file /etc/fstab e rimuovi la voce relativa al disco. Anche se imposti MOUNT_OPTION su nofail o nobootwait, rimuovi la voce prima di creare lo snapshot del disco di avvio o scollegare il disco.

Passaggi successivi