[ English | Deutsch | Indonesia | русский | English (United Kingdom) ]

Instanzen verwalten

In diesem Kapitel wird beschrieben, wie Sie Instanzen erstellen und darauf zugreifen.

Erstellen einer Instanz mithilfe des Dashboards

Erstellen Sie mithilfe eines Abbildes eine neue Instanz über die Dashboard-Optionen.

  1. Melden Sie sich am Dashboard an und wählen Sie das Projekt Compute aus der Dropdown-Liste aus.

  2. Klicken Sie auf die Option Abbilder.

  3. Suchen Sie das Abbild, das als Instanzbasis dienen soll, aus der Tabelle Abbilder.

  4. Klicken Sie in der Spalte Aktionen auf Starten.

  5. Überprüfen Sie das Dialogfeld Instanzen starten und finden Sie die Registerkarte Details. Geben Sie die entsprechenden Werte für die Instanz ein.

    1. Klicken Sie im Dialogfeld Instanz starten auf die Registerkarte Access & Security. Wählen Sie das Schlüsselpaar aus. Legen Sie die Sicherheitsgruppe als „default“ fest.

    2. Klicken Sie auf den Tab Netzwerk. Diese Registerkarte ist nicht verfügbar, wenn das OpenStack-Netzwerk (Neutron) nicht aktiviert wurde. Wenn das Netzwerk aktiviert ist, wählen Sie die Netzwerke aus, in denen sich die Instanz befinden soll.

    3. Klicken Sie auf die Registerkarte Datenträger-Optionen. Diese Registerkarte ist nur verfügbar, wenn ein Blockspeicherdatenträger für die Instanz vorhanden ist. Wählen Sie jetzt Nicht von einem Datenträger booten.

      Weitere Informationen zum Anhängen von Blockspeicher-Datenträger an Instanzen für dauerhaftes Speichern finden Sie im Abschnitt Managing volumes for persistent storage weiter unten.

    4. Fügen Sie bei Bedarf benutzerdefinierte Skripts hinzu, indem Sie auf die Registerkarte Post-Creation klicken. Diese werden ausgeführt, nachdem die Instanz erstellt wurde. Einige Instanzen unterstützen Benutzerdaten, z.B. Root-Kennwörter oder Admin-Benutzer. Geben Sie hier gegebenenfalls die für die Instanz spezifischen Informationen ein.

    5. Klicken Sie auf Erweiterte Optionen. Geben Sie an, ob die Instanz ein Konfigurationslaufwerk zum Speichern von Metadaten verwendet, indem Sie einen Festplattenpartitionstyp auswählen.

  6. Klicken Sie auf Starten, um die Instanz zu erstellen. Die Instanz wird auf einem Rechenknoten gestartet. Die Seite Instanz wird geöffnet und beginnt mit dem Erstellen einer neuen Instanz. Die geöffnete Seite Instance listet den Instanznamen, die Größe, den Status und die Aufgabe auf. Energiezustand und öffentliche und private IP-Adressen sind hier ebenfalls aufgeführt.

    Der Vorgang dauert weniger als eine Minute. Die Instanzerstellung ist abgeschlossen, wenn der Status als aktiv aufgeführt ist. Aktualisieren Sie die Seite, um die neue aktive Instanz zu sehen.

    Starten einer Instanz Optionen

    Feldname

    Erforderlich

    Einzelheiten

    Verfügbarkeitszone

    Wahlweise

    Die Verfügbarkeitszone, in der der Abbild-Dienst die Instanz erstellt. Wenn keine Verfügbarkeitszonen definiert sind, werden keine Instanzen gefunden. Der Cloud-Anbieter legt die Verfügbarkeitszone auf einen bestimmten Wert fest.

    Instanzname

    Erforderlich

    Der Name der neuen Instanz, die zum anfänglichen Hostnamen des Servers wird. Wenn der Servername in der API geändert oder direkt geändert wird, bleiben die Dashboard-Namen unverändert

    Abbild

    Erforderlich

    Die Art des Containerformats, eines von ami, ari, aki, blank oder ovf

    Variante

    Erforderlich

    Die vCPU-, Speicher- und Festplattenkonfiguration. Beachten Sie, dass die Erstellung größerer Varianten lange dauern kann. Wenn Sie eine Instanz zum ersten Mal erstellen und etwas Kleines zum Testen möchten, wählen Sie m1.small.

    Instanzanzahl

    Erforderlich

    Wenn Sie mehrere Instanzen mit dieser Konfiguration erstellen, geben Sie eine ganze Zahl ein, die der Quote entspricht, die durch das Kontingent zulässig ist (standardmäßig 10).

    Instanzstartquelle

    Erforderlich

    Geben Sie an, ob die Instanz auf einem Abbild oder einem Snapshot basieren soll. Wenn Sie zum ersten Mal eine Instanz erstellen, sind noch keine Snapshots verfügbar.

    Abbildname

    Erforderlich

    Die Instanz startet von dem ausgewählten Abbild. Diese Option wird mit der aus der Tabelle ausgewählten Instanz vorbelegt. Wählen Sie jedoch Boot from Snapshot in Instance Boot Source und stattdessen Snapshot.

    Sicherheitsgruppen

    Wahlweise

    Diese Option weist Sicherheitsgruppen einer Instanz zu. Die Standardsicherheitsgruppe wird aktiviert, wenn hier keine benutzerdefinierte Gruppe angegeben wird. Sicherheitsgruppen definieren ähnlich wie eine Cloud-Firewall, welcher eingehende Netzwerkverkehr an Instanzen weitergeleitet wird.

    Schlüsselpaar

    Wahlweise

    Geben Sie ein Schlüsselpaar mit dieser Option an. Wenn das Abbild einen statischen Schlüsselsatz verwendet (nicht empfohlen), wird kein Schlüsselpaar benötigt.

    Ausgewählte Netzwerke

    Wahlweise

    Um ein Netzwerk zu einer Instanz hinzuzufügen, klicken Sie auf + im Feld Netzwerke.

    Anpassungs-Skript

    Wahlweise

    Geben Sie ein Anpassungsskript an. Dieses Skript wird ausgeführt, nachdem die Instanz gestartet wurde und aktiv wird.

