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_SERVERdans 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 \ -n PROJECT \ apply -f - <<EOF apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachineDisk metadata: name: NON_BOOT_BLANK_DISK spec: size: NON_BOOT_BLANK_DISK_SIZE EOFAjoutez
VirtualMachineDiskà l'spec.disksVirtualMachineexistant :kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ edit virtualmachines.virtualmachine.gdc.goog VM_NAMEModifiez 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_SERVERFichier kubeconfig du serveur de l'API Management. PROJECTProjet Google Distributed Cloud air-gapped (GDC) dans lequel créer la VM. VM_NAMENom de la nouvelle VM. VM_BOOT_DISK_NAMENom du nouveau disque de démarrage de la VM. NON_BOOT_BLANK_DISKNom de votre disque supplémentaire. NON_BOOT_BLANK_DISK_SIZETaille 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 -> ../../sdbLes 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-dataet 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.namecomporte 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_IDpar le numéro de série du disque que vous formatez. - Pour cet exemple, spécifiez
scsi-SQEMU_QEMU_HARDDISK_vm-disk-datapour 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_DIRRemplacez
MOUNT_DIRpar 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_DIRRemplacez les éléments suivants :
DISK_IDpar le numéro de série du disque à installer.MOUNT_DIRpar 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_DIRFacultatif : 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/fstabactuel :sudo cp /etc/fstab /etc/fstab.backupRépertoriez l'UUID du disque :
sudo blkid /dev/DEVICE_NAMEL'exemple de résultat affiche l'UUID de
accc19c5-d0d6-4157-9672-37d4e1d48eb5pour le disque./dev/sdb: UUID="accc19c5-d0d6-4157-9672-37d4e1d48eb5" TYPE="ext4"DEVICE_NAMEcorrespond 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, sisdbest le nom de l'appareil du disque et que vous souhaitez installer la partition 1,DEVICE_NAMEdevientsdb1.Ouvrez le fichier
/etc/fstabdans 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 2Remplacez les éléments suivants :
UUID_VALUEavec le disqueUUID, répertorié dans le résultat de la commande Lister l'UUID.- Remplacez
MOUNT_DIRpar le répertoire dans lequel vous avez installé le disque. MOUNT_OPTIONavec la valeurMOUNT_OPTIONpour 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/fstabsont correctes :cat /etc/fstabVoici 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 EOFkubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ create secret generic VM_NAME-mount-script \ --from-file=script=mount-disk-scriptrm mount-disk-scriptAjoutez le script de démarrage à la VM.
kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ edit virtualmachines.virtualmachine.gdc.goog VM_NAMEModifiez
spec.startupScriptspour 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.