#
Eine Instanz in ein anderes Projekt transferieren
#
Kyberio Secure Public Cloud – Kundenanleitung
#
Überblick
In der Kyberio Secure Public Cloud können Ressourcen zwischen Projekten verschoben werden. Da Instanzen nicht direkt transferiert werden können, erfolgt der Transfer über den Umweg von Volume-Transfers. Diese Anleitung beschreibt den vollständigen Prozess.
#
Ablauf
Projekt A (Quelle) Projekt B (Ziel)
┌──────────────────┐ ┌──────────────────┐
│ 1. Instanz │ │ │
│ stoppen │ │ │
│ │ │ │
│ 2. Volume(s) │ │ │
│ aushängen │ ── Transfer ──▶│ 4. Transfer │
│ │ (ID + Key) │ akzeptieren │
│ 3. Volume- │ │ │
│ Transfer │ │ 5. Neue Instanz │
│ erstellen │ │ von Volume │
│ │ │ starten │
│ 6. Alte Instanz │ │ │
│ löschen │ │ │
└──────────────────┘ └──────────────────┘
#
Voraussetzungen
- Sie benötigen Zugriffsrechte in beiden Projekten (oder Koordination mit dem Admin des Zielprojekts).
- Die Instanz sollte vorher gestoppt werden, um Datenkonsistenz sicherzustellen.
- Das Volume darf an keine laufende Instanz angehängt sein.
#
Schritt-für-Schritt-Anleitung
#
Schritt 1: Instanz stoppen
#
Horizon-Dashboard (Projekt A)
- Navigieren Sie zu Projekt → Compute → Instanzen.
- Klicken Sie im Dropdown-Menü (▾) der Instanz auf „Instanz anhalten".
- Warten Sie, bis der Status SHUTOFF angezeigt wird.
#
CLI
# Zur Sicherheit: Quellprojekt auswählen
export OS_PROJECT_NAME=projekt-a
# Instanz stoppen
openstack server stop webserver-prod-01
# Status prüfen
openstack server show webserver-prod-01 -c status
# Erwartete Ausgabe: status = SHUTOFF
#
Schritt 2: Volume von der Instanz trennen
#
Horizon-Dashboard (Projekt A)
- Navigieren Sie zu Projekt → Volumes → Volumes.
- Identifizieren Sie das Boot-Volume der Instanz (angezeigt als „angehängt an webserver-prod-01").
- Klicken Sie im Dropdown-Menü (▾) auf „Aushängen".
- Bestätigen Sie den Vorgang.
- Warten Sie, bis der Volume-Status „Verfügbar" ist.
#
CLI
# Angehängte Volumes der Instanz anzeigen
openstack server show webserver-prod-01 -c volumes_attached
# Volume-ID notieren (z. B. a1b2c3d4-...)
VOLUME_ID="a1b2c3d4-e5f6-7890-abcd-ef1234567890"
# Volume von der Instanz trennen
openstack server remove volume webserver-prod-01 $VOLUME_ID
# Status prüfen
openstack volume show $VOLUME_ID -c status
# Erwartete Ausgabe: status = available
#
Schritt 3: Volume-Transfer erstellen (Projekt A)
#
Horizon-Dashboard (Projekt A)
- Navigieren Sie zu Projekt → Volumes → Volumes.
- Klicken Sie im Dropdown-Menü (▾) des Volumes auf „Transfer erstellen".
- Vergeben Sie einen Transfer-Namen (z. B.
transfer-webserver-vol). - Klicken Sie auf „Transfer erstellen".
- Wichtig: Notieren Sie sich die angezeigte Transfer-ID und den Autorisierungsschlüssel (Authorization Key). Diese werden nur einmal angezeigt!
#
CLI
# Volume-Transfer erstellen
openstack volume transfer request create \
--name transfer-webserver-vol \
$VOLUME_ID
Ausgabe:
+-------------------+--------------------------------------+
| Field | Value |
+-------------------+--------------------------------------+
| auth_key | abc123def456 |
| created_at | 2025-02-11T15:30:00.000000 |
| id | t1r2a3n4-s5f6-7890-abcd-ef1234567890 |
| name | transfer-webserver-vol |
| volume_id | a1b2c3d4-e5f6-7890-abcd-ef1234567890 |
+-------------------+--------------------------------------+
Wichtig: Bewahren Sie die
Transfer-IDund denauth_keysicher auf und übermitteln Sie diese an den Empfänger im Zielprojekt (z. B. per sicherem Kanal).
#
Schritt 4: Volume-Transfer akzeptieren (Projekt B)
#
Horizon-Dashboard (Projekt B)
- Wechseln Sie zum Zielprojekt (Projekt B).
- Navigieren Sie zu Projekt → Volumes → Volumes.
- Klicken Sie auf „Transfer akzeptieren".
- Geben Sie die Transfer-ID und den Autorisierungsschlüssel ein.
- Klicken Sie auf „Transfer akzeptieren".
- Das Volume erscheint nun in der Volume-Liste von Projekt B.
#
CLI
# Zum Zielprojekt wechseln
export OS_PROJECT_NAME=projekt-b
# Transfer akzeptieren
openstack volume transfer request accept \
--auth-key abc123def456 \
t1r2a3n4-s5f6-7890-abcd-ef1234567890
# Prüfen, ob das Volume im Zielprojekt sichtbar ist
openstack volume list
openstack volume show $VOLUME_ID
#
Schritt 5: Neue Instanz vom transferierten Volume starten (Projekt B)
#
Horizon-Dashboard (Projekt B)
- Navigieren Sie zu Projekt → Compute → Instanzen.
- Klicken Sie auf „Instanz starten".
- Im Reiter „Quelle":
- Boot-Quelle:
Volume - Volume: Das transferierte Volume auswählen.
- „Volume bei Instanz-Löschung entfernen":
Nein
- Boot-Quelle:
- Wählen Sie Flavor, Netzwerk, Sicherheitsgruppe und Schlüsselpaar für das Zielprojekt.
- Klicken Sie auf „Instanz starten".
#
CLI
# Im Zielprojekt: Instanz vom transferierten Volume starten
openstack server create \
--volume $VOLUME_ID \
--flavor m1.medium \
--network projekt-b-netz-01 \
--security-group default \
--key-name schluessel-projekt-b \
webserver-prod-01
# Status prüfen
openstack server show webserver-prod-01 -c status
#
Schritt 6: Alte Instanz im Quellprojekt aufräumen (Projekt A)
# Zurück zum Quellprojekt wechseln
export OS_PROJECT_NAME=projekt-a
# Alte Instanz löschen (Volume ist bereits transferiert)
openstack server delete webserver-prod-01
# Ggf. nicht mehr benötigte Floating IPs freigeben
openstack floating ip list
openstack floating ip delete <floating-ip>
#
Mehrere Volumes transferieren
Wenn Ihre Instanz mehrere Volumes hat (Boot + Daten), wiederholen Sie Schritte 2–4 für jedes Volume:
# Alle Volumes der Instanz auflisten
openstack server show webserver-prod-01 -c volumes_attached
# Für jedes Volume: aushängen → Transfer erstellen → akzeptieren
for VOL_ID in a1b2c3d4-... x1y2z3w4-...; do
openstack server remove volume webserver-prod-01 $VOL_ID
openstack volume transfer request create --name "transfer-$VOL_ID" $VOL_ID
done
#
Checkliste
#
Häufige Fragen
Bleibt die IP-Adresse der Instanz erhalten? Nein. Die Instanz erhält eine neue IP-Adresse im Netzwerk des Zielprojekts. Floating IPs können nicht zwischen Projekten übertragen werden.
Können auch Snapshots zwischen Projekten geteilt werden? Images (Instanz-Snapshots) können über den Admin oder den Glance-Dienst für andere Projekte freigegeben werden. Volume-Snapshots hingegen nicht – diese müssen in ein Volume konvertiert und per Volume-Transfer übertragen werden.
Was passiert, wenn der Transfer nicht akzeptiert wird? Der Transfer bleibt offen. Sie können ihn jederzeit im Quellprojekt stornieren, um das Volume wieder freizugeben:
openstack volume transfer request delete <transfer-id>
Kyberio Secure Public Cloud – Dokumentation