Zum Inhalt

Cloud Scheduler

Der Scheduler der NETWAYS Cloud ist verantwortlich für das Verteilen von virtuellen Maschinen auf geeignete Hosts. Dabei werden in erster Linie vorallem die notwendigen Ressourceanforderungen einer VM mit den freien Ressourcen möglicher Hosts verglichen und danach ein entsprechender Host ausgewählt.

Als Kunde hat man zudem die Möglichkeit die Auswahl des Schedulers für seine eigenen VMs zu beeinflussen.

Flavors

Durch die Wahl des Flavors werden mögliche Hosts, die die zukünftige VM ausführen sollen, zuerst bestimmt. Eine virtuelle Maschine die beispielsweise eine GPU oder einen dedicated CPU aufgrund ihrer Flavor-Definition benötigt, wird demnach nur auf entsprechenden Hosts mit entsprechender Hardware ausgeführt.

Availability Zones

Das Setzen einer Availability Zone schränkt die Gruppe der möglichen Hosts weiter ein. Eine virtuelle Maschine wird entsprechend seiner gesetzten Availability Zone nur in der jeweiligen Verfügbarkeits-Zone bzw. Aggregations-Gruppe gestartet.

Die Region Nürnberg unterstützt derzeit folgende AZ's:

  • HetznerNBG4
  • NorisNBG3

Die Wahl der Availability Zone kann entweder über das OpenStack Web-Interface oder die CLI erfolgen:

Screenshot des Create Instance Dialog inkl. Availability Zone

Verfügbare AZs listen:

openstack availability zone list

VM starten und einer AZ zuweisen:

openstack server create --image $image_id --flavor $flavor_id --availability-zone $az_name $vm_name

Availability Zone

Die Availability Zone kann im Nachhinein nicht mehr geändert werden.

Affinity und Anti-Affinity (Server Groups)

Server Groups bieten eine Möglichkeit die Lokalität von VMs relativ zu anderen VMs zu beeinflussen. Es kann damit eine Affinität (auf dem selben Host) oder eine Anti-Affinität (auf einem anderen Host) gesetzt werden.

Möchte man beispielsweise die Latenz von einer VM zu einer weiteren so niedrig wie möglich halten, ist die Affinität - das Starten der VMs auf dem gleichen Host - von Vorteil, während Anti-Affinität die Reselienz und die Lastverteilung von Anwendungen verbessern kann.

Server Group erstellen:

openstack server server group create --policy POLICY --rule RULE_NAME

VM starten und einer Server Group hinzufügen:

openstack server create --hint group=$server_group_uuid ... $vm_name 

Verfügbare Policies:

  • affinity: Schränkt VMs, die zur Servergruppe gehören, auf denselben Host ein.
  • anti-affinity: Schränkt die zur Servergruppe gehörenden VMs auf separate Hosts ein.
  • soft-affinity: Versucht, die zur Servergruppe gehörenden VMs auf denselben Host zu beschränken. Wenn es nicht möglich ist, alle VMs auf einem Host einzuplanen, werden sie zusammen auf so wenigen Hosts wie möglich eingeplant.
  • soft-anti-affinity: Versucht, die zur Servergruppe gehörenden VMs auf einzelne Hosts zu verteilen. Wenn es nicht möglich ist, alle VMs auf separaten Hosts einzuplanen, werden sie auf so vielen separaten Hosts wie möglich eingeplant.
  • max_server_per_host: Gibt die maximale Anzahl von Instanzen an, die bei Verwendung der Anti-Affinity-Richtlinie auf einem bestimmten Host geplant werden können. Diese Regel ist nicht mit anderen Richtlinien kompatibel.