Daten migrieren
Auf dieser Seite wird beschrieben, wie Sie eine Datenmigration ausführen, bei der Dateien vom lokalen Computer in einen Persistent Volume Claim (PVC) im Zielcluster kopiert werden.
Dieser Schritt ist optional.
Datenmigrationskonfiguration anpassen
Wenn Sie eine Analyse abgeschlossen haben, erstellt die Migrate to Containers-Befehlszeile möglicherweise eine Datenkonfigurationsdatei mit dem Namen dataConfig.yaml
im angegebenen Analyseausgabeverzeichnis. Das bedeutet, dass Sie zur Fertigstellung der Migration eine Datenmigration durchführen müssen.
Sie können diese Datenkonfigurationsdatei auch manuell für die Datenmigration erstellen und Informationen über Ihr Zieldatenvolumen oder Ihre Datenanforderung angeben.
Das folgende Beispiel zeigt eine Datenkonfigurationsdatei:
volumes:
- deploymentPvcName: my-pvc1
existingPvc:
name: my-pvc1
folders:
- /bin
- /opt
- deploymentPvcName: my-pvc2
newPvc:
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10G
folders:
- /bin
- /opt
Dabei gilt:
deploymentPvcName
: Der PVC-Name, der von Migrate to Containers in Ihrer bereitgestellten Arbeitslast für den Zugriff auf dieses Volume verwendet werden soll.existingPvc
:name
: Name eines vorhandenen Anspruchs auf nichtflüchtiges Volume (PVC). Legen Sie fest, ob Sie Datenvolumen in eine bestehende PVC migrieren möchten.
newPvc
: Legen Sie fest, ob Sie Ihre Datenvolumen auf eine neue PVC migrieren möchten. Sie können Ihre PVC mit der PVC-Standardsyntax definieren.Weitere Informationen zur Kubernetes-PVC-Spezifikation finden Sie in der Kubernetes-Dokumentation.
folders
ist der Ordner, den Sie von der VM zu PVC migrieren möchten. Diese Ordner werden im selben Pfad in den PVC kopiert.
Sie können Ihre Datenkonfigurationsdatei für verschiedene Anwendungsfälle für die Datenmigration bearbeiten, darunter:
- Vorhandenen PVC verwenden
- Neue Volumes auf der migrierten VM erstellen
- Mehrere PVCs mit mehreren Dateipfaden migrieren
Vorhandenen PVC verwenden
Wenn Sie den Speicher bereits für die migrierten Daten zugewiesen haben und einen PersistentVolumeClaim (PVC) zum Speichern Ihrer Daten haben, können Sie die Daten mit einem vorhandenen PVC migrieren.
Definieren Sie in der Datenkonfigurationsdatei dataConfig.yaml
ein vorhandenes PVC. Übergeben Sie dazu das vorhandene Volume im Feld existingPvc
. In diesem Fall würde Ihre Datenkonfigurationsdatei so aussehen:
volumes:
- deploymentPvcName: my-pvc
existingPvc:
name: my-pvc
subpath: /subpath
folders:
- /bin
- /opt
Im vorherigen Beispiel kann der Eintrag existingPvc
einen optionalen subPath
enthalten, um Daten wie unten gezeigt zum Subpfad des PVC zu migrieren.
Neue Datenvolumen auf den migrierten VMs erstellen
Wenn Sie keinen Speicher vorab zugewiesen haben und Ihr Speicher während des Migrationsprozesses erstellt werden soll, können Sie ein leeres existingPvc
-Feld übergeben und den Speicher angeben, der im Feld newPvc
erstellt werden soll:
volumes:
- deploymentPvcName: my-pvc
newPvc:
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10G
folders:
- /bin
- /opt
Mehrere PVCs mit mehreren Dateipfaden migrieren
Sie können den Satz von Verzeichnissen unter dem Listenfeld folders
jedes Eintrags in der Liste volume
für jeden in Ihrer Datenkonfigurationsdatei dataConfig.yaml
aufgeführten PVC angeben:
volumes:
- deploymentPvcName: my-pvc1
existingPvc:
name: my-pvc1
folders:
- /bin
- /opt
- deploymentPvcName: my-pvc2
newPvc:
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10G
folders:
- /bin
- /opt
Die Pfade, die Sie unter folders
in der Daten-Konfigurationsdatei auflisten, werden in dieselben Pfade in den Ziel-PVCs kopiert.
Datenmigration ausführen
Nachdem Sie die Datenkonfigurationsdatei dataConfig.yaml
angepasst haben, führen Sie den folgenden Befehl aus, um die Datenvolumes in einen PVC im Zielcluster zu migrieren:
./m2c migrate-data -i ANALYSIS_OUTPUT_PATH -n NAMESPACE
Ersetzen Sie Folgendes:
- ANALYSIS_OUTPUT_PATH: der Pfad, unter dem Sie die Analyseausgabe gespeichert haben, die die Datei
dataConfig.yaml
enthält. - NAMESPACE ist der Ziel-Kubernetes-Cluster-Namespace des bereitgestellten Netzwerks.