Créez et associez un disque non amorçable à votre machine virtuelle (VM) en suivant les instructions de cette page.
Avant de commencer
Pour utiliser les commandes de l'interface de ligne de commande (CLI) gdcloud
, assurez-vous d'avoir téléchargé, installé et configuré la CLI gdcloud
.
Toutes les commandes pour Distributed Cloud utilisent la CLI gdcloud
ou kubectl
et nécessitent un environnement de système d'exploitation (OS).
Obtenir le chemin d'accès au fichier kubeconfig
Pour exécuter des commandes sur le serveur de l'API Management, assurez-vous de disposer des ressources suivantes :
Connectez-vous et générez le fichier kubeconfig pour le serveur d'API Management si vous n'en avez pas.
Utilisez le chemin d'accès au fichier kubeconfig du serveur de l'API Management pour remplacer
MANAGEMENT_API_SERVER
dans ces instructions.
Demander des autorisations et un accès
Pour effectuer les tâches listées sur cette page, vous devez disposer du rôle Administrateur VirtualMachine du projet. Suivez les étapes pour vérifier que vous disposez du rôle Administrateur VirtualMachine du projet (project-vm-admin
) dans l'espace de noms du projet dans lequel réside la VM.
Pour les opérations sur les VM à l'aide de la console GDC ou de la CLI gdcloud, demandez à votre administrateur IAM de projet de vous attribuer le rôle Administrateur de machines virtuelles du projet et le rôle Lecteur du projet (project-viewer
).
Associer un disque à une VM
Créez et associez des disques non amorçables à votre VM. Chaque disque supplémentaire peut spécifier une image personnalisée ou un disque vide. Vous pouvez ajouter plusieurs disques à la fois à une VM.
Console
Dans le menu de navigation, cliquez sur Machines virtuelles > Instances.
Dans la liste des VM, cliquez sur le nom d'une VM pour afficher ses détails.
Cliquez sur Ajouter un disque.
Dans la boîte de dialogue de confirmation, cliquez sur Arrêter pour arrêter la VM.
Attendez quelques minutes que la VM s'arrête.
Cliquez sur Actualiser.
Lorsque la VM est à l'état arrêté, cliquez à nouveau sur Ajouter un disque.
Dans la boîte de dialogue "Ajouter un disque", choisissez un nouveau disque ou un disque existant.
Pour provisionner un disque, cliquez sur l'onglet Nouveau disque.
- Dans le champ Nom du disque, saisissez un nom de disque unique au projet.
- Dans le champ Taille, saisissez une taille de disque comprise entre 10 et 65 536 Gio. Par exemple, 10 Gio.
- Dans la section Règle de suppression, cliquez sur Conserver le disque ou Supprimer le disque.
Pour choisir un disque existant, cliquez sur l'onglet Disque existant.
- Dans la liste Disque, sélectionnez un disque.
- Dans la section "Règle de suppression", cliquez sur Conserver le disque ou Supprimer le disque.
Cliquez sur Enregistrer. Le disque apparaît dans la liste des disques de la VM.
API
Créez un
VirtualMachineDisk
:kubectl --kubeconfig MANAGEMENT_API_SERVER apply -n PROJECT -f - <<EOF apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachineDisk metadata: name: NON_BOOT_BLANK_DISK spec: size: NON_BOOT_BLANK_DISK_SIZE EOF
Ajoutez
VirtualMachineDisk
à l'spec.disks
VirtualMachine
existant :kubectl --kubeconfig MANAGEMENT_API_SERVER edit virtualmachines.virtualmachine.gdc.goog -n PROJECT VM_NAME
Modifiez les éléments suivants dans votre éditeur de texte :
... disks: - virtualMachineDiskRef: name: VM_BOOT_DISK_NAME boot: true - virtualMachineDiskRef: name: NON_BOOT_BLANK_DISK autoDelete: false ...
Remplacez les variables en utilisant les définitions suivantes.
Variable Définition MANAGEMENT_API_SERVER
Fichier kubeconfig du serveur de l'API Management. PROJECT
Projet Google Distributed Cloud air-gapped (GDC) dans lequel créer la VM. VM_NAME
Nom de la nouvelle VM. VM_BOOT_DISK_NAME
Nom du nouveau disque de démarrage de la VM. NON_BOOT_BLANK_DISK
Nom de votre disque supplémentaire. NON_BOOT_BLANK_DISK_SIZE
Taille de vos disques supplémentaires, par exemple 20G
.
Formater et installer un disque non amorçable
Après avoir associé un disque à la VM, effectuez les étapes nécessaires suivantes pour le rendre accessible dans la VM.
Se connecter à la VM
Connectez-vous en SSH à la VM.
Formater le disque
Répertoriez les disques associés à votre instance par numéro de série, puis recherchez le disque que vous souhaitez formater et installer.
ls -l /dev/disk/by-id/
Cet exemple de résultat affiche les noms des disques sous forme de numéros de série :
total 0 lrwxrwxrwx 1 root root 9 Sep 13 23:51 ata-QEMU_HARDDISK_agentSADisk -> ../../sdc lrwxrwxrwx 1 root root 9 Sep 13 23:51 scsi-0ATA_QEMU_HARDDISK_agentSADisk -> ../../sdc lrwxrwxrwx 1 root root 9 Sep 13 23:51 scsi-0QEMU_QEMU_HARDDISK_vm-disk-boot -> ../../sda lrwxrwxrwx 1 root root 10 Sep 13 23:51 scsi-0QEMU_QEMU_HARDDISK_vm-disk-boot-part1 -> ../../sda1 lrwxrwxrwx 1 root root 11 Sep 13 23:51 scsi-0QEMU_QEMU_HARDDISK_vm-disk-boot-part14 -> ../../sda14 lrwxrwxrwx 1 root root 11 Sep 13 23:51 scsi-0QEMU_QEMU_HARDDISK_vm-disk-boot-part15 -> ../../sda15 lrwxrwxrwx 1 root root 9 Sep 13 23:51 scsi-0QEMU_QEMU_HARDDISK_vm-disk-data -> ../../sdb lrwxrwxrwx 1 root root 9 Sep 13 23:51 scsi-1ATA_QEMU_HARDDISK_agentSADisk -> ../../sdc lrwxrwxrwx 1 root root 9 Sep 13 23:51 scsi-SATA_QEMU_HARDDISK_agentSADisk -> ../../sdc lrwxrwxrwx 1 root root 9 Sep 13 23:51 scsi-SQEMU_QEMU_HARDDISK_vm-disk-boot -> ../../sda lrwxrwxrwx 1 root root 10 Sep 13 23:51 scsi-SQEMU_QEMU_HARDDISK_vm-disk-boot-part1 -> ../../sda1 lrwxrwxrwx 1 root root 11 Sep 13 23:51 scsi-SQEMU_QEMU_HARDDISK_vm-disk-boot-part14 -> ../../sda14 lrwxrwxrwx 1 root root 11 Sep 13 23:51 scsi-SQEMU_QEMU_HARDDISK_vm-disk-boot-part15 -> ../../sda15 lrwxrwxrwx 1 root root 9 Sep 13 23:51 scsi-SQEMU_QEMU_HARDDISK_vm-disk-data -> ../../sdb
Les informations qui suivent la flèche,
->
, sur chaque ligne indiquent le nom de l'appareil de disque. Par exemple, dansscsi-SQEMU_QEMU_HARDDISK_vm-disk-data -> ../../sdb
, le numéro de série estscsi-SQEMU_QEMU_HARDDISK_vm-disk-data
et le nom de l'appareil estsdb
.Identifiez le numéro de série de votre disque dans cette liste.
Comportements importants des fonctionnalités situationnelles qui peuvent affecter la liste des numéros de série :
- Si la valeur
virtualMachineDiskRef.name
comporte plus de 20 caractères, seuls les 20 premiers caractères sont utilisés comme numéro de série. - S'il existe deux disques avec les mêmes 20 premiers caractères, seul le premier disque possède un numéro de série.
- Si la valeur
Formatez le disque :
sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/disk/by-id/DISK_ID
- Remplacez
DISK_ID
par le numéro de série du disque que vous formatez. - Pour cet exemple, spécifiez
scsi-SQEMU_QEMU_HARDDISK_vm-disk-data
pour formater le disque entier sans table de partition.
Pour optimiser les performances du disque, utilisez les options de formatage recommandées dans l'indicateur -E
. Comme vous n'avez pas besoin de réserver de l'espace pour le volume racine sur votre disque secondaire, spécifiez -m 0
pour utiliser tout l'espace disque disponible.
Installer le disque
Créez un répertoire qui va servir de point d'installation pour le nouveau disque. Vous pouvez utiliser n'importe quel répertoire. L'exemple suivant crée un répertoire dans
/mnt/disks/
:sudo mkdir -p /mnt/disks/MOUNT_DIR
Remplacez
MOUNT_DIR
par le répertoire dans lequel vous souhaitez installer le disque.Installez le disque sur l'instance et activez l'option "discard" :
sudo mount -o discard,defaults /dev/disk/by-id/DISK_ID /mnt/disks/MOUNT_DIR
Remplacez les éléments suivants :
DISK_ID
par le numéro de série du disque à installer.MOUNT_DIR
par le répertoire dans lequel vous souhaitez installer le disque.
Facultatif : Configurez les autorisations de lecture et d'écriture sur le disque. La commande suivante accorde un accès en écriture,
a+w
, au disque pour tous les utilisateurs.sudo chmod a+w /mnt/disks/MOUNT_DIR
Facultatif : Configurez l'installation automatique au redémarrage de la VM à l'aide de l'identifiant unique universel (UUID) ou du script de démarrage.
Configurer l'installation automatique au redémarrage de la VM : UUID du disque
Ajoutez le disque à votre fichier /etc/fstab
, afin qu'il soit installé de nouveau automatiquement au redémarrage de la VM. Sur un système d'exploitation (OS), le nom de l'appareil change à 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. Par conséquent, utilisez toujours l'UUID de l'appareil pour configurer l'installation automatique au redémarrage de la VM.
Créez une sauvegarde de votre fichier
/etc/fstab
actuel :sudo cp /etc/fstab /etc/fstab.backup
Répertoriez l'UUID du disque :
sudo blkid /dev/DEVICE_NAME
L'exemple de résultat affiche l'UUID de
accc19c5-d0d6-4157-9672-37d4e1d48eb5
pour le disque./dev/sdb: UUID="accc19c5-d0d6-4157-9672-37d4e1d48eb5" TYPE="ext4"
DEVICE_NAME
correspond au nom de l'appareil 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 un suffixe au nom de l'appareil. Par exemple, sisdb
est le nom de l'appareil du disque et que vous souhaitez installer la partition 1,DEVICE_NAME
devientsdb1
.Ouvrez le fichier
/etc/fstab
dans un éditeur de texte, puis créez une entrée comprenant l'UUID :UUID=UUID_VALUE /mnt/disks/MOUNT_DIR ext4 discard,defaults,MOUNT_OPTION 0 2
Remplacez les éléments suivants :
UUID_VALUE
avec le disqueUUID
, répertorié dans le résultat de la commande Lister l'UUID.- Remplacez
MOUNT_DIR
par le répertoire dans lequel vous avez installé le disque. MOUNT_OPTION
avec la valeurMOUNT_OPTION
pour votre OS, qui indique ce que l'OS fait s'il ne peut pas installer le disque au démarrage.
Vérifiez que vos entrées
/etc/fstab
sont correctes :cat /etc/fstab
Voici un exemple de résultat :
LABEL=cloudimg-rootfs / ext4 defaults 0 1 LABEL=UEFI /boot/efi vfat umask=0077 0 1 UUID=UUID_VALUE /mnt/disks/MOUNT_DIR ext4 discard,defaults,MOUNT_OPTION 0 2
Si vous dissociez ce disque ou créez un instantané à partir du disque de démarrage pour cette VM, modifiez le fichier /etc/fstab
et supprimez l'entrée correspondant à ce disque. Même si MOUNT_OPTION
est défini sur nofail
ou nobootwait
, gardez le fichier /etc/fstab
synchronisé avec les appareils associés à votre VM. Supprimez ces entrées avant de créer l'instantané du disque de démarrage ou de dissocier le disque.
Configurer l'installation automatique au redémarrage de la VM : script de démarrage de la VM
Vous pouvez également utiliser un script de démarrage pour monter le disque à chaque redémarrage en ajoutant les commandes de la section Monter le disque à un script de démarrage. Avant d'ajouter le script pour installer le disque, formatez-le à l'aide des commandes de la section Formater le disque.
Créez le secret du script de démarrage.
cat <<EOF >>mount-disk-script #!/bin/bash mkdir -p /mnt/disks/MOUNT_DIR mount -o discard,defaults /dev/disk/by-id/DISK_ID /mnt/disks/MOUNT_DIR EOF
kubectl create secret -n PROJECT generic VM_NAME-mount-script --from-file=script=mount-disk-script
rm mount-disk-script
Ajoutez le script de démarrage à la VM.
kubectl --kubeconfig MANAGEMENT_API_SERVER edit virtualmachines.virtualmachine.gdc.goog -n PROJECT VM_NAME
Modifiez
spec.startupScripts
pour inclure le nom du secret.apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachine metadata: name: VM_NAME namespace: PROJECT spec: … startupScripts: - name: mount-script scriptSecretRef: name: VM_NAME-mount-script
Pour en savoir plus sur la configuration des scripts de démarrage, consultez.