Übertragung von Volumes zwischen Domänen und Projekten mit dem OpenStack CLI-Client auf CODE-DE

In OpenStack können Volumes zum Speichern von Daten verwendet werden. Sie sind für virtuelle Maschinen wie Laufwerke sichtbar.

Ein solches Volume ist normalerweise nur für das Projekt verfügbar, in dem es erstellt wurde. Die Übertragung von darauf gespeicherten Daten zwischen Projekten kann lange dauern, insbesondere wenn ein solches Volume viele Daten enthält, ggf. Hunderte oder Tausende von Gigabyte.

Dieser Artikel behandelt die Änderung der Zuordnung eines Volumes zu einem Projekt. So können Sie ein Volume direkt von einem Projekt (das Quellprojekt) zu einem anderen Projekt (das Zielprojekt) verschieben, indem Sie das OpenStack-CLI auf eine Weise nutzen, die keine physische Übertragung der Daten erfordert.

Das Quellprojekt und das Zielprojekt müssen sich beide in der gleichen Cloud befinden (z.B. FRA1-1). Sie können (müssen aber nicht) verschiedenen Benutzern aus verschiedenen Domänen und Organisationen gehören.

Was wir behandeln werden

  • Initialisierung der Übertragung eines Datenträgers

  • Übertragung des Datenträgers annehmen

  • Übertragung des Datenträgers stornieren

Voraussetzungen

Nr. 1 Konto

Sie benörigen ein CODE-DE Konto mit Zugriff auf die Horizon-Schnittstelle: https://cloud.fra1-1.cloudferro.com/auth/login/?next=/

Nr. 2 OpenStack CLI Client

Um den OpenStack CLI-Client verwenden zu können, müssen Sie ihn installieren. Lesen Sie einen dieser Artikel, um zu erfahren, wie Sie das tun:

Nach der Installation müssen Sie den Zugang zu Ihrer Cloud-Umgebung aktivieren: /accountmanagement/How-to-activate-OpenStack-CLI-access-to-CODE-DE-cloud-using-one-or-two-factor-authentication

Nr. 3 Volume

Sie müssen ein Volume (d.h. einen Datenträgerberich in der Cloud) haben, das Sie migrieren möchten.

Ein solches Volume darf nicht mit einer virtuellen Maschine verbunden sein. Es muss verfügbar sein, d.h. den Status available haben.

Sie können den Status Ihres Volumes überprüfen, indem Sie den folgenden Befehl ausführen:

openstack volume list
../_images/transfer-volume-between-projects-cli-32_creodias.png

In diesem Beispiel heißt das Volume, das wir übertragen wollen, my-other-volume. Der Status, auf dem Screenshot oben mit einem blauen Rechteck markiert, ist available.

Nr. 4 Zugriff auf das Quell- und das Zielprojekt

Damit die Übertragung erfolgreich ist, müssen Sie sie zuerst vom Quellprojekt aus initiieren und dann vom Zielprojekt annehmen.

Wenn Quelle und/oder Ziel nicht von Ihnen verwaltet werden, müssen Sie möglicherweise eine entsprechende Erlaubnis einholen, um einen solchen Vorgang durchzuführen.

Um direkt auf jedes dieser Projekte zuzugreifen (falls möglich), rufen Sie die entsprechende RC-Datei auf. Wenn Sie keinen direkten Zugang auf diese Projekte haben, müssen Sie deren Mitglieder bitten, die in diesem Artikel genannten Befehle auszuführen.

Schritt 1: Einleitung der Übertragung des Volumens

Führen Sie diesen Schritt im Quellprojekt durch.

Führen Sie den folgenden Befehl aus:

openstack volume list
../_images/transfer-volume-between-projects-cli-14_creodias.png

Notieren Sie sich die ID des Volumes, das Sie übertragen möchten. In diesem Beispiel wollen wir ein Volume mit dem Namen my-other-volume übertragen. Seine ID, auf dem Screenshot oben mit einem grünen Rechteck markiert, lautet 7624dc4e-2fd1-48a7-985a-338ab887979e.

Sobald Sie die ID erhalten haben, führen Sie den folgenden Befehl aus, wobei Sie die Teile wie unten angegeben ersetzen:

openstack volume transfer request create --name my-transfer 7624dc4e-2fd1-48a7-985a-338ab887979e

