OCI FILE STORAGE → STACKIT FILE STORAGE (SFS) · LEITFADEN

OCI File Storage zu STACKIT File Storage migrieren

Ein OCI-Dateisystem wird zu einem Share in einem STACKIT-File-Storage-Resource-Pool (SFS); seine Dateien ziehen per Kopie um. StackToIT stuft das Dateisystem als REPLATFORM ein; Mount Target und Exports, die regeln, wer es mounten darf, stehen nicht in seinem Katalog. Sie kommen als MANUAL_REVIEW zurück und sind von Ihnen in Export Policies zu übersetzen. Dieser Leitfaden geht die Schritte in der Reihenfolge durch, in der ein Team sie ausführt.

Die Migration in acht Schritten

Die Reihenfolge folgt den Abhängigkeitswellen des Demo-Laufs und ergänzt die Praxis darum. Schritte mit STACKIT-Fakten nennen die geltenden Grenzen.

  1. 1. Vorhandenes erfassen

    Listen Sie jedes Dateisystem, sein Mount Target, seine Exports mit Client-Bereichen und Zugriff sowie die Instanzen, die es mounten. Die Demo-Umgebung hat zwei Dateisysteme, ein Mount Target und zwei Exports. Der Lauf liest nur Terraform; von Hand gesetzte Mounts auf Clients müssen Sie selbst finden.

  2. 2. STACKIT-Projekt vorbereiten

    SFS braucht ein Projekt in einer STACKIT Network Area mit aktivierten Routing-Tabellen. Die Anbindung reserviert ein eigenes Subnetz und verlangt mindestens ein /28- und vier /29-Subnetze; kein neues Subnetz darf kleiner als /29 sein.

  3. 3. Resource Pool anlegen

    Ein Pool ist ein Container fester, reservierter Größe zwischen 500 GB und 20 TB, angelegt in einer Availability Zone; eine Zone wie eu01-m ist eine Metro-Zone, die in eine zweite repliziert wird. Beim Anlegen geben Sie Größe, Availability Zone, Performance-Klasse und eine IP-ACL für die Netzwerke an, die ihn mounten dürfen; der Pool selbst lässt sich nur lesend mounten.

  4. 4. Shares anlegen

    Ein Share je OCI-Dateisystem. Ein Share hat keine feste Größe und darf den ganzen Pool nutzen, oder Sie setzen ein Platzlimit. Ein Pool fasst bis zu 200 Shares. Der Mount-Pfad ist die Pool-Adresse gefolgt vom Share-Namen.

  5. 5. Exports in Export Policies übersetzen

    Jede OCI-Export-Option wird zu einer Regel mit IP-Bereich, Reihenfolge und den Flags read_only oder super_user. Ohne Policy erbt ein Share die ACL des Pools und lässt sich nur lesend mounten. Der nächste Abschnitt zeigt die Demo-Exports.

  6. 6. Daten kopieren

    Nutzen Sie eine Kopie auf Dateiebene von einem Host, der beide Seiten mountet, zum Beispiel rsync oder rclone: ein erster voller Durchlauf bei laufender Quelle und ein letzter nach dem Stopp der Schreibzugriffe. Setzen Sie auf den Clients die NFSv4-ID-Domain auf stackit.cloud, sonst kann die Eigentümerzuordnung falsch ausfallen.

  7. 7. Clients umschalten

    Mounten Sie mit sudo mount -t nfs <Adresse>:/<Pool>/<Share> <Verzeichnis>, passen Sie fstab oder Ihre Automatisierung an und starten Sie die Anwendungen neu, die den alten Mount hielten. Die Adresse ändert sich, also ändert sich alles, worin die Adresse des OCI-Mount-Targets steht.

  8. 8. Prüfen, dann stilllegen

    Vergleichen Sie Dateizahlen und Prüfsummen stichprobenartig, prüfen Sie die Rechte als Anwendungsbenutzer und lassen Sie das OCI-Dateisystem für einen vereinbarten Zeitraum schreibgeschützt bestehen. Das ist Ihr Rückweg. Löschen Sie es erst danach.

Das Dateisystem, bewertet

Eine Oracle-Cloud-Umgebung mit sieben Ressourcen, für diese Seite geschrieben und am 4. November 2026 von StackToIT bewertet. Links ein Dateisystem der Eingabe. Rechts die dafür festgehaltene Entscheidung aus assessment.json. Da assessment.json in einer einzigen Zeile geschrieben ist, zeigt der Ausschnitt ausgewählte Felder jeder Einheit, eingerückt und so verschachtelt wie in der Datei, mit unveränderten Werten.

