Your SlideShare is downloading. ×
Webcast - VMware Scripting
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Webcast - VMware Scripting

2,325

Published on

„Scripting in VMware-Umgebungen - praxisorientierte Vorstellung gängiger Lösungen". …

„Scripting in VMware-Umgebungen - praxisorientierte Vorstellung gängiger Lösungen".
• Agenda:
o Die Rolle der vSphere API (ESX, ESXi, vCenter)
o Einblick in das Schaltwerk mit dem Managed Object Browser
o Intuitives Orchestrieren mit VMware Powershell cmdlets aka PowerCLI
o VMware Scripting auch für *nix-Plattformen, Perl SDK, vMA und vCLI
o Performance-Kniffe beim Scripting (sowohl für Perl SDK als auch für
PowerCLI)

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,325
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
66
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Wer sind wir: ConSol Consulting & Solutions beschäftigt sich mit Vorort- und Remote-Betrieb seit 1984. Ein weiteres Streckenpferd ist die Lösungsentwicklung in diversen Einsatzgebieten und mittels unterschiedlichster Programmiersprachen. Zuletzt ist aus Eigeninitiative der Mitarbeiter die Business Unit Virtualisierung entstanden. Diese macht es sich zur Aufgabe, zusammen mit Kunden Lösungen zu entwickeln und zu implementieren. Zusätzlich werden verschiedene Betriebsvarianten bis zum 24x7 Support mit strikten Reaktions- und Lösungszeiten angeboten. Herr Geierhos und ich sind Teil dieses Teams und möchten Ihnen heute über Lösungsansätzen zu einem Problem berichten, das uns selbst regelmäßig wieder begegnet. Die Dimensionierung virtueller –oder zukünftig virtueller- Umgebungen.
  • Transcript

    • 1. Scripting in VMware Umgebungen Effiziente Adminstration mit Powershell und Perl Sebastian Kayser & Daniel Reinold, ConSol* GmbH
    • 2.
      • ConSol* - Wer sind wir?
      • Klassische Administration vs. Scripting
      • vSphere Web Services & SOAP
      • Scripting mit Powershell: PowerCLI
      • Scripting mit Perl: Perl SDK
      • Performance-Überlegungen
      Agenda
    • 3.  
    • 4. Webcast Serie Get Virtual – Virtualisierung erfolgreich gestalten http://www.flickr.com/photos/ppym1/93571524/
        • Folge 1: Desktop Virtualisierung
        • Folge 2: Infrastruktur-Virtualisierung: vSphere4, vCenter, ESX-Server u.a.
        • Folge 3: Performance und Dimensionierung von virtuellen Umgebungen
        • Folge 4: Scripting in VMware-Umgebungen on air
        • Folge 5: Backup in Vmware-Umgebungen Ende August / Anfang September
    • 5. Disclaimer Wir sind: IT Consultants und VMware Spezialisten ... keine Entwickler (auch wenn wir für harte Fälle genügend im Haus sitzen haben) http://www.flickr.com/photos/ppym1/93571524/
    • 6. Klassische vSphere Administration
        • Point & Click mit vSphere Client
        • Verwaltet einzelne ESX Server oder via vCenter mehrere ESX Server
    • 7. Problem?
    • 8. Problem?
        • Aufwand entspricht O(n)
        • Konsistenz nicht gewährleistet
        • Informationssuche mitunter schwer
    • 9. Alternativer Ansatz: Scripting
        • Aufwand einmal pro Skript
        • Konsistente Änderungen
        • Kann gezielt Informationen auslesen (auch bei vielen VMs)
        • Was ist Ihr größter Zeitfresser? -> Automatisieren!
    • 10. Scripting-Infrastruktur
        • Nicht limitiert auf das Wrappen von Service-Konsolen-Kommandos
        • ESX und vCenter exportieren SOAP-basierte Web-Services zur Instrumentierung
        • Konsumenten: vSphere Client, vSphere CLI, PowerCLI, vSphere SDK for Perl, 3 rd Party Hersteller, u.v.m.
      SOAP
    • 11. SOAP?
    • 12. Scripting-Infrastruktur: SOAP
      • vSphere Client Login bei 6 ESX Hosts, ca. 150 VMs produziert ~ 650 KByte (!) SOAP Daten http://akutz.wordpress.com/2010/03/10/how-to-vsphere-client-to-vcenter-using-http/
    • 13. Scripting-Infrastruktur: Die Tools
      • SOAP ist der Unterbau, Tools und Frameworks abstrahieren
        • vSphere CLI (ehemals RCLI): Kommandos zur Remote-Administration
        • vSphere PowerCLI (ehemal VI Toolkit): Powershell Cmdlets für vSphere
        • vSphere SDK for Perl : Perl Interface für Unix/Linux Plattformen
        • vSphere Management Assistant (vMA, ehemals VIMA): Vorinstallierte Linux VM Appliance mit vSphere CLI und Perl SDK
      • http://www.vmware.com/support/pubs/sdk_pubs.html
    • 14. Nicht kompatibel mit VMware Server ESXi mit Lizenz -> ok ESXi ohne Lizenz-> read-only http://www.flickr.com/photos/adobemac/294078052/#/
    • 15. Tools: vSphere CLI
        • Für Windows, Linux oder via vMA: esxcfg-*, vicfg-*
        • Besonders wichtig für ESXi Deployments ohne Service Console
        • Nur die Linux Version hat derzeit resxtop! (Stand vCLI 4.1)
        • Kommandos:
      esxcfg-* obsolet
    • 16. Tools: PowerCLI (1)
        • vSphere cmdlets für PowerShell (W7 & W2008R2 haben PowerShell pre-installed)
        • Gebaut speziell für Administratoren, nicht für Entwickler
        • Paradigma intuitive Nutzung: <verb>-<aktion>, z.B. „get-vm“
        • 237 cmdlets verfügbar (PowerCLI 4.1)
        • Kommandos suchen: „get-vicommand | select-string <suchbegriff>“
        • Hilfe eingebaut: „help <kommando>“, „help <kommando> -examples“
        • Abstrahieren vSphere API -> „nicht machbar“ gibt es nicht
      • Nicht nur VMware selbst bietet cmdlets, sondern auch 3 rd Party Hersteller für ihre Produkte Lernenswert: Microsofts Common Engineering Criteria -> PowerShell cmdlets für jedes Produkt
    • 17. Tools: PowerCLI (2)
        • Anwendungsbeispiel: Auf der Suche nach dem Silent Datastore Killer … Snapshots
        • Name, Description, PowerState … Sind das alle Attribute die zur Verfügung stehen?
        • Vollständige Attributlist über get-member/select-object oder format-list
        • Filterbar nach Kriterien: get-vm | get-snapshot | where { $_.Created -lt ((Get-Date).AddDays(-7)) }
    • 18. Tools: PowerCLI (3)
      • Weitere Beispiele:
        • Changed Block Tracking (CBT) aktivieren, insofern Backup-SW das nicht macht http://ict-freak.nl/2009/12/14/powercli-enable-changed-block-tracking/
        • vCenter Rollen & Berechtigungen dokumentieren http://www.wekabyte.co.uk/2010/02/powercli-documenting-vcenter-permissions-part-1/
        • Scripts en masse im VMware Powerpack (ehemal Virtu-Al Powerpack): http://www.virtu-al.net/featured-scripts/vmware-powerpack/
        • ESX Deployment http://www.ivobeerens.nl/?p=509 , u.v.v.v.m.
      • Links:
        • http://vmware.com/go/powercli , http://blogs.vmware.com/vipowershell/
        • http://www.virtu-al.net/ , http://get-admin.com/blog/ , http://www.peetersonline.nl/ , http://www.lucd.info/
        • Link zu cmdlets Poster und PowerCLI Intro: http://blog.consol.de/virtualisierung/2010/04/02/vmware-powercli-auch-fur-perl-sdk-ler/
    • 19. Tools: vSphere SDK for Perl (1)
        • Perl Bindings/Module/Framework zum Arbeiten mit der vSphere API
        • Weniger abstrahiert als PowerCLI, nahe an der API, daher weniger intuitiv/deklarativ
        • Beispiel : Get-VM übersetzt in Perl
        • Geeignet in Unix/Linux-zentrierte Umgebungen oder für Nagios-Checks
    • 20. Tools: vSphere SDK for Perl (2)
        • Deployment anfänglich einfachst mit dem vMA
        • Credentials cachen, zwei Varianten
          • 30 Minuten: /usr/lib/vmware-vcli/apps/session/save_session.pl
          • Dauerhaft: vifp addserver, vifpinit (Achtung: Sicherheitsanforderung bedenken
        • Deployment anfänglich einfachst mit dem vMA
        • Credentials cachen, zwei drei Varianten
          • 30 Minuten: /usr/lib/vmware-vcli/apps/session/save_session.pl
          • Dauerhaft: vifp addserver, vifpinit (Achtung: Sicherheitsanforderung bedenken
      • Neu mit vMA 4.1: AD Authentifizierung http://www.virtuallyghetto.com/2010/07/vma-41-active-directory-intergration.html
    • 21. Tools: vSphere SDK for Perl (3)
      • Anschauungsmaterial:
        • Alle vicfg-Kommandos vom vSphere CLI bauen auf dem Perl SDK auf
        • Beispiel-Skripte unter: /usr/share/doc/vmware-vcli/samples, /usr/lib/vmware-vcli/apps
      • Links:
        • Programming Guide: http://www.vmware.com/support/developer/viperltoolkit/
        • Community: Skripte: http://communities.vmware.com/community/developer/codecentral/vsphere_perl
    • 22. Problem #1: vSphere API
        • Woher weiss man, welche Objekte, Methoden und Attribute zur Verfügung stehen?
        • Programming Guides, PowerCLI -> get-member, Perl -> Data::Dumper
        • Offizielle SDK Doku: http://www.vmware.com/support/developer/vc-sdk/ -> API Reference
        • Meist schneller: Der Managed Object Browser , verfügbar auf jedem ESX und vCenter Host https://<hostname>/mob/
    • 23. Problem #2: Laufzeit der Skripte (1)
        • Selbst vermeintlich simple Abfragen wie Get-VM „brauchen lange“
        • Bei größeren Umgebungen Laufzeiten bis zu 30 Sekunden oder mehr
        • Ursache: Ohne genauere Spezifizierung werden
        • a) ein Großteil der Attribute ausgelesen und aufbereitet
        • b) potentiell mehr Objekte abgerufen, als benötigt
        • Beides sehr aufwendig (Client- & Server-seitig), beim Perl SDK z.B. Accessor Methoden Konstruktion
        • Beispiel: get_vms.pl, ca. 150 VMs, Laufzeit 15 Sekunden, 4,5 MB (!) an SOAP Daten,
    • 24. Problem #2: Laufzeit der Skripte (2)
        • Besser: vorher überlegen welche Daten benötigt werden!
        • Perl SDK: find_entity_views() um „filter“ und „properties“ ergänzen
        • PowerCLI: Anstatt Get-VM, Get-View mit -property verwenden
        • Beispiel: get_vms.pl, ca. 150 VMs, Einsatz von „properties“
        • Laufzeit um ca. 85% von 15 Sekunden auf 2 Sekunden reduziert
        • SOAP Daten um ca. 98% von 4,5 MB auf 60 KByte reduziert Achtung : Abwägen zwischen Pragmatismus/Zweck und Aufwand
    • 25. Problem #3: Webcast-Zeit limitiert ...
      • … deswegen nähern wir uns jetzt dem Ende. ;)
      http://www.flickr.com/photos/carbonnyc/64581364/
    • 26. Fazit
        • Scripting übernimmt server-übergreifend wiederkehrende Aufgaben
        • Nicht alles muss geskriptet werden. Was frisst am meisten Zeit?
        • Vielseitige Tools, Windows & Linux
        • Eingewöhnungsphase notwendig, enorm viele Informationen online verfügbar
        • Auch Unix-Admins können/sollten bei PowerCLI reinschnuppern
        • Runterladen, ausprobieren!
    • 27. FRAGEN Besuchen Sie uns online: blog.consol.de/virtualisierung/ www.consol.de/virtualisierung/ Oder kontaktieren Sie uns: [email_address] +49-89-45841-100 ConSol* Consulting & Solutions Software GmbH Franziskanerstr. 38 D-81669 München

    ×