NetApp Tech OnTap NetApp Logo
NetApp Tech OnTap
     
Automatisierung mit ONTAP – Konfiguration in fünf Minuten statt vier Stunden
Ezra Tingler
Senior Storage Engineer
NetApp

Mein Name ist Ezra Tingler und ich arbeite in der Abteilung Customer-1 Storage Services von NetApp. Das Customer-1 Storage Services Team ist verantwortlich für die Architektur, die Beschaffung, die Implementierung und die Wartung der Storage-Infrastruktur für all unsere internen Applikationen. Das Team ist in Inhaber von Servicesparten aufgegliedert. Jeder Inhaber ist für einen bestimmten Aspekt unserer Storage-Technologien zuständig. Natürlich werden in unserer Storage-Infrastruktur die neuesten und leistungsfähigsten Technologien von NetApp als Grundlage verwendet. Aufgrund der intensiven Nutzung der Technologien von NetApp fungiert das Customer-1 Storage Services Team auch als Referenz für externe Kunden, insbesondere mit Blick auf den zweckmäßigen und effizienten Einsatz der Produkte von NetApp.

In diesem Team bin ich für die Sparte „Storage Ecosystem Service“ zuständig, d. h., ich trage die Verantwortung für das Lebenszyklusmanagement der Storage-Hardware. Mein Hauptziel ist sicherzustellen, dass wir über ein gutes, stabiles Ecosystem aus Storage-Software und -Hardware verfügen, über das andere Sparten und Applikationen Datenservices beziehen können. Gegenwärtig ist unser Team mit der Migration aller Daten aus siloartigen Storage-Systemen von NetApp (d. h. 7-Mode) hin zu Clustered Storage beschäftigt.

Herausforderung

Im Zuge dieses Migrationsprojekts installiere ich zusätzliche Storage-Nodes und -Cluster. In der Anfangsphase des Projekts betrug die durchschnittliche Konfigurationsdauer für ein HA-Controller-Paar mit Clustering rund vier Stunden, verteilt auf zwei bis drei Tage. Darin eingeschlossen waren aber weder die Konfiguration der Interconnect-Switches im Cluster noch die Initialisierung der Festplatten. Hierfür waren je nach Festplattentyp weitere zwei bis zwölf Stunden erforderlich. Außerdem werde ich oft bei der Arbeit unterbrochen. Dadurch ging auch hier Zeit verloren, da ich mich immer wieder neu in das Projekt hineindenken musste. Diese Planungsunsicherheiten führten dazu, dass Termine verpasst wurden und es Inkonsistenzen bei der Konfiguration gab. Mir war klar, dass es eine bessere Methode zur Durchführung dieses Projekts geben musste.

Die Lösung

Ich suchte nach Wegen, den Storage-Konfigurationsprozess zu automatisieren, um Zeit zu sparen und Fehler zu vermeiden. Obwohl ich kein Entwickler bin, war das Schreiben eines Konfigurationsskripts mit dem NetApp Manageability Software Development Kit (NM SDK) sehr einfach. Das Skript führe ich aus, sobald die Festplatten initialisiert wurden, die Einrichtung der Cluster abgeschlossen ist und die Interconnect-Switches der Cluster ordnungsgemäß konfiguriert sind. Insgesamt konfiguriert das Skript 23 spezifische Aspekte:

  1. Umbenennen der Cluster-Nodes
  2. Umbenennen vorhandener Schnittstellen entsprechend den neuen Node-Namen
  3. Einrichten der Cluster-Schnittstellen und Managementschnittstellen für die Nodes
  4. Umbenennen der Root-Aggregate entsprechend den neuen Node-Namen
  5. Installieren von Lizenzen
  6. Konfigurieren der Serviceprozessoren
  7. Festlegen des Werts „None“ für „Flow Control“ bei allen 10g-Ports
  8. Erstellen von Broadcast-Domains und Zuweisen der entsprechenden Ports
  9. Erstellen von Schnittstellengruppen und Hinzufügen der korrekten Ports
  10. Erstellen von VLANs
  11. Erstellen von Failover-Gruppen und Zuweisen der korrekten Ports
  12. Erstellen von Backup-Schnittstellen (Intercluster)
  13. Erstellen von Benutzerrollen
  14. Erstellen von Benutzern
  15. Festlegen des Scrub-Zeitplans für RAID
  16. Erstellen von Aggregaten
  17. Deaktivieren von Aggregat-Snapshots für alle Aggregate
  18. Erstellen von Cluster-Peers
  19. Konfigurieren von NTP
  20. Konfigurieren von SNMP
  21. Konfigurieren von CDP
  22. Konfigurieren von Webservices
  23. Konfigurieren von AutoSupport

