# Instanz mit vorbereittem Volume und angepasster Performanceklasse erstellen

# Kyberio Secure Public Cloud – Kundenanleitung


# Überblick

In vielen Szenarien ist es sinnvoll, das Boot-Volume einer Instanz vorab zu erstellen und dabei gezielt eine Performanceklasse (Volume-Typ) zu wählen, bevor die Instanz gestartet wird. Dies gibt Ihnen volle Kontrolle über Speicherleistung und -größe.

# Ablauf

Schritt 1          Schritt 2                Schritt 3
┌──────────┐       ┌───────────────────┐    ┌──────────────────────┐
│ Volume   │  ──▶  │ Image auf Volume  │ ──▶│ Instanz von Volume   │
│ erstellen│       │ schreiben         │    │ starten              │
│ (NVMe)   │       │                   │    │                      │
└──────────┘       └───────────────────┘    └──────────────────────┘

# Vorgehensweise

# Schritt 1: Volume mit gewünschter Performanceklasse erstellen

# Über das Horizon-Dashboard

  1. Navigieren Sie zu Projekt → Volumes → Volumes.
  2. Klicken Sie auf „Volume erstellen".
  3. Konfigurieren Sie:
Feld Wert Hinweis
Volume-Name db-server-boot-vol Aussagekräftiger Name
Beschreibung Boot-Volume für Datenbankserver Optional
Volume-Quelle Image Volume wird mit dem Image befüllt
Image Ubuntu 24.04 LTS Gewünschtes Betriebssystem
Typ high-performance Gewünschte Performanceklasse
Größe (GB) 100 Muss ≥ der Mindestgröße des Images sein
Verfügbarkeitszone nova Gleiche Zone wie die spätere Instanz
  1. Klicken Sie auf „Volume erstellen".
  2. Warten Sie, bis der Status auf „Verfügbar" wechselt.

# Über die CLI

# Verfügbare Images anzeigen
openstack image list

# Verfügbare Volume-Typen anzeigen
openstack volume type list

# Volume mit Image und gewünschtem Typ erstellen
openstack volume create \
  --image "Ubuntu 24.04 LTS" \
  --type high-performance \
  --size 100 \
  --availability-zone nova \
  --description "Boot-Volume für Datenbankserver" \
  db-server-boot-vol

# Status prüfen (warten auf "available")
openstack volume show db-server-boot-vol -c status -c volume_type -c size

Erwartete Ausgabe:

+-------------+-------------------+
| Field       | Value             |
+-------------+-------------------+
| status      | available         |
| volume_type | high-performance  |
| size        | 100               |
+-------------+-------------------+

Hinweis: Das Erstellen des Volumes kann einige Minuten dauern, da das Image auf das Volume geschrieben wird.


# Schritt 2: Instanz vom vorbereiteten Volume starten

# Über das Horizon-Dashboard

  1. Navigieren Sie zu Projekt → Compute → Instanzen.
  2. Klicken Sie auf „Instanz starten".
  3. Füllen Sie die Reiter wie folgt aus:

Reiter „Details": | Feld | Wert | |---|---| | Instanzname | db-server-01 | | Verfügbarkeitszone | nova |

Reiter „Quelle": | Feld | Wert | |---|---| | Boot-Quelle wählen | Volume | | Volume | db-server-boot-vol (aus der Liste auswählen) | | Volume bei Instanz-Löschung entfernen | Nein (empfohlen!) |

Wichtig: Setzen Sie „Volume bei Instanz-Löschung entfernen" auf Nein, damit Ihre Daten erhalten bleiben, auch wenn die Instanz gelöscht wird.

Reiter „Variante" (Flavor): | Feld | Wert | |---|---| | Variante | m1.large (4 vCPUs, 8 GB RAM) |

Reiter „Netzwerke": | Feld | Wert | |---|---| | Netzwerk | projekt-netz-01 |

Reiter „Sicherheitsgruppen":

  • Wählen Sie die passenden Sicherheitsgruppen (z. B. db-sg mit Port 5432 für PostgreSQL).

Reiter „Schlüsselpaar":

  • Wählen Sie Ihr SSH-Schlüsselpaar.
  1. Klicken Sie auf „Instanz starten".

# Über die CLI

openstack server create \
  --volume db-server-boot-vol \
  --flavor m1.large \
  --network projekt-netz-01 \
  --security-group db-sg \
  --key-name mein-schluessel \
  --availability-zone nova \
  db-server-01

# Status prüfen
openstack server show db-server-01 -c status -c name

# Schritt 3: Ergebnis verifizieren

# Instanz-Status prüfen
openstack server show db-server-01