Erstellen einer Instanz über die Befehlszeile

In der Befehlszeile wird die Instanzerstellung mit dem Befehl openstack server create verwaltet. Bevor Sie eine Instanz starten, bestimmen Sie mithilfe der Befehle openstack image list und openstack flavour list, welche Abbilder und Varianten verfügbar sind, um eine neue Instanz zu erstellen.

  1. Melden Sie sich bei einem beliebigen Dienstprogrammcontainer an.

  2. Geben Sie den Befehl openstack server create mit einem Namen für die Instanz zusammen mit dem Namen des zu verwendenden Abbilds und Variante ein:

    $ openstack server create --image precise-image --flavor 2 --key-name example-key example-instance
    +-------------------------------------+--------------------------------------+
    |               Property              |                Value                 |
    +-------------------------------------+--------------------------------------+
    |          OS-DCF:diskConfig          |                MANUAL                |
    |         OS-EXT-SRV-ATTR:host        |                 None                 |
    | OS-EXT-SRV-ATTR:hypervisor_hostname |                 None                 |
    |    OS-EXT-SRV-ATTR:instance_name    |          instance-0000000d           |
    |        OS-EXT-STS:power_state       |                  0                   |
    |        OS-EXT-STS:task_state        |              scheduling              |
    |         OS-EXT-STS:vm_state         |               building               |
    |              accessIPv4             |                                      |
    |              accessIPv6             |                                      |
    |              adminPass              |             ATSEfRY9fZPx             |
    |             config_drive            |                                      |
    |               created               |         2012-08-02T15:43:46Z         |
    |                flavor               |               m1.small               |
    |                hostId               |                                      |
    |                  id                 | 5bf46a3b-084c-4ce1-b06f-e460e875075b |
    |                image                |             precise-image            |
    |               key_name              |              example-key             |
    |               metadata              |                  {}                  |
    |                 name                |           example-instance           |
    |               progress              |                  0                   |
    |                status               |                BUILD                 |
    |              tenant_id              |   b4769145977045e2a9279c842b09be6a   |
    |               updated               |         2012-08-02T15:43:46Z         |
    |               user_id               |   5f2f2c28bdc844f9845251290b524e80   |
    +-------------------------------------+--------------------------------------+
    
  3. Um zu überprüfen, ob die Instanz erfolgreich erstellt wurde, geben Sie den Befehl openstack server list ein:

    $ openstack server list
    +------------------+------------------+--------+-------------------+---------------+
    |        ID        |       Name       | Status |      Networks     |   Image Name  |
    +------------------+------------------+--------+-------------------+---------------+
    | [ID truncated]   | example-instance | ACTIVE |  public=192.0.2.0 | precise-image |
    +------------------+------------------+--------+-------------------+---------------+
    