Während das Skript ausgeführt wird, liest es vorab definierte Konfigurationsdaten aus einer von mir erstellten Datei und wendet diese Konfiguration auf die Cluster-Nodes an. Vor der Ausführung des Skripts muss ich also lediglich die jeweiligen Informationen (Node-Namen, IP-Adressen und Passwörter) in der Konfigurationsdatei eintragen.

Die Ergebnisse meiner Tests mit diesem Skript sind beeindruckend. Statt zuvor vier Stunden dauert der Prozess nun nur noch circa fünf Minuten. Mithilfe des Konfigurationsskripts kann ich jetzt 24 Storage-Nodes in zwei Stunden installieren. Im Vergleich zu den bisherigen 96 Stunden entspricht dies einer Zeitersparnis von 94 Stunden bzw. 2 ½ Arbeitswochen. Auch die durch Unterbrechungen verursachten Fehler lassen sich vermeiden. Und durch die Automatisierung dieses Prozesses bleibt mir mehr Zeit für andere Projekte.

Als Storage-Administrator kann man mit dem SDK problemlos sein eigenes Konfigurationsskript erstellen. Ich habe zu diesem Zweck ein im SDK inbegriffenes Tool namens Z-Explorer verwendet. Es enthält eine vollständige Liste mit allen ZAPI-Aufrufen für Cluster. Z-Explorer, nimmt einem den Großteil der Entwicklungsarbeit ab. In nur wenigen Wochen hatte ich das Erstellen meines Clustered Storage vollständig automatisiert. Hilfreiche Tipps bietet zum Beispiel die KnowledgeBase.

Das Projekt war für mich sehr angenehm, denn ich konnte das Skript auch ohne Entwicklerkenntnisse schreiben. Als Programmiersprache habe ich Perl gewählt. Das SDK lässt sich jedoch mit fast jeder Sprache nutzen. Unterstützung habe ich außerdem im SDK Online-Forum erhalten. Die Benutzer in diesem Forum hatten stets schnell eine Antwort auf meine Fragen parat.

Die Zukunft

Ich nutze jetzt regelmäßig das SDK zur Automatisierung und Vereinfachung anderer Storage-Aufgaben, um Zeit zu sparen und Fehler zu vermeiden. Mein nächstes Projekt ist ein Skript zur Qualitätssicherung (QA), das sich an einem Cluster anmeldet und prüft, ob die Konfiguration der Nodes den IT-Standards und Best Practices von NetApp entspricht. Außerdem möchte ich die Konfiguration der Cluster-Interconnect-Switches auf dieselbe Weise automatisieren und ein Konfigurationsskript für die E-Series erstellen.

Bei Interesse können Sie die fertigen Skripte in Kürze auf github.com einsehen. Folgen Sie dazu bitte diesem Link. Zukünftige Tech OnTap Newsletter enthalten die direkten URL-Links, sobald sie verfügbar sind. Übrigens spreche ich über den Automatisierungsprozess zusammen mit anderen Fachexperten der Branche in einem der nächsten Tech OnTap Podcasts.

Ezra Tingler, Senior Storage Engineer bei NetApp, verfügt über mehr als 20 Jahre Erfahrung in den Bereichen Storage-Verwaltung und UNIX-Systeme.

Juli 2016

 
Kontakt   |   Bezugsquelle   |   Feedback   |   Karriere  |   Abonnements   |   Datenschutzrichtlinie   |   © 2016 NetApp