Beiträge

Virtuelle Maschinen in zwei Rechenzentren organisieren (VMWare Pinning)

Virtuelle Maschinen in zwei Rechenzentren organisieren (VMWare Pinning)

Da wir im letzten Jahr unsere Infrastruktur um eine zweite Location in einem neuen Rechenzentrum erweitert haben, sind durch diesen Schritt neue Herausforderungen auf uns hinzugekommen.
Eine der Herausforderungen war, die Virtuellen Maschinen in den richtigen Rechenzentren laufen zu lassen.

Das heißt, dass die Virtuellen Maschinen (Config Files) sowie der Datastore am gleichen Standort läuft/liegt, um unnötigen Traffic über die Standleitungen zu verhindern.

Problembeschreibung:

Wir besitzen zwei VM-Farmen mit zugehörigen Storages, die auf zwei Rechenzentren aufgeteilt sind.

Wenn das Config File einer Virtuellen Maschine in Rechenzentrum 1 liegt, der Storage aber im Rechenzentrum 2, dann hat das natürlich extreme Auswirkungen auf das Netzwerk, da der Traffic immer zwischen den beiden Rechenzentren läuft.

Wenn die Virtuelle Maschine aber in einem Rechenzentrum läuft und die Storage auch korrekt definiert ist, dann ersparen wir uns den unnötigen Traffic.

Problemlösung:

Dazu habe ich ein Script entwickelt, dass das überprüft und die Ergebnisse unserem Monitoring System Zabbix meldet.

Ich habe für das Script Powershell verwendet.

Aufbau des Scripts:

  • Um in VMWare via Powershell Daten abzufragen oder Änderungen vornehmen zu können, muss man sich zuerst mit dem Server verbinden:
connect-viserver -Server <Server>
  • Abfrage der Config Files aller Virtuellen Maschinen in beiden Rechenzentren:
[string[]]$rzfmvms = Get-Cluster <Cluster1> | Get-VM | Select Name

[string[]]$zfs1config = Get-VM | Select Name, @{N="VMConfigFile";E={$_.extensiondata.config.files.vmpathname}} 
| Where VMConfigFile -Like "*<Storage1*>" | Select Name

[string[]]$zfs2config = Get-VM | Select Name, @{N="VMConfigFile";E={$_.extensiondata.config.files.vmpathname}} 
| Where VMConfigFile -Like "*<Storage2*>" | Select Name

[string[]]$rzesvms = Get-Cluster <Cluster2> | Get-VM | Select Name

[string[]]$zfs3config = Get-VM | Select Name, @{N="VMConfigFile";E={$_.extensiondata.config.files.vmpathname}} 
| Where VMConfigFile -Like "*<Storage3*>" | Select Name

[string[]]$zfs4config = Get-VM | Select Name, @{N="VMConfigFile";E={$_.extensiondata.config.files.vmpathname}} 
| Where VMConfigFile -Like "*<Storage4*>" | Select Name
[string[]]$zfsvms2 = $zfs3config + $zfs4config
  • Nach einigen notwendigen Zwischenschritten (hauptächlich Formatierungen: [@{Name=“, „“, } „“ entfernt) arbeite ich mit einer for-Schleife dann die Einträge ab und überprüfe, ob der Name der Virtuellen Maschine auf einem Storage eines anderen Rechenzentrum auftaucht und lese mir die „Persistent ID“ der Virtuellen Maschine aus.

Diese Information schicke ich dann an unser Monitoring System.

$<Cluster1> | ForEach-Object{
    
    $id = Get-VM | Where Name -Like $_ | select PersistentId
    C:\zabbix\ZABBIX_SENDER.EXE -z <ZabbixServerIP> -s $id.PersistentId -k <ZabbixTrigger> -o yes
}
#Send the information to Zabbix so we can monitor the wrong Config Files
$<Cluster2> | ForEach-Object{
    
    $id = Get-VM | Where Name -Like $_ | select PersistentId
    C:\zabbix\ZABBIX_SENDER.EXE -z <ZabbixServerIP> -s $id.PersistentId -k <ZabbixTrigger> -o yes
}

Somit kann ich über unser Monitoring System jederzeit überprüfen, welche Virtuellen Maschinen falsch laufen und diese dann entsprechend verschieben.

Anmerkung:

Mit der Version 5.0 von Zabbix kann man die Formatierung auch direkt im Preprocessing ohne JavaScript durchführen.

Oracle VMware lizenzieren

Oracle VM – Datenbank lizenzieren in virtueller Umgebung

Um Oracle Datenbanken in virtueller Umgebung wie zum Beispiel VMware entsprechend den Lizenzvorgaben korrekt zu lizenzieren, müssen vorab einige wichtige und richtige Entscheidungen getroffen werden.

Mit Hilfe unseres „Oracle Quick Pocket Licence Guide“ und unserer Email Serie „Oracle Lizenzierung. Teure Fehler vermeiden.“ möchten wir Sie auf einige dieser Besonderheiten hinweisen.

Ein ausschlaggebendes Kriterium welches über die korrekte Lizenzierung von Oracle Standard Edition One (SEOne), Oracle Standard Edition (SE) oder Oracle Enterprise Edition (EE) Datenbanken entscheidet, ist die Hardwareausstattung.

Bitte beachten Sie auch die im Pocket Guide je Datenbank Edition angeführten Minima.

Die Minima sind jene Anzahl an Named User Plus Lizenzen, die Sie mindestens benötigen, falls Sie noch keine Lizenzen besitzen.

Zum kostenlosen Download des „Oracle Quick Pocket Licence Guide >>“

 

Soft Partitioning vs Hard Partitioning

Eine virtualisierte Umgebung mittels VMware fällt bei Oracle immer unter Softpartitioning!

Dabei muss die physikalische Gesamtleistung des einzelnen Servers zur Lizenzierung betrachtet werden und nicht bloß die virtuell zugeteilte Leistung. Weitergehend muss man je nach eingesetzter vSphere Version einen ganzen Cluster (bis 5.0), das ganze vCenter (ab 5.1), und ab vSphere 6.0 voraussichtlich alle vCenter oracleseitig auslizenzieren. Siehe dazu: Oracle Partitioning Policy >>

Oracle sieht auf x86 Hardware Plattformen unter bestimmten Konfigurationen OracleVM_for_x86 und Oracle_Solaris_Zones als harte Eingrenzungen und lizenztechnisch korrekt unter Hardpartitioning.

Siehe dazu: Hard Partitioning with Oracle VM >>

Unsere Erfahrung hat gezeigt, dass Unternehmen speziell in virtualisierten Serverlandschaften sich immer wieder durch falsche Auslegung des Softpartitioning große Probleme mit fehlerhafter Lizenzierung einhandeln.
Durch rechtzeitige Überlegungen und durch unser Knowhow können wir Sie aktiv unterstützen, um spätere Diskussionen im Zuge eines Lizenz Audit mit Oracle schon vorab zu vermeiden.

Zum kostenlosen Download des „Oracle Quick Pocket Licence Guide >>“