Mit Powershell, Veeam und Co. effizient automatisieren Praxisleitfaden Automatisierung im Rechenzentrum

Autor / Redakteur: Mike Resseler und Bernd Reder / Ulrike Ostler

Administratoren müssen heute IT-Dienstleistungen aller Art bereitstellen, und das in immer komplexeren IT-Umgebungen. Diese Aufgabe lässt sich nur durch die weitgehende Automatisierung von Prozessen im Rechenzentrum bewältigen, etwa mithilfe von Tools wie „Powershell“ und „System Center Orchestrator“.

Firmen zum Thema

Keine Angst vor Automatisierung! Nur so können IT-Administratoren als Dienstleister agieren und immer anspruchsvollere IT-Services in zunehmend komplexeren Umgebungen bereitstellen.
Keine Angst vor Automatisierung! Nur so können IT-Administratoren als Dienstleister agieren und immer anspruchsvollere IT-Services in zunehmend komplexeren Umgebungen bereitstellen.
(Bild: 3desc/ Fotolia.com)

IT-Administratoren müssen ebenso schnell und flexibel agieren können wie ein externer Cloud Service Provider. Das setzt voraus, dass, dass sich IT-Dienste weitgehend automatisch zuweisen und konfigurieren lassen. Und sie dürfen IT-Ressourcen weder über- noch unterdimensionieren.

Hinzu kommt, dass sich dank Virtualisierung und Cloud Computing IT-Dienste schnell bereitstellen lassen. Die IT-Abteilung muss daher wissen, welche Ressourcen im Einsatz sind und wer welche Services in welcher IT-Umgebung nutzt.

Welche Vorteile bietet Automatisierung?

Bewältigen lassen sich diese Herausforderungen, indem Prozesse im Datacenter automatisiert werden. Das hat mehrere Vorteile. So stellt Automatisierung sicher, dass sich wiederholende Aufgaben stets auf dieselbe Weise ausgeführt werden. Das ist unter den Gesichtspunkten Standardisierung und Einhaltung von Compliance-Vorgaben wichtig. In der Praxis bedeutet das, keine vergessenen Patches mehr, und keine „verwaisten“ Virtual Machines (VMs), die Ressourcen verschlingen.

Ein weiterer Vorteil von Automatisierung ist die höhere Effizienz von Server-Systemen. So lassen sich virtuelle Maschinen auf Servern automatisch die benötigen Ressourcen zuweisen. Das bedeutet weder eine Unter- noch Überversorgung von VM.

Bildergalerie
Bildergalerie mit 14 Bildern

Eine wichtige Rolle spielt die Kostenreduzierung dank Automatisierung. Weniger manuelle Arbeit, wenige Fehler und eine schnellere Behebung von Fehlern dank Standardisierung sowie niedrigere Ausfallzeiten schlagen sich in geringen Kosten nieder.

Was automatisiert werden sollte

Zu den kniffligsten Fragen zählt, welche Vorgänge sich überhaupt automatisieren lassen. Wenn folgende Voraussetzungen erfüllt sind, kommt Automatisierung in Betracht:

  • Bestimmte Aufgaben fallen immer wieder an.
  • IT-Mitarbeiter müssen viel Zeit aufwenden, um Dokumentationen zu aktualisieren.
  • Bei Tätigkeiten treten zu viele Fehler durch Fehleingaben auf.
  • IT-Dienste und Server-Systeme sind unterschiedlich konfiguriert.
  • Im Rechenzentrum meldet die Monitoring-Lösung regelmäßig Fehler.

Ist klar, was automatisiert werden kann, sollte kritisch geprüft werden, ob sich der erhoffte Nutzen überhaupt erzielen lässt. Dabei helfen folgende Fragen:

  • Wie lange dauert es, den Prozess zu automatisieren?
  • Welche Zeitersparnis bringt das?
  • Welche finanziellen Schäden lassen sich dadurch vermeiden, etwa wegen manueller Fehler?
  • Wie oft müssen Automatisierungs-Scripts angepasst werden?
  • Benötigt die IT-Abteilung stets aktuelle Dokumentationen, etwa um Compliance-Vorgaben zu erfüllen?