# Angehängte Volumes prüfen
openstack server show db-server-01 -c volumes_attached

# Volume-Details bestätigen
openstack volume show db-server-boot-vol -c volume_type -c status -c size -c attachments

Erwartete Ausgabe (Auszug):

+-------------+---------------------------------------------------+
| Field       | Value                                             |
+-------------+---------------------------------------------------+
| volume_type | high-performance                                  |
| status      | in-use                                            |
| size        | 100                                               |
| attachments | server_id='...', device='/dev/vda'                |
+-------------+---------------------------------------------------+

# Optionales: Zusätzliches Daten-Volume anhängen

Sie können der Instanz ein weiteres Volume für Daten hinzufügen – ebenfalls mit einer gezielten Performanceklasse:

# Daten-Volume erstellen
openstack volume create \
  --type high-performance \
  --size 500 \
  --description "Daten-Volume für Datenbankdateien" \
  db-server-data-vol

# An die Instanz anhängen
openstack server add volume db-server-01 db-server-data-vol

# Innerhalb der Instanz: Volume formatieren und einbinden
# (per SSH auf die Instanz)
sudo mkfs.ext4 /dev/vdb
sudo mkdir -p /mnt/data
sudo mount /dev/vdb /mnt/data

# Eintrag in /etc/fstab für automatisches Einbinden
echo "/dev/vdb /mnt/data ext4 defaults,nofail 0 2" | sudo tee -a /etc/fstab

# Vollständiges Beispiel als Skript

#!/bin/bash
# Instanz mit High-Performance-Volume erstellen
# Verwendung: ./create-hp-instance.sh

set -e

# Konfiguration
INSTANCE_NAME="db-server-01"
VOLUME_NAME="db-server-boot-vol"
IMAGE="Ubuntu 24.04 LTS"
FLAVOR="m1.large"
VOLUME_TYPE="high-performance"
VOLUME_SIZE=100
NETWORK="projekt-netz-01"
SECURITY_GROUP="db-sg"
KEYPAIR="mein-schluessel"
AZ="nova"

echo "=== Schritt 1: Boot-Volume erstellen ==="
openstack volume create \
  --image "$IMAGE" \
  --type "$VOLUME_TYPE" \
  --size "$VOLUME_SIZE" \
  --availability-zone "$AZ" \
  "$VOLUME_NAME"

echo "Warte auf Volume-Erstellung..."
while true; do
  STATUS=$(openstack volume show "$VOLUME_NAME" -f value -c status)
  echo "  Status: $STATUS"
  if [ "$STATUS" == "available" ]; then break; fi
  if [ "$STATUS" == "error" ]; then echo "FEHLER!"; exit 1; fi
  sleep 5
done

echo ""
echo "=== Schritt 2: Instanz vom Volume starten ==="
openstack server create \
  --volume "$VOLUME_NAME" \
  --flavor "$FLAVOR" \
  --network "$NETWORK" \
  --security-group "$SECURITY_GROUP" \
  --key-name "$KEYPAIR" \
  --availability-zone "$AZ" \
  "$INSTANCE_NAME"

echo "Warte auf Instanz-Start..."
while true; do
  STATUS=$(openstack server show "$INSTANCE_NAME" -f value -c status)
  echo "  Status: $STATUS"
  if [ "$STATUS" == "ACTIVE" ]; then break; fi
  if [ "$STATUS" == "ERROR" ]; then echo "FEHLER!"; exit 1; fi
  sleep 5
done

echo ""
echo "=== Ergebnis ==="
openstack server show "$INSTANCE_NAME" -c name -c status -c flavor -c addresses
openstack volume show "$VOLUME_NAME" -c name -c volume_type -c status -c size
echo ""
echo "Instanz '$INSTANCE_NAME' erfolgreich erstellt mit $VOLUME_TYPE-Volume!"

# Häufige Fragen

Warum sollte ich das Volume vorher erstellen, statt es direkt beim Instanz-Start erstellen zu lassen? Wenn Sie das Volume vorab erstellen, haben Sie volle Kontrolle über den Volume-Typ (Performanceklasse). Bei der direkten Erstellung über den Instanz-Dialog wird ggf. der Standard-Volume-Typ verwendet.

Kann ich die Performanceklasse des Volumes nachträglich noch ändern? Ja, über einen Volume-Retype (siehe Anleitung „Performanceklasse für ein Volume ändern").

Was passiert mit dem Volume, wenn ich die Instanz lösche? Wenn Sie die Option „Volume bei Instanz-Löschung entfernen" auf „Nein" gesetzt haben, bleibt das Volume erhalten. Sie können es dann einer neuen Instanz zuweisen.


Kyberio Secure Public Cloud – Dokumentation