Formater et installer un disque non amorçable sur une VM Linux


Si vous avez associé un nouveau disque vide à votre VM, vous devez le formater et l'installer avant de pouvoir l'utiliser. Si vous avez associé un disque contenant déjà des données, vous devez l'installer avant de pouvoir l'utiliser.

Avant de commencer

  • Si ce n'est pas déjà fait, configurez l'authentification. L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud. Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine comme suit :

    Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :

    Console

    Lorsque vous utilisez la console Google Cloud pour accéder aux services et aux API Google Cloud, vous n'avez pas besoin de configurer l'authentification.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Définissez une région et une zone par défaut.

    REST

    Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.

      Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init

Se connecter à la VM

  1. Accédez à la page Instances de VM.

    Accéder à la page "Instances de VM"

  2. Cliquez sur le bouton SSH en regard de l'instance contenant le nouveau disque associé. Le navigateur ouvre une connexion de terminal vers la VM.

Formater un disque non amorçable sur une VM Linux

  1. Dans le terminal, utilisez le lien symbolique créé pour votre disque associé afin de déterminer l'appareil à formater.

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

    Les disques non formatés ne contiennent pas de liens symboliques supplémentaires avec -partN dans le nom.

     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
    

    Dans cet exemple, le disque Persistent Disk a été créé avec le nom extra-scsi-disk. Le nom d'appareil pour le nouveau disque est sdb.

  2. Formatez le disque à l'aide de l'outil mkfs. Cette commande supprime toutes les données du disque spécifié. Assurez-vous donc de bien spécifier le disque concerné.

    Vous pouvez utiliser le format de fichier de votre choix. Toutefois, nous vous recommandons de n'utiliser qu'un seul système de fichiers ext4 sans table de partition. Vous pouvez augmenter la taille de votre disque ultérieurement, sans avoir à modifier les partitions de disque.

    Pour optimiser les performances du disque, utilisez les options de formatage recommandées dans l'option -E. Il n'est pas nécessaire de réserver de l'espace pour la racine sur ce disque secondaire. Par conséquent, spécifiez -m 0 pour utiliser tout l'espace disque disponible. La commande suivante formate le disque entier, sans définir de table de partitionnement.

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

    Remplacez les éléments suivants :

    • FILE_SYSTEM_TYPE : le type de système de fichiers. Par exemple, ext2, ext3, ext4 ou xfs.
    • DEVICE_NAME : le nom de l'appareil du disque que vous formatez. Par exemple, en utilisant l'exemple de sortie de la première étape, vous devriez utiliser sdb comme nom d'appareil.

Installer le disque

  1. Créez un répertoire servant de point d'installation pour le nouveau disque sur la VM. Vous pouvez utiliser n'importe quel répertoire. Dans cet exemple, un nouveau répertoire est créé sous /mnt/disks/.

    $ sudo mkdir -p /mnt/disks/MOUNT_DIR
    

    Remplacez MOUNT_DIR par le répertoire dans lequel installer le disque.

  2. Utilisez l'outil mount pour installer le disque sur l'instance et activez l'option discard :

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

    Remplacez les éléments suivants :

    • DEVICE_NAME : nom du disque à installer.
    • MOUNT_DIR : répertoire dans lequel installer votre disque.
  3. Configurez les autorisations de lecture et d'écriture sur l'appareil. Dans l'exemple ci-dessous, nous allons accorder à tous les utilisateurs un accès en écriture au disque :

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

    Remplacez MOUNT_DIR par le répertoire dans lequel vous avez installé le disque.

Configurer l'installation automatique au redémarrage de la VM

Ajoutez le disque à votre fichier /etc/fstab, afin qu'il soit installé de nouveau automatiquement au redémarrage de la VM. Sur les systèmes d'exploitation Linux, le nom de l'appareil peut changer à chaque redémarrage, mais l'UUID de l'appareil pointe toujours vers le même volume, même lorsque vous déplacez des disques entre les systèmes. C'est pourquoi nous vous recommandons d'utiliser l'UUID de l'appareil plutôt que son nom pour configurer l'installation automatique au redémarrage de la VM.

  1. Créez une sauvegarde de votre fichier /etc/fstab actuel.

    $ sudo cp /etc/fstab /etc/fstab.backup
    
  2. Exécutez la commande blkid pour répertorier l'UUID du disque.

    $ 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"
    

    Remplacez l'élément suivant :

    • DEVICE_NAME : nom du disque que vous souhaitez installer automatiquement. Si vous avez créé une table de partition sur le disque, spécifiez la partition à installer en ajoutant le suffixe au nom de l'appareil. Par exemple, si sdb correspond au nom de l'appareil pour le disque, sdb1 peut être le nom de la partition.
  3. Ouvrez le fichier /etc/fstab dans un éditeur de texte, puis créez une entrée comprenant l'UUID. Exemple :

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

    Remplacez l'élément suivant :

    • UUID_VALUE : UUID du disque, répertorié dans le résultat de l'étape précédente.
    • MOUNT_DIR : répertoire dans lequel vous avez installé le disque.
    • FILE_SYSTEM_TYPE : le type de système de fichiers. Par exemple, ext2, ext3, ext4, ou xfs.
    • MOUNT_OPTION : indique ce que le système d'exploitation fait s'il ne peut pas installer le disque zonal persistant au démarrage. Pour connaître les valeurs valides, consultez le champ 4 dans la documentation Linux fstab. Pour permettre au système de démarrer même si le disque n'est pas disponible, utilisez l'option d'installation nofail.
  4. Utilisez la commande cat suivante pour vérifier que les entrées /etc/fstab sont correctes :

    $ 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
    
    

Gardez toujours le fichier /etc/fstab synchronisé avec les appareils associés à une VM. Si vous souhaitez dissocier un disque ou créer un instantané à partir du disque de démarrage d'une VM, modifiez le fichier /etc/fstab et supprimez l'entrée correspondant au disque. Même si vous définissez MOUNT_OPTION sur nofail ou nobootwait, supprimez l'entrée avant de créer l'instantané du disque de démarrage ou de dissocier le disque.

Étapes suivantes