Cette page a été traduite par l'API Cloud Translation.
Switch to English

Présentation des disques et des systèmes de fichiers

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

Système de fichiers

La structure du système de fichiers dans l'image de nœud Container-Optimized OS est optimisée pour améliorer la sécurité des nœuds. L'espace disque d'amorçage est divisé en trois types de partitions :

  • Partition racine, installée en lecture seule
  • Partitions avec état, accessibles en écriture et avec état
  • Partitions sans état, accessibles en écriture, mais dont le contenu ne persiste pas après un redémarrage

Lorsque vous utilisez Container-Optimized OS, tenez compte du partitionnement si vous exécutez vos propres services ayant certaines exigences concernant l'organisation du système de fichiers en dehors des conteneurs.

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

Travailler avec le système de fichiers de Container-Optimized OS

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 d'accès sont des répertoires de travail pour les packages Compute Engine (par exemple, le service de gestion des comptes), Docker et Toolbox, respectivement.
/var/lib/cloud
  • accessible en écriture
  • exécutable
  • sans état
  • tmpfs
Ce chemin correspond au répertoire de travail du package cloud-init.
/etc
  • accessible en écriture
  • non-exécutable
  • sans état
  • tmpfs
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
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 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. L'exemple suivant permet d'installer le disque DEVICE_ID sous /mnt/disks.

Commencez par créer un fichier de script nommé FILENAME à l'aide du contenu suivant:

#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

Remplacez l'élément suivant :

  • DEVICE_ID: ID d'appareil du disque que vous souhaitez formater et installer.
  • MNT_DIR: répertoire dans lequel installer votre disque.

Reportez-vous à la documentation Linux pour connaître l'ensemble des options compatibles avec les commandes fsck.ext4 et mount.

La dernière étape consiste à mettre à jour les métadonnées de la VM pour inclure le script FILENAME.

Nous pouvons utiliser l'indicateur --metadata-from-file pour mettre à jour les métadonnées de la VM:

Pour créer une VM,

gcloud compute instances create INSTANCE_NAME \
    --metadata-from-file user-data=FILENAME

Pour une instance existante,

gcloud compute instances add-metadata INSTANCE_NAME 
--metadata-from-file user-data=FILENAME

Remplacez l'élément suivant :

  • INSTANCE_NAME : nom de votre instance de VM.
  • FILENAMEcode>: nom du fichier de métadonnées