In meinem letzten Artikel „vmware-resource-management-shares-was-ist-das“ habe ich versucht das Thema Resource Management und die Einstellmöglichkeiten für VMs in vmware vSphere zu behandeln. Schwerpunkt lag auf den oft falsch interpretierten „Shares“.
Nun möchte ich gern das Thema Resource Pools und deren Nutzen und Risiken beschreiben.
Global betrachtet sind Resource Pools in vmware von zwei Seiten anzugehen.
- Gruppen von VMs mit gleichen Resource Einstellungen bezüglich Limits, Reservations und Shares.
- Objekte die Hierarchiene abbilden können, sowie Resourcen von Hardware separieren.
Gleich vorweg, die Zweite Seite ist bedeutend schwieriger und komplexer zu betrachten als die erste.
Wenn man den Bedarf hat für viele VMs Resource Einstellungen zu tätigen, z.B. um sie unterschiedlich zu priorisieren, sind Resource Pools eine einfache Möglichkeit solche „Prioritäten-gruppen“ zu erstellen. Nun muß man VMs nur noch in diese Pools verschieben und die festgelegten Konfigurationen gelten für sie. Dabei sollte man allerdings einige Design Best Practices beachten. Diese habe ich aus einer VMWorld Session von Frank Denneman und Duncan Epping übernommmen.
A. NIE mehr als drei Ebenen von Resource Pools definieren!
B. Wenn Resource Pools, dann KEINE VMs auf gleicher Ebene wie Resource Pools, sondern die VMs immer in die unterste Resource Pool Ebene plazieren.
Dabei bitte beachten „vApps sind IMMER auch Resource Pools“
Was man mit Resource Pools nicht tun sollte, ist die Abbildung von Unternehmens Organigrammen oder Hierarchien! Es ist zwar möglich auch auf Resource Pools Rechte zu vergeben, aber nur dafür ist der Aufwand den man dem vmkernel bzw. dem vCenter Server verschafft zu groß. Jetzt fangen diese nämlich an Resource Management zu betreiben, obwohl das garnicht geplant war.
Was man machen kann, ist die Bildung von Resource Silos mit Hilfe von Resource Pools!
Dieses kann durch einen, oft nicht beachteten oder gekannten Schalter in der Resource Pool Konfiguration erfolgen.
Es handelt sich um den Schalter „Expandable Reservation„.
Dazu muß etwas ausgeholt werden.
Was ist denn der Root-Resource Pool einer vSphere Umgebung?
I. Bei einem Single-Host der ESX/ESXi Host selbst!
II. Bei einem vSphere Cluster die gesamten Cluster-Resourcen!!!
(Einschränkung: Im Cluster gibt es nur dann Resource Pools (und auch vApps!!) wenn DRS aktiv ist. Somit haben alle Kunden der Standard Lizenz zwar HA und somit Cluster, aber keine Resource Pools (bitte beachten).)
Expandable Reservation bedeutet, das wenn ein Kind-Resource Pool keine Resourcen mehr bereitstellen kann, er diese beim übergeordneten Resource Pool anfragt, sofern der Schalter „Expandable Reservation“ gesetzt ist – Bedenke im Zweifelsfall ist das der Host oder Cluster!
Ist der Schalter nicht gesetzt, kann unter Umständen einen Reservation nicht erfüllt werden und eine oder mehrere VMs bleiben aus. Setzt man z.B. in der ersten Resource Pool Eben statt Reservations – Limits, könnte man dadurch Silos bauen die von Host Resourcen unabhängig sind.
So könnte ein Provider z.B. jedem Kunden, je nach dem was er zahlt, eine Limit bestimmter MHz CPU Leistung und GB RAM zuteilen. Gesteuert über einen „Kunden“ Resource Pool der nicht „Expandable“ ist. Nun kann dieser Kunde nichts „anstellen“ was alle anderen Kunden der gleichen Umgebung beeinflusst.
Was halten Sie von dieser Idee?
Kommentare erwünscht.
Demnächst mehr !