Laufwerke und Dateisystem

Auf dieser Seite erhalten Sie eine Übersicht über das Container-Optimized OS aus dem Google-Dateisystem. Außerdem wird beschrieben, wie Sie Laufwerke bereitstellen und formatieren.

Dateisystem

Das Root-Dateisystem wird zur Wahrung der Systemintegrität schreibgeschützt zur Verfügung gestellt. Die Basisverzeichnisse und /mnt/stateful_partition sind jedoch persistent und beschreibbar.

Es folgt eine Liste der Pfade im Dateisystem des Container-Optimized OS-Knoten-Images mit ihren Attributen und der empfohlenen Verwendung:

Pfad Attribute Zweck
/
  • Schreibgeschützt
  • Ausführbar
Das Root-Dateisystem wird zur Wahrung der Integrität schreibgeschützt zur Verfügung gestellt. Der Kernel überprüft die Integrität des Root-Dateisystems beim Starten und verweigert den Start, wenn Fehler vorliegen.
/home
/var
  • Bearbeitbar
  • Nicht ausführbar
  • Zustandsorientiert
Diese Pfade dienen zum Speichern von Daten, die für die Lebensdauer des Startdatenträgers bestehen bleiben. Sie werden über /mnt/stateful_partition bereitgestellt.
/var/lib/google
/var/lib/docker
/var/lib/toolbox
  • Bearbeitbar
  • Ausführbar
  • Zustandsorientiert
Diese Pfade sind Arbeitsverzeichnisse für Compute Engine-Pakete (z. B. den Account Manager-Dienst), Docker und die Toolbox.
/var/lib/cloud
  • Bearbeitbar
  • Ausführbar
  • Zustandslos
  • tmpfs
Dieser Pfad ist das Arbeitsverzeichnis des cloud-init-Pakets.
/etc
  • Bearbeitbar
  • Nicht ausführbar
  • Zustandslos
  • tmpfs
/etc enthält normalerweise Ihre Konfiguration. Beispiel: über cloud-init definierte Services vom Typ systemd. Es empfiehlt sich, den gewünschten Status Ihrer Instanzen in cloud-init zu erfassen, da cloud-init zur Anwendung kommt, wenn eine Instanz neu erstellt und wenn eine Instanz neu gestartet wird.
/tmp
  • Bearbeitbar
  • Nicht ausführbar
  • Zustandslos
  • tmpfs
/tmp wird normalerweise als temporärer Speicherbereich verwendet und sollte nicht zum Speichern von nichtflüchtigen Daten genutzt werden.
/mnt/disks
  • Bearbeitbar
  • Ausführbar
  • Zustandslos
  • tmpfs
Sie können persistente Festplatten in Verzeichnissen unter /mnt/disks bereitstellen.

Laufwerke bereitstellen und formatieren

Wenn das Container-Optimized OS von Google verwendet wird, können Sie nichtflüchtigen Speicher hinzufügen oder eine Instanz mit lokalen SSDs erstellen. Folgen Sie je nach Anwendungsfall der Anleitung Nichtflüchtigen Speicher formatieren und bereitstellen oder Lokales SSD-Gerät formatieren und bereitstellen.

Zum Bereitstellen der Laufwerke erstellen Sie ein Unterverzeichnis unter dem Verzeichnis /mnt/disks. Da /etc/ unter Google Container-Optimized OS zustandslos ist, können Sie /etc/fstab nicht verwenden, um die Laufwerke beim Booten automatisch mithilfe von fsck (Dateisystemkonsistenzprüfung) zu überprüfen und bereitzustellen. Sie können dies jedoch erreichen, indem Sie diese Vorgänge vom Abschnitt bootcmd Ihrer cloud-configausführen. Beispiel:

#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]

wobei

  • [DEVICE_ID] ist die Geräte-ID des Laufwerks, das Sie formatieren und bereitstellen möchten.
  • [MNT_DIR] ist das Verzeichnis, in dem das Laufwerk bereitgestellt wird.

Eine vollständige Liste der von den Befehlen fsck.ext4 und mount unterstützten Optionen finden Sie in der Linux-Dokumentation.

Verwenden Sie für eine vorhandene Instanz das Flag --metadata-from-file, um cloud-init-Metadaten zu aktualisieren:

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

Dabei gilt:

  • instance-name ist der Name Ihrer VM-Instanz.
  • filename ist der Name der Metadatendatei.