Synchronisieren von Daten mit Object Storage

Sie können Daten auf beide Arten zwischen einem Lustre-Dateisystem und einem Object Storage-Bucket synchronisieren. Ziehen Sie Daten aus Object Storage in Lustre (Import-Daten), wenn Sie High-Speed-Zugriff für KI-Training oder Datenverarbeitung benötigen. Senden Sie die Ergebnisse anschließend zurück an Object Storage (Export-Daten), um einen kostengünstigen, langfristigen Speicher zu erhalten.

Um diese wechselseitige Synchronisierung einzurichten, verknüpfen Sie ein Lustre-Verzeichnis mit einem Object Storage-Bucket. Verwenden Sie diesen Link, um Objekte aus Object Storage in Lustre zu importieren und Dateien nach Bedarf aus Lustre wieder in Object Storage zu exportieren.

Wenn Sie einen Import oder Export starten, wird ein Job erstellt. Jeder Job hat eine eindeutige ID, mit der Sie Details anzeigen können.

Wenn Sie einen Import- oder Exportjob starten, werden alle geänderten Dateien und ihre Metadaten kopiert.

Voraussetzungen

Bevor Sie die Lustre-Objektsynchronisierung mit Object Storage einrichten, stellen Sie Folgendes sicher:
  • Sie haben mindestens einen Objektspeicher-Bucket in derselben Region und demselben Mandanten wie das Lustre-Dateisystem. Der regionsübergreifende oder mandantenübergreifende Import und Export wird nicht unterstützt.
  • Das Lustre-Dateisystem verfügt über ausreichend freien Speicherplatz für Datenimporte aus Object Storage.
  • Alle erforderlichen IAM-Berechtigungen sind konfiguriert.

Überlegungen

Beachten Sie diese Punkte, wenn Sie Dateien zwischen Lustre und Object Storage synchronisieren:
  • Jobs nur neue und geänderte Dateien kopieren: Beim ersten Export für einen Link werden alle Dateien im Lustre-Dateisystem in den Objektspeicher-Bucket kopiert, weil alles neu ist. Artikel, die vor dem Export im Bucket vorhanden waren, bleiben unverändert. Bei späteren Exporten werden nur Dateien kopiert, die neu sind oder seit dem letzten Job aktualisiert wurden. Löschvorgänge werden in keine Richtung gespiegelt.
  • Nicht kopierte Hardlinks und Änderungen nur bei Metadaten: Import- oder Exportjobs kopieren keine Dateien, wenn sich seit dem letzten Job nur ihre Metadaten (wie eine UID oder Änderungszeit) geändert haben. Denken Sie auch daran, dass, wenn Sie Dateien haben, die Inhalte über Hardlinks teilen, jede als separate Datei während des Imports und Exports behandelt wird - so verlieren Sie die harte Verbindung zwischen ihnen.
  • Einzelregion und Mandant: Sie können nur Dateien zwischen Objektspeicher-Buckets und Lustre-Dateisystemen importieren und exportieren, die sich in dieselbe Region und denselben Mandanten befinden. Sie können weder regions- noch mandantenübergreifend importieren oder exportieren.
  • Einzelne Jobbeschränkung: Pro Dateisystem kann jeweils nur ein Import- oder Exportjob ausgeführt werden. Wenn viele Links zum selben Dateisystem gehören, können ihre Jobs nicht gleichzeitig ausgeführt werden. Jobs auf verschiedenen Dateisystemen können jedoch gleichzeitig ausgeführt werden.
  • Limit für 10 Links: Sie können maximal 10 Object Storage-Links für jedes Lustre-Dateisystem erstellen. Wenn Sie weitere Links benötigen, wenden Sie sich an den Support.
  • Links bearbeiten: Sie können Links bearbeiten, um die folgenden Eigenschaften zu aktualisieren: Name, Object Storage Compartment, Tags und ob Konfliktdateien überschrieben oder übersprungen werden sollen. Um weitere Änderungen vorzunehmen, löschen Sie den Link, und erstellen Sie einen neuen.
  • Cooldown-Zeitraum für Erweiterung: Manchmal müssen Sie das Lustre-Dateisystem erweitern, um Daten aus Object Storage aufzunehmen. Eine sechsstündige Abklingzeit gilt zwischen jeder fortlaufenden Lustre-Dateisystemerweiterung für dieselbe Ressource. Wenn Sie innerhalb dieser Abklingzeit eine Erweiterungsanforderung stellen, wird diese abgelehnt.
  • Performanceauswirkung: Die Dateisynchronisierung zwischen Object Storage und Lustre verbraucht Bandbreite und kann die Performance von Lustre während des Synchronisierungsprozesses leicht beeinträchtigen.

Best Practices

Nachfolgend finden Sie einige Best Practices für die Synchronisierung von Dateien zwischen Lustre und Object Storage:
  • Eindeutige Pfade beibehalten: Wenn Sie Object Storage erstellen, verwenden Sie keine sich überschneidenden Pfade, bei denen Teile des Lustre-Verzeichnisses oder des Object Storage-Bucket-Pfads bereits von einem anderen Link für das gleiche Dateisystem verwendet werden. Überlappende Links können zu tiefen Kopien und einer unerwünschten Verzeichnisstruktur führen.

    Beispiel: Verknüpfen Sie /mnt/lustre/projectA mit mybucket/projectA und verknüpfen Sie /mnt/lustre/projectB mit mybucket/projectB. Dies ist korrekt, da der Link einen eindeutigen Lustre-Pfad und ein eindeutiges Object Storage-Bucket-Präfix verwendet.

    Verknüpfen Sie nicht /mnt/lustre/project mit mybucket/projects und /mnt/lustre/project/reports mit mybucket/project/reports, da der Ordner reports zweimal zugeordnet wird und doppelte Synchronisierungen, unerwartete Verschachtelung und Konflikte verursacht.

  • Synchronisierte Ordner während eines Synchronisierungsjobs nicht ändern oder verwenden: Warten Sie, bis der Synchronisierungsjob (Import oder Export) abgeschlossen ist, bevor Sie Dateien oder Ordner im synchronisierten Ordner hinzufügen, entfernen, verschieben, umbenennen oder bearbeiten. Das Ändern von Dateien, während ein Synchronisierungsjob ausgeführt wird, kann zu unerwarteten Ergebnissen führen, z.B. dass Dateien ignoriert oder überschrieben werden.

Datenverschlüsselung

So werden Daten bei der bidirektionalen Übertragung zwischen Lustre und Object Storage verschlüsselt:
  • Daten im Transit: Alle zwischen Lustre und Object Storage übertragenen Daten werden während der Übertragung verschlüsselt.
  • Daten im Ruhezustand: Importierte Daten werden im Ruhezustand mit Block-Volume-Verschlüsselung verschlüsselt, und in Object Storage exportierte Daten verwenden die Object Storage-Verschlüsselungsmechanismen.