Disques et système de fichiers

Cette page présente Container-Optimized OS du système de fichiers Google et explique comment installer et formater des disques.

Système de fichiers

Le système de fichiers racine est installé en lecture seule pour protéger l'intégrité du système. Cependant, les répertoires d'accueil et /mnt/stateful_partition sont persistants et accessibles en écriture.

Vous trouverez ci-dessous la liste des chemins du système de fichiers dans l'image de nœud Container-Optimized OS, ainsi que leurs propriétés et leur utilisation recommandée :

Chemin Propriétés Objectif
/
  • lecture seule
  • exécutable
Le système de fichiers racine est utilisé en lecture seule pour préserver son intégrité. Le noyau vérifie l'intégrité du système de fichiers racine lors du démarrage et refuse de démarrer en cas d'erreur.
/home
/var
  • accessible en écriture
  • non-exécutable
  • avec état
Ces chemins d'accès sont destinés à stocker des données qui sont conservées pendant toute la durée de vie du disque de démarrage. Ils sont installés à partir de /mnt/stateful_partition.
/var/lib/google
/var/lib/docker
/var/lib/toolbox
  • accessible en écriture
  • exécutable
  • avec état
Ces chemins sont des répertoires de travail pour les packages Compute Engine (par exemple, le service de gestion des comptes), Docker et Toolbox.
/var/lib/cloud
  • accessible en écriture
  • exécutable
  • sans état
  • tmpfs
Ce chemin d'accès est le répertoire de travail du package cloud-init.
/etc
  • accessible en écriture
  • non-exécutable
  • sans état
  • tmpfs
/etc contient généralement votre configuration (par exemple, les services systemd définis via cloud-init). Il est judicieux d'enregistrer l'état souhaité de vos instances dans cloud-init, car cloud-init est appliqué lors de la création, ainsi que lors du redémarrage d'une instance.
/tmp
  • accessible en écriture
  • non-exécutable
  • sans état
  • tmpfs
/tmp est généralement utilisé comme espace de travail et ne doit pas être utilisé pour stocker des données persistantes.
/mnt/disks
  • accessible en écriture
  • exécutable
  • sans état
  • tmpfs
Vous pouvez installer des disques persistants dans des répertoires situés sous /mnt/disks.

Installer et formater des disques

Vous pouvez associer un disque persistant ou créer une instance avec des disques SSD locaux lorsque vous utilisez Container-Optimized OS de Google. Suivez les instructions des pages Formater et installer un disque persistant ou Formater et installer un disque dur SSD local pour trouver le cas d'utilisation approprié.

Les disques peuvent être installés en créant un sous-répertoire dans le répertoire /mnt/disks. Étant donné que /etc/ est sans état sur Container-Optimized OS, vous ne pouvez pas utiliser /etc/fstab pour faire une vérification automatique de la cohérence du système de fichiers et installer les disques au démarrage. Cependant, vous pouvez obtenir le même résultat en effectuant ces opérations à partir de la section bootcmd dans votre cloud-config. Exemple :

#cloud-config

bootcmd:
- fsck.ext4 -tvy /dev/[DEVICE_ID]
- mkdir -p /mnt/disks/[MNT_DIR]
- mount -t ext4 -O ... /dev/[DEVICE_ID] /mnt/disks/[MNT_DIR]

où :

  • [DEVICE_ID] est l'ID d'appareil du disque que vous souhaitez formater et installer.
  • [MNT_DIR] est le répertoire dans lequel installer votre disque.

Veuillez consulter la documentation Linux pour connaître l'ensemble des options compatibles avec les commandes fsck.ext4 et mount.

Pour une instance existante, utilisez l'option --metadata-from-file pour mettre à jour les métadonnées cloud-init :

gcloud compute instances add-metadata instance-name \
    --metadata-from-file user-data=filename

Remplacez les éléments suivants :

  • instance-name : nom de votre instance de VM.
  • filename : nom du fichier de métadonnées.