Verwalten einer Instanz

  1. Melden Sie sich am Dashboard an. Wählen Sie eines der Projekte und klicken Sie auf Instanzen.

  2. Wählen Sie eine Instanz aus der Liste der verfügbaren Instanzen.

  3. Überprüfen Sie die Spalte Aktionen und klicken Sie auf die Option Mehr. Wählen Sie den Instanzstatus aus.

Die Spalte Aktionen enthält die folgenden Optionen:

  • Ändern Sie die Größe einer Instanz oder erstellen Sie sie neu

  • Zeigen Sie das Protokoll der Instanzkonsole an

  • Bearbeiten Sie die Instanz

  • Ändern Sie Sicherheitsgruppen

  • Die Instanz pausieren, fortsetzen oder anhalten

  • Weiches oder hartes Zurücksetzen der Instanz

Bemerkung

Beenden Sie die Instanz in der Spalte Aktionen.

Managing volumes for persistent storage

Datenträger werden an Instanzen angehängt, wodurch dauerhafter Speicher aktiviert wird. Der Datenträgerspeicher stellt eine Speicherquelle für Instanzen bereit. Administratoren können Datenträger einer laufenden Instanz anhängen oder ein von einer Instanz zu einer anderen verschieben.

Nova-Instanzen Live-Migration

Nova ist in der Lage, Live-Migrationsinstanzen von einem Host zu einem anderen Host zu unterstützen, um verschiedene operative Aufgaben zu unterstützen, darunter:

  • Host-Wartung

  • Host-Kapazitätsverwaltung

  • Ändern der Größe und Verschieben von Instanzen zu besserer Hardware

Nova Konfigurations-Laufwerk Implikation

Abhängig von der verwendeten OpenStack-Ansible-Version kann Nova so konfiguriert werden, dass Konfigurationslaufwerk-Anhänge für Instanzen erzwungen werden. In diesem Fall wird ein ISO9660-CD-ROM-Image für die Instanz über den Einhängepunkt /mnt bereitgestellt. Dies kann von Tools wie cloud-init verwendet werden, um auf Instanzmetadaten zuzugreifen. Dies ist eine alternative Möglichkeit, auf die Metadaten im Nova EC2-Stil zuzugreifen.

To allow live migration of Nova instances, this forced provisioning of the config (CD-ROM) drive needs to either be turned off, or the format of the configuration drive needs to be changed to a disk format like vfat, a format which both Linux and Windows instances can access.

Diese Umgehung ist für alle Libvirt-Versionen vor 1.2.17 erforderlich.

To turn off the forced provisioning of and change the format of the configuration drive to a hard disk style format, add the following override to the /etc/openstack_deploy/user_variables.yml file:

nova_nova_conf_overrides:
  DEFAULT:
    config_drive_format: vfat
    force_config_drive: false

Tunnelling gegen direkten Transport

In der Standardkonfiguration ermittelt Nova die korrekte Transport-URL für die Übertragung der Daten von einem Host zum anderen. Abhängig von der nova_virt_type Überschreibung werden folgende Konfigurationen verwendet:

  • kvm verwendet standardmäßig qemu+tcp://%s/system

  • qemu verwendet standardmäßig `` qemu+tcp://%s/system``

Libvirt TCP-Port zum Übertragen der zu migrierenden Daten.

OpenStack-Ansible ändert die Standardeinstellung und verwendet eine verschlüsselte SSH-Verbindung, um die Instanzdaten zu übertragen.

live_migration_uri = "qemu+ssh://nova@%s/system?no_verify=1&keyfile={{ nova_system_home_folder }}/.ssh/id_rsa"

Andere Konfigurationen können in der /etc/openstack_deploy/user_variables.yml Datei konfiguriert werden:

nova_nova_conf_overrides:
  libvirt:
    live_migration_completion_timeout: 0
    live_migration_progress_timeout: 0
    live_migration_uri: "qemu+ssh://nova@%s/system?keyfile=/var/lib/nova/.ssh/id_rsa&no_verify=1"

Lokaler oder gemeinsam genutzter Speicher

Live-Migration setzt standardmäßig voraus, dass Ihre Nova-Instanzen auf gemeinsam genutztem Speicher gespeichert sind und KVM/Libvirt nur den Speicher und das Basis-Image der Nova-Instanz mit dem neuen Host synchronisieren müssen. Live-Migrationen auf lokalem Speicher werden als Ergebnis dieser Annahme fehlschlagen. Migrationen mit lokalem Speicher können durchgeführt werden, indem Sie Plattenmigrationen mit der Option block-migrate zulassen.

Zusätzliche Nova-Funktionen wie ephemere Speicherung oder Austausch wirken sich auf die Leistung und den Erfolg von Live-Migrationen aus.

An Cinder angehängte Datenträger erfordern ebenfalls eine Libvirt-Version größer oder gleich 1.2.17.

Ausführen der Migration

Die Livemigration ist über den nova-Client zugänglich.

nova live-migration [--block-migrate] [--force] <uuid> [<host>]

Beispielhafte Live Migration auf einem lokalen Speicher:

nova live-migration --block-migrate <uuid of the instance> <nova host>

Überwachung des Status

Sobald die Live-Migrationsanfrage angenommen wurde, kann der Status mit dem Novaclient überwacht werden:

nova migration-list

+-----+------------+-----------+----------------+--------------+-----------+-----------+---------------+------------+------------+------------+------------+-----------------+
| Id | Source Node | Dest Node | Source Compute | Dest Compute | Dest Host | Status    | Instance UUID | Old Flavor | New Flavor | Created At | Updated At | Type            |
+----+-------------+-----------+----------------+--------------+-----------+-----------+---------------+------------+------------+------------+------------+-----------------+
| 6  | -           | -         | compute01      | compute02    | -         | preparing | f95ee17a-d09c | 7          | 7          | date       | date       | live-migration  |
+----+-------------+-----------+----------------+--------------+-----------+-----------+---------------+------------+------------+------------+------------+-----------------+

Um die Liste zu filtern, können die Optionen --host oder --status verwendet werden:

nova migration-list --status error

In Fällen, in denen die Live-Migration fehlschlägt, müssen sowohl der Quell- als auch der Zielcomputerknoten auf Fehler überprüft werden. In der Regel reicht es aus, nur nach der UUID der Instanz zu suchen, um Fehler im Zusammenhang mit der Livemigration zu finden.

Andere Formen der Instanzmigration

Neben der Live-Migration bietet Nova die Möglichkeit, ganze Hosts in einer Online- (Live) oder Offline- (Cold-) Migration zu migrieren.

Die folgenden nova-Client-Befehle werden bereitgestellt:

  • host-evacuate-live

    Live migriert alle Instanzen des angegebenen Hosts auf andere Hosts, wenn die Ressourcennutzung dies zulässt. Es empfiehlt sich, gemeinsam genutzten Speicher wie Ceph oder NFS für die Host-Evakuierung zu verwenden.

  • host-servers-migrate

    Dieser Befehl ähnelt der Host-Evakuierung, migriert jedoch alle Instanzen vom angegebenen Host, während sie heruntergefahren werden.

  • resize

    Ändert der Variante einer Nova-Instanz (erhöhen) während des Neustarts und migriert (kalt) die Instanz auf einen neuen Host, um den neuen Ressourcenanforderungen gerecht zu werden. Dieser Vorgang kann je nach Größe des Disk-Images sehr viel Zeit in Anspruch nehmen.