Zahlen aus dem Bestand holen
Fast jede Lizenz skaliert über eine messbare Größe: Kerne, Sockel, Nutzerkonten oder Instanzen. Erhebe genau diese Größe, dann brauchst du für die Rechnung keine Schätzungen.
# Sockel, Kerne und Threads eines Hosts
lscpu | grep -E 'Socket|Core|Thread|Model name'
# Zahl der physischen Kerne, ohne Hyperthreading doppelt zu zählen
lscpu -p=SOCKET,CORE | grep -v '^#' | sort -u | wc -l
# Über den ganzen Bestand, ohne Agent auf den Zielsystemen
ansible all -m setup -a 'filter=ansible_processor*' \
| grep -E 'ansible_processor_(cores|count|vcpus)'
# VMware-Bestand über die offene Kommandozeile govc auslesen
export GOVC_URL=<vcenter> GOVC_USERNAME=<benutzer>
govc host.info -json | head
govc ls /*/vm | wc -lDie entscheidende Zahl sind physische Kerne je Host, nicht Threads. Daran hängen die meisten Server- und Datenbanklizenzen, und daran entsteht der unangenehme Effekt, dass ein Konsolidierungsprojekt die Lizenzkosten erhöht, obwohl die Zahl der virtuellen Maschinen sinkt.
Was du je Lizenzmodell messen musst
| Lizenzmodell | Kostentreiber | So kommst du an die Zahl |
|---|---|---|
| pro physischem Kern | alle Kerne der Hosts, auf denen die Software laufen darf | lscpu -p=SOCKET,CORE je Host, Summe über den Cluster |
| pro Sockel | Zahl der bestückten Sockel | lscpu | grep Socket |
| pro Nutzer oder Gerät | aktive Konten, nicht angelegte | Verzeichnisdienst nach letzter Anmeldung filtern |
| pro Instanz | laufende Instanzen inklusive Test und Abnahme | govc, virsh list --all oder das Inventar der Virtualisierung |