[ 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.
Melden Sie sich am Dashboard an und wählen Sie das Projekt Compute aus der Dropdown-Liste aus.
Klicken Sie auf die Option Abbilder.
Suchen Sie das Abbild, das als Instanzbasis dienen soll, aus der Tabelle Abbilder.
Klicken Sie in der Spalte Aktionen auf Starten.
Überprüfen Sie das Dialogfeld Instanzen starten und finden Sie die Registerkarte Details. Geben Sie die entsprechenden Werte für die Instanz ein.
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.
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.
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.
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.
Klicken Sie auf Erweiterte Optionen. Geben Sie an, ob die Instanz ein Konfigurationslaufwerk zum Speichern von Metadaten verwendet, indem Sie einen Festplattenpartitionstyp auswählen.
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
oderovf
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 stattdessenSnapshot
.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.
Melden Sie sich bei einem beliebigen Dienstprogrammcontainer an.
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 | +-------------------------------------+--------------------------------------+
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¶
Melden Sie sich am Dashboard an. Wählen Sie eines der Projekte und klicken Sie auf Instanzen.
Wählen Sie eine Instanz aus der Liste der verfügbaren Instanzen.
Ü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"
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.