Die richtige Automatisierungssoftware

Ist die Entscheidung zugunsten einer Automatisierung gefallen, geht es an die Auswahl einer entsprechenden Technik. Am bekanntesten ist der Einsatz von Scripting.

Bildergalerie
Bildergalerie mit 14 Bildern

Dabei ist heute ist die Powershell das Maß der Dinge. So gut wie jeder Anbieter verfügt heute über ein entsprechendes Modul für seine Lösung, neben Microsoft beispielsweise auch VMware und Citrix. Die Vorteile von Powershell sind, dass sich die Sprache leicht erlernen lässt und das Erstellen von Automatisierungsjobs relativ simpel ist.

Zudem stehen etliche Software-Pakete zur Verfügung, mit der sich Aufgaben in einem Rechenzentrum automatisch ausführen lassen. Dazu gehören „Citrix Workflow Studio“ und „VMware vCenter Orchestrator“. Diese Tools weisen jedoch Einschränkungen auf, was ihre Funktionen außerhalb des eigenen Lösungsspektrums betrifft. Universeller einsetzbar ist „Microsoft System Center Orchestrator“.

Rundbooks und Orchestrator

System Center Orchestrator ist Bestandteil der „System Center“ Suite von Microsoft. Die Software besteht aus mehrere Komponenten. Dazu zählt ein Verwaltungs-Server, der für die Kommunikation zwischen dem „Runbook Designer“ und einer Orchestration-Datenbank zuständig ist (siehe: Abbildung 3)

Ein Runbook enthält Aktivitäten, aus denen ein Workflow besteht. Mit dem Runbook Designer lassen sich Runbooks erstellen und verwalten, mit dem „Runbook Tester“ analysieren.

Die Orchestration-Datenbank basiert auf „Microsoft SQL Server“. Sie enthält alle installierten Runbooks, Protokolldateien und Konfigurationsdaten. Runbooks werden auf einem Runbook-Server ausgeführt.

Microsoft System Center Orchestrator

Weitere Komponenten sind die Orchestration-Konsole, mit der Administratoren Runbooks starten und stoppen sowie den Status abfragen können, und ein Webservice. Dieser REST-Dienst (REST = Representational State Transfer) verbindet benutzerdefinierte Anwendungen mit dem Orchestrator, um Runbooks zu starten beziehungsweise zu beenden. Von der Orchestration-Konsole wird dieser Web-Servicedienst für die Interaktion mit Orchestrator verwendet.

Hinzu kommt ein „Deployment-Manager“. Mit diesem Tool können Integrationspakete (IPs), Runbook-Server und Runbook Designer bereitgestellt werden. IPs sind Sammlungen von Aktivitäten, die sich auf eine bestimmte Technik beziehen, etwa eine VMware-Infrastruktur.

Keine Angst vor Automatisierungsprojekten!

Manche Administratoren fürchten, dass Automatisierung gleichbedeutend mit dem Verlust ihres Jobs ist. Das ist falsch. Vielmehr ändert sich der Aufgabenbereich des IT-Fachmanns. Er muss nun die Runbooks entwickeln und Automatisierungsläufe überwachen. Dank der zunehmenden Komplexität und hohen Dynamik von IT-Umgebungen ist dies eine dauerhafte Aufgabe.

Bildergalerie
Bildergalerie mit 14 Bildern

Auch die Furcht vor Scripting ist unangebracht. Die aktuelle Ausgabe von Powershell erleichtert das Erstellen von Scripts. Zudem übernehmen teilweise Automatisierungs-Tools diese Aufgabe. Wichtig ist, dass der ständige Wechsel von Script-Sprachen vermieden wird.

Vielmehr sollten nach der Entscheidung für eine bestimmte Sprache alle Administratoren eine gründliche Schulung erhalten. Zudem dürften beim Einsatz von Automatisierungs-Tools Faktoren wie die Protokollierung, Fehlerhebung und Behandlung von Ausnahmen nicht unter den Tisch fallen.