Beispieleingabemain.tf
resource "oci_file_storage_file_system" "media" {
  compartment_id      = var.compartment_id
  availability_domain = var.availability_domain
  display_name        = "media"
}
StackToIT-Bewertungassessment.json
{
  "id": "oci_file_storage_file_system.media",
  "result": {
    "class": "REPLATFORM",
    "confidence": "MEDIUM",
    "target": {
      "service": "STACKIT File Storage (SFS)",
      "resources": [
        "stackit_sfs_resource_pool",
        "stackit_sfs_share",
        "stackit_sfs_export_policy"
      ]
    },
    "reason": "A file system becomes a STACKIT File Storage share. Data moves with a file copy, and mount targets and export rules are rewritten."
  }
}
  • Das Dateisystem hat ein Ziel

    REPLATFORM bei mittlerer Konfidenz, zu STACKIT File Storage (SFS) als stackit_sfs_resource_pool, stackit_sfs_share und stackit_sfs_export_policy. Der Lauf führt SFS im STACKIT-Katalogstand für eu01 und eu02.

  • Drei Einstellungen benannt

    availability_domain, compartment_id und display_name sind die Einstellungen, die der Architektenbericht für diese Einheit nennt. Die Availability Domain hat auf STACKIT keine direkte Form: Für den Pool wählen Sie eine Availability Zone.

  • Daten werden gelistet, nicht übertragen

    migration/data-movement.md führt beide Dateisysteme als zustandsbehaftete Einheiten mit Verfahren UNKNOWN. StackToIT überträgt keine Daten, und die Datenmenge steht nicht im Terraform.

Mount Target und Exports, Ihnen überlassen

Derselbe Lauf für die beiden Ressourcen, die den Zugriff steuern. Sie stehen nicht im Katalog der Engine, daher wird für sie nichts bewertet und kein Entwurf geschrieben. Da assessment.json in einer einzigen Zeile geschrieben ist, zeigt der Ausschnitt ausgewählte Felder jeder Einheit, eingerückt und so verschachtelt wie in der Datei, mit unveränderten Werten.

Beispieleingabemain.tf
resource "oci_file_storage_mount_target" "shared" {
  compartment_id      = var.compartment_id
  availability_domain = var.availability_domain
  subnet_id           = oci_core_subnet.files.id
  display_name        = "shared-mt"
}

resource "oci_file_storage_export" "media" {
  export_set_id  = oci_file_storage_mount_target.shared.export_set_id
  file_system_id = oci_file_storage_file_system.media.id
  path           = "/media"

  export_options {
    source          = "10.40.0.0/16"
    access          = "READ_WRITE"
    identity_squash = "NONE"
  }
}
StackToIT-Bewertungassessment.json
[
  {
    "id": "oci_file_storage_mount_target.shared",
    "result": {
      "class": "MANUAL_REVIEW",
      "confidence": "LOW",
      "reason": "oci_file_storage_mount_target is not in the knowledge base catalogue; an architect has to decide the target. Nothing of this resource is assessed or drafted (unknown source type)."
    }
  },
  {
    "id": "oci_file_storage_export.media",
    "result": {
      "class": "MANUAL_REVIEW",
      "confidence": "LOW",
      "reason": "oci_file_storage_export is not in the knowledge base catalogue; an architect has to decide the target. Nothing of this resource is assessed or drafted (unknown source type)."
    }
  }
]
  • MANUAL_REVIEW bei niedriger Konfidenz

    Beide Typen kommen als unbekannte Quelltypen zurück. Der Bericht nennt sie in seinem Abschnitt zu unbekannten Quelltypen und versieht die damit verbundenen Dateisysteme und das Subnetz mit einer Warnung: Die Wirkung der verknüpften Ressource auf die Migration ist nicht bewertet.

  • Die Exports tragen die Zugriffsregeln

    Der Export media erlaubt 10.40.0.0/16 mit READ_WRITE und Identity Squash NONE; der Export home erlaubt 10.40.3.0/24 mit READ_ONLY und Identity Squash ROOT. Das sind die Regeln, die Sie nachbauen: zwei Policies mit je einer Regel oder eine Policy je Client-Gruppe.

  • Reihenfolge des Umzugs

    Wellen aus den Abhängigkeiten: VCN und beide Dateisysteme in Welle 1, das Subnetz in Welle 2, das Mount Target in Welle 3 und die beiden Exports in Welle 4. Auf STACKIT kommen Pool und Shares zuerst; die Export Policies werden danach an die Shares gehängt.

Wie die Umgebung zugeordnet wird

OCI-RessourceSTACKIT-ZielKlasse im Lauf
Dateisystem (media, home-dirs)Share in einem SFS Resource Pool, mit Export PolicyREPLATFORM, mittel
Mount TargetIm Lauf kein Äquivalent benannt; Pool und Share tragen die Mount-AdresseMANUAL_REVIEW, niedrig
Export mit Export-OptionenShare Export Policy mit geordneten RegelnMANUAL_REVIEW, niedrig
SubnetzSTACKIT-Netzwerk mit eigenem Adressbereich in der Network AreaRECONFIGURE, mittel
VCNSTACKIT-Netzwerk, mit Network Area, wo Routing nötig istRECONFIGURE, mittel

Klassen, wie der Lauf sie entschieden hat. Die rechte Spalte für Mount Target und Exports ist eine Einschätzung aus dem Design und kein Laufergebnis: Der Lauf nennt dafür kein Ziel.

Worin sich die beiden Dienste unterscheiden

BereichOracle Cloud File StorageSTACKIT File Storage
ProtokollNFSv3 mit Network Lock Manager; Authentifizierung per AUTH_SYSNFSv3, NFSv4.1 und NFSv4.2, als unverschlüsselte Protokollversionen aufgeführt; für eine korrekte Eigentümerzuordnung setzen Clients die NFSv4-ID-Domain auf stackit.cloud
KapazitätWächst ab einem einzelnen Byte, ohne Vorab-BereitstellungEin Pool fester Größe, 500 GB bis 20 TB, vorab reserviert
ZugriffssteuerungExport-Optionen je Export, bis zu 100, nach IP oder CIDRRegeln einer Export Policy, bis zu 10 je Policy und 200 Policies je Projekt; es gilt die erste passende Regel nach Reihenfolge
SnapshotsJe Dateisystem, als Zeitpunktabbild, beliebig vieleJe Resource Pool, über alle Shares; 100 manuelle und 100 geplante; unveränderlich bis zu 30 Tage
VerschlüsselungJede Datei erhält einen eigenen Schlüssel; TLS-Verschlüsselung bei der Übertragung ist verfügbarIm Ruhezustand mit AES-256, je Resource Pool

Ein Pool-Snapshot umfasst jeden Share des Pools. Müssen zwei Anwendungen unabhängig voneinander wiederherstellbar sein, geben Sie ihnen getrennte Pools.

Entscheidungen, die Ihre Architekten treffen

  • Pools und Shares

    Ein Pool je Anwendungsgruppe oder ein großer Pool. Kapazität wird je Pool reserviert und Snapshots gelten je Pool; die Gruppierung bestimmt also Kosten und Restore-Umfang.

  • Performance-Klasse

    Jeder Pool hat eine Klasse. Der STACKIT-Katalogstand des Laufs führt drei SFS-Performance-Klassen in eu01 und in eu02; wählen Sie eine nach dem Durchsatz, den Ihre Last heute zeigt.

  • Export-Policy-Design

    Welche Client-Bereiche lesend und schreibend mounten, welche nur lesend und welche Root brauchen. Legen Sie die Reihenfolge der Regeln bewusst fest, denn der erste Treffer gilt.

  • Kopiermethode und Fenster

    Ein erster Durchlauf bei laufender Quelle plus ein kurzer abschließender Durchlauf hält die Ausfallzeit klein. Für kleine Shares ist ein einziger Durchlauf nach dem Stopp der Schreibzugriffe einfacher.

  • Snapshot-Plan

    OCI-Snapshots wandern bei einer Dateikopie nicht mit. Legen Sie auf STACKIT einen Snapshot-Plan für den Pool und bei Bedarf eine Unveränderlichkeitsfrist fest.

  • Änderungen an den Clients

    ID-Domain, Mount-Adresse und Mount-Optionen auf jedem Client. Sammeln Sie sie vor dem Cutover-Tag in Ihrem Konfigurationsmanagement.

Bewiesen an einer echten AWS-Umgebung

Die AWS Retail Store Sample App, ein öffentliches Terraform-Projekt von AWS, von StackToIT bewertet und vollständig veröffentlicht, genau so, wie der Lauf es geschrieben hat.

Fallstudie ansehen (Englisch)
282
Terraform-Ressourcendefinitionen analysiert
44
Migrationseinheiten identifiziert
38
Zieleinheiten erzeugt, von 52 betrachteten
331
Planschritte erstellt

Fragen von Storage-Teams

Kopiert StackToIT die Dateien für uns?

Nein. Es überträgt nie Daten. Die Datei zum Datenumzug führt jedes Dateisystem als zustandsbehaftete Einheit mit offenem Verfahren, und Sie wählen die Kopiermethode nach Datenmenge, tolerierter Ausfallzeit und der Konsistenz, die die Anwendung braucht.

Warum sind Mount Target und Exports MANUAL_REVIEW?

Ihre Ressourcentypen stehen nicht im Katalog des Builds, der für diese Seite genutzt wurde, daher bewertet und entwirft der Lauf nichts dafür. Ihre Einstellungen stehen in Ihrem Terraform; die Übersetzung in Export Policies ist Entwurfsarbeit Ihres Teams.

Behalten unsere Clients dieselbe Mount-Adresse?

Nein. Der Mount-Pfad auf STACKIT ist die Pool-Adresse gefolgt von Pool- und Share-Namen, innerhalb Ihrer Network Area. Jede Mount-Definition ändert sich daher beim Cutover.

Können mehrere OCI-Dateisysteme einen STACKIT-Pool teilen?

Ja. Ein Pool fasst bis zu 200 Shares, die sich seine reservierte Kapazität teilen. Snapshots gelten für den ganzen Pool, deshalb trennen Sie Daten, die eigenständig wiederherstellbar sein müssen.

Quellen

Ihr nächster Schritt: STACKIT.

Erzählen Sie uns von Ihrer Umgebung. Wir zeigen Ihnen, was StackToIT dafür liefert: Zielarchitektur, Terraform-Artefakte und einen strukturierten Migrationsplan.