[ 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. Log into the Dashboard, and select the admin project from the drop down list.

  2. On the Project tab, open the Instances tab and click the Launch Instance button.

    ../../_images/launch_instance.png

    Figure Dashboard — Instances tab

  3. Check the Launch Instance dialog, and find the Details tab. Enter the appropriate values for the instance.

    ../../_images/details.png

    Instance Details

  4. Click the Source. In the Source step, select the boot source: Image, Volume (Volume Snapshot), or Instance Snapshot. If you choose Image, pick the desired OS or custom image from the list to boot your instance. Volume option will only be available if Block Storage service (cinder) is enabled.

    ../../_images/source.png

    Instance Source

    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.

  5. In the Launch Instance dialog, click the Flavor tab and select the prefered flavor for you instance.

  6. Click the Networks tab. This tab will be unavailable if Network service (neutron) has not been enabled. If networking is enabled, select the networks on which the instance will reside.

    ../../_images/networks.png

    Instance Networks

  7. Click the Keypair tab and select the keypair or create new one.

  8. Click the Security Groups tab and set the security group as „default“.

  9. Add customisation scripts, if needed, by clicking the Configuration. These run after the instance has been created. Some instances support user data, such as root passwords, or admin users. Enter the information specific to the instance here if required.

  10. Click Launch to create the instance. The instance will start on a compute node. The Instances page will open and start creating a new instance. The Instances page that opens will list the instance name, size, status, and task. Power state and public and private IP addresses are also listed here.

    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.

    ../../_images/instances.png

    Instances Page

    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

    The type of container format, one of raw, qcow2, iso, vmdk,``vdi`` etc.

    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.

    Abbild

    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.

    Networks

    Wahlweise

    To add a network to an instance, click the Downwards Arrow symbol in the Networks field.

    Configuration

    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. Log in to the Dashboard. Select one of the projects, and click Instances.

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

  3. Check the Actions column, and click on the down arrow. Select the action.

Die Spalte Aktionen enthält die folgenden Optionen:

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

  • Attach/Detach Volume

  • Attach/Detach Interface

  • Zeigen Sie das Protokoll der Instanzkonsole an

  • Bearbeiten Sie die Instanz

  • Edit security groups

  • Pause, resume, rescue or suspend the instance

  • Weiches oder hartes Zurücksetzen der Instanz

Bemerkung

Delete the instance under the Actions column.

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.

Instances 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

By default, live migration assumes that your instances are stored on shared storage and KVM/Libvirt only need to synchronize the memory and base image of the instance to the new host. Live migrations on local storage will fail as a result of that assumption. Migrations with local storage can be accomplished by allowing instance disk migrations with the --block-migrate option.

Additional flavor features like ephemeral storage or swap have an impact on live migration performance and success.

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

    Changes the flavor of an instance (increase) while rebooting and also migrates (cold) the instance to a new host to accommodate the new resource requirements. This operation can take considerate amount of time, depending disk image sizes.