Ersetzen Sie in diesem Befehl:

  • my-transfer mit dem Namen des Transfers Ihrer Wahl (achten Sie darauf, dass er korrekt an die Shell übergeben wird, achten Sie auf Sonderzeichen wie Anführungszeichen oder Leerzeichen)

7624dc4e-2fd1-48a7-985a-338ab887979e durch die ID des Volumes, das Sie übertragen möchten

Wenn der Vorgang erfolgreich war, sollten Sie eine ähnliche Ausgabe wie diese erhalten:

../_images/transfer-volume-between-projects-cli-25_creodias.png

Notieren Sie sich irgendwo die ID der Übertragung (id) und den Autorisierungsschlüssel (auth_key).

Im obigen Beispiel ist die ID der Übertragung f944ce3262f0a6b3 und der Autorisierungsschlüssel 3b2b9168-cf4b-4fc2-af4d-7ebe795be48b.

Bemerkung

Das Volume kann nach der Initialisierung der Übertragung mit keiner virtuellen Maschine verbunden werden kann, bis die Übertragung akzeptiert und durchgeführt wurde oder abgebrochen wird.

Wie Sie die Übertragung abbrechen können (wenn Sie z. B. versehentlich das falsche Volume ausgewählt haben), erfahren Sie im Abschnitt Übertragung eines Volumes abbrechen am Ende des Artikels.

Schritt 2: Übertragung des Volumens akzeptieren

Führen Sie diesen Schritt im Zielprojekt durch.

Führen Sie den unten stehenden Befehl aus. Ersetzen Sie darin f944ce3262f0a6b3 durch den Autorisierungsschlüssel und 3b2b9168-cf4b-4fc2-af4d-7ebe795be48b durch die ID der Übertragung in Ihrer Anwendung. Diese beiden Werte wurden in Schritt 1 ermittelt.

openstack volume transfer request accept --auth-key f944ce3262f0a6b3 3b2b9168-cf4b-4fc2-af4d-7ebe795be48b

Nach erfolgreicher Übertragung sollten Sie eine Ausgabe wie die folgende erhalten:

../_images/transfer-volume-between-projects-cli-26_creodias.png

Um zu überprüfen, ob das Volume tatsächlich in Ihr neues Projekt verschoben wurde, führen Sie folgenden Befehl aus:

openstack volume list

Das übertragene Volume sollte in der Liste aufgeführt sein:

../_images/transfer-volume-between-projects-cli-27_creodias.png

Übertragung eines Volumes stornieren

Wenn Sie versehentlich eine Übertragung für ein falsches Volume eingeleitet haben und diese Übertragung auf der Zielseite noch nicht akzeptiert wurde, kann sie abgebrochen werden.

In diesem Beispiel nehmen wir an, dass wir ein Volume mit dem Namen my-other-volume übertragen wollten. Fälschlicherweise haben wir jedoch die Übertragung für das Volume my-volume eingeleitet.

Die Überprüfung des Status der Volumes mit openstack volume list zeigt, dass my-volume jetzt den Status awaiting-transfer hat:

../_images/transfer-volume-between-projects-cli-33_creodias.png

Datenträger in einem solchen Status können nicht mit einer virtuellen Maschine verbunden werden.

Um die Übertragung des Volumes abzubrechen, führen Sie den folgenden Befehl aus (ersetzen Sie 3b2b9168-cf4b-4fc2-af4d-7ebe795be48b durch die ID, die Sie in Schritt 1 erhaltenen haben):

openstack volume transfer requested delete 3b2b9168-cf4b-4fc2-af4d-7ebe795be48b

Wenn der Vorgang erfolgreich war, sollte die Ausgabe leer sein.

Ein erneutes Ausführen von openstack volume list wird Sie darüber informieren, dass das Volume wieder den Status available hat:

../_images/transfer-volume-between-projects-cli-34_creodias.png

Was als nächstes zu tun ist

Nachdem das Volume nun übertragen wurde, möchten Sie es vielleicht mit einer virtuellen Maschine verbinden. Dieser Artikel enthält Informationen darüber, wie das geht: Verschieben von Datenvolumen zwischen VMs mit OpenStack CLI auf CODE-DE

Der in diesem Artikel beschriebene Arbeitsablauf kann auch mit dem Horizon Dashboard durchgeführt werden. Erfahren Sie hier mehr: Wie übertragen Sie Volumes zwischen Domänen und Projekten mit Horizon Dashboard auf CODE-DE