Ein weiterer wichtigere Aspekt: Automatisierungs-Skripte müssen überwacht werden. Das kann mithilfe von Tools erfolgen oder von Lösungen wie System Center 2012 Operations Manager für Orchestrator. Wer das nicht tut, weiß letztlich nicht, ob Workflows wie vorgesehen ausgeführt werden.

Best Practices verwenden

Damit der Start eines Automatisierungs-Projekts gelingt, empfiehlt es sich, folgende bewährte Verfahren (Best Practices) zu berücksichtigen:

  • Namenskonventionen festlegen: Vor dem Erstellen von Scripts oder Runbooks muss eine einheitliche Nomenklatur erarbeitet werden. Sie sollte nicht für die Inhalte von Skripten und die Benennung von Runbooks und Skripten gelten. Auch eine systematische Bezeichnung von Ordnern in System Center Orchestrator ist hilfreich.
  • Aktivitäten in System Center Orchestrator umbenennen: Workflows mit einfachen, leicht verständlichen Bezeichnungen sind für jedermann nachvollziehbar.
  • Fehlerbehandlung integrieren: Automatisierung heißt nicht, dass keine Fehler mehr auftreten. Daher sind Maßnahmen für die Behandlung von Fehlern und Warnmeldungen unverzichtbar. Fehlermeldungen und Warnungen werden am besten mit einem Störungs-Management-System verbunden, etwa dem System Center 2013 Service Manager, zudem mit einem Event Viewer. Dadurch erhält der Administrator alle Informationen zu einem fehlerhaften Workflow.
  • Farben verwenden: Mithilfe von Farben lassen sich Workflows besser definieren. Grün eignet sich beispielsweise für Aktivitäten, die erfolgreich abgeschlossen wurden, Orange für solche, bei denen Warnungen auftraten und Rot für fehlgeschlagene Aktivitäten (siehe: Abbildung 5)
  • Verknüpfungen benennen: Um die Lesbarkeit zu verbessern, können Verknüpfungen zwischen einzelnen Aktivitäten mit Bezeichnungen versehen werden.
  • Logik berücksichtigen: Ausgangsinformationen eines voran gegangenen Workflow-Segments sollten auch bei nachfolgenden Segmenten verwendet werden. Dies sorgt dafür, dass die folgende Aktivität ordnungsgemäß durchgeführt wird.
  • Klein anfangen: Besser ist, mit mehreren einfachen Runbooks zu starten und diese zu verknüpfen, statt ein komplexes Runbook zu erstellen. Das verringert die Gefahr, dass das "dicke" Runbook später nicht mehr lesbar oder editierbar ist. Ein weiterer Vorteil: Kleine Runbooks lassen sich auch in anderen Workflows verwenden.
  • Keinen Müll automatisieren: Vor dem Automatisieren manuelle Workflows überprüfen, Fehler beheben und sie "entschlacken". Denn ein schlechter Workflow wird nicht besser, wenn man ihn automatisiert.

Die Einsatzszenarien

Zu den Bereichen, in denen sich Automatisierung nutzbringend einsetzen lässt, zählen viele der „normalen“ administrativen Aufgaben. Dazu zählen das Bereitstellen von Nutzer-Accounts und Sharepoint-Sites oder das Löschen von Protokolldatei-Ordnern.

Viele Unternehmen starten zunächst in einem dieser Felder. Ein Grund dafür ist, dass die Workflows meist bereits auf Papier dokumentiert und der IT-Abteilung vertraut sind.

Ebenfalls zu den klassischen Einsatzgebieten von Automatisierung zählt das Bereitstellen von Cloud-Computing-Diensten, Virtual Machines, Storage-Ressourcen oder Netzwerken. Wegen ihrer Komplexität und der Tatsache, dass oft benutzerspezifische Parameter zu beachten sind, ist auch in diesem Fall ratsam, mit kleineren Projekten zu starten. Große Workflows sollten zudem in kleinere Segmente unterteilt werden.

Automatisieren mit Microsoft System Center und Veeam

Zum Abschluss ein Blick auf einige Szenarien aus der Praxis.

Beispiel 1: VM-Sicherung

Im ersten Fall möchte ein Anwender eine Server-Virtual-Machine sichern (siehe: Abbildung 7). Zum Einsatz kommen:

  • Veeam Backup & Replication,
  • Microsoft System Center 2012 Service Manager und
  • Microsoft System Center 2012 Orchestrator.

Der User fordert die Sicherung über das Self-Service-Portal von Microsoft Service Manager 2012 und einen Anforderungskatalog an.

Bildergalerie
Bildergalerie mit 14 Bildern

Dazu wird zunächst ein Anforderungs-Ticket erstellt, das der Vorgesetzte des Administrators freigeben muss. Anschließend startet ein Automatisierungs-Runbook. Es führt ein Powershell-Skript auf einem Veeam-Backup-&-Replication-Server aus, erzeugt einen Backup-Job mit den speziellen Anforderungen des Servers, auf dem die VM läuft, und erstellt anschließend die gewünschte Sicherung. Abschließend erhält der Anwender die Rückmeldung, dass das Server-Backup erfolgreich abgeschlossen wurde.

Beispiel 2: Optimierung einer VM

Komplexer ist ein weiteres Szenario: die Optimierung einer Virtual Machine (siehe Abbildung 8ff). In diesem Fall will ein Administrator regelmäßig die VM-Ressourcenzuweisung überprüfen. Auf Basis dieser Daten fordert er eine Neukonfiguration der VM an. Zum Einsatz kommen dabei folgende Komponenten:

Veeam MP for VMware,

  • Microsoft System Center 2012 Service Manager,
  • Microsoft System Center 2012 Orchestrator sowie
  • Microsoft System Center 2012 Operations Manager.

Im ersten Schritt lässt sich der Administrator unter System Center 2012 Operations Manager mit Veeam MP einen Bericht erstellen, der Aufschluss über die falsch dimensionierten VM und deren richtige Ressourcen-Zuteilung gibt. Anhand dieser Informationen fordert der IT-Manager einen Konfigurationswechsel für die VM (DC02). Für diesen Job steht ein Workflow bereit, den der Administrator über das Self-Service-Portal von System Center Service Manager ordert.

Im Portal gibt der Experte die entsprechenden Daten ein und bestätigt die Anforderung. System Center Service Manager erstellt eine entsprechende Anforderung und gibt sie an den Mitarbeiter weiter, der für deren Freigabe zuständig ist. Dieser prüfte alle Daten und damit zusammenhängenden Aktivitäten. Das sind in diesem Fall zwei:

  • eine Überprüfung sowie
  • eine automatisierte Runbook-Aktivität.

Die erste Aktivität (Überprüfung) ist erforderlich, weil ein Mitarbeiter die Anforderung des Workflows durch den Kollegen freigeben muss. Nach Abschluss der Prüfung genehmigt der IT-Fachmann die Anforderung. Die Runbook-Aktivität wird gestartet und die Neukonfiguration der VM erfolgt automatisch.

Mehrere Aktivitäten werden automatisch durchgeführt

Das Runbook umfasst in diesem Beispiel mehrere Aktivitäten: Zunächst werden die Benutzereingaben erfasst. Anschließend ruft das Runbook die entsprechende VM in der VMware-Umgebung auf und fragt die Eigenschaften der Virtual Machine ab. Vor Beginn der Neukonfigurierung muss die VM gestoppt werden.

Dann erfolgt die eigentliche Rekonfiguration der Virtual Machine. Zum Abschluss wird diese neu gestartet. Nach erfolgreichem Abschluss des gesamten Vorgangs schließt das Runbook das Service-Ticket und informiert den Mitarbeiter, der die Anforderung vorgenommen hat.

Die Autoren:

Die Vorlage für den Text liefert Mike Resseler. Er ist Produktstratege bei Veeam. Daraus baute der freie Autor Bernd Reder den vorliegenden Artikel.

(ID:42876122)