Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Loading in …3
×
1 of 46

Datacenter Management mit Racktables

1

Share

Download to read offline

Vortrag von der OSDC 2013

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Datacenter Management mit Racktables

  1. 1. Datacenter Management mit Racktables OSDC 2013 – Falk Stern
  2. 2. Inhalt •  Vorstellung •  Schrankverwaltung •  Kabelverwaltung •  Serververwaltung •  Infrastruktur / Netzwerkverwaltung •  Sonstiger Nutzen
  3. 3. Vorstellung Unternehmen XING ist das soziale Netzwerk für berufliche Kontakte Rund 13 Millionen Mitglieder weltweit nutzen die Plattform für Geschäft, Job und Karriere, davon über 6 Millionen im deutschsprachigen Raum (Stand: Dezember 2012) Mitglieder tauschen sich online in rund 50.000 Fachgruppen aus und treffen sich persönlich auf XING Events.
  4. 4. Vorstellung Person Falk Stern 34 Jahre alt Teamleiter Netzwerk bei XING Schwerpunkte in Netzwerk und Infrastruktur 4,5 Jahre bei einem Outsourcing Dienstleister mit eigenem RZ tätig 2,5 Jahre bei einem Hamburger ISP tätig, Housing / Internet Access 3,5 Jahre bei einer (damals) Hamburger Internetfirma “We reject kings, presidents and voting. We believe in rough consensus and running code.” - D. Clark
  5. 5. Vorstellung Datacenter •  Warum eigene Colocation? •  Warum 2 Datacenter? •  Wieviele Anbieter?
  6. 6. Motivation •  Alte Colo unübersichtlich •  Zuwenig Platz •  Dokumentation unvollständig
  7. 7. Motivation •  Umzug •  Grüne Wiese •  Neue Hostnamen •  Neue IP Adressen •  Neue Verkabelung •  Neue Dokumentation!
  8. 8. Zahlen, Fakten 2 Standorte Je 40 Racks 580 physikalische Server 490 virtuelle Maschinen im Produktionsbetrieb 280 virtuelle Maschinen für Entwickler 5900 Netzwerkports 3840 Stromanschlüsse 15 Kilometer Netzwerk Kabel
  9. 9. Welche Tools benutzen wir •  Racktables 0.20.3 – mit eigenen Anpassungen •  Partkeepr nightly •  GIT / SVN •  Jenkins
  10. 10. RackTables RackTables ist 2006 aus der Not heraus entstanden, ein bestehendes DataCenter dokumentieren zu müssen. Open Source unter GPL verfügbar Typische LAMP Anwendung – Linux / Apache / MySQL / PHP Unser „Single Point of Truth“ Eigene Anpassungen: •  Ticketsystem •  API - Wird von uns veröffentlicht http://www.racktables.org/
  11. 11. PartKeepr Wurde vom RaumZeitLabor, einem Hackerspace in Mannheim entwickelt Open Source unter GPL verfügbar Ursprünglich zur Verwaltung von elektronischen Bauteilen Was fehlte? •  Keine LDAP Authentifizierung - Wird von uns veröffentlicht http://partkeepr.org/
  12. 12. Schrankverwaltung Schrankbenennung •  Mehrere Standorte •  IATA Airport Code + Nummer •  Mehrere Reihen •  Alphabetisch •  Racks •  Numerisch FRA1-A17
  13. 13. Schrankaufbau •  46 HE •  2 Switche für Produktiv Netzwerk •  1 Switch für iLO/Management •  2 PDUs mit 21 C13 und 3 C19 Buchsen •  PDU Leisten hinten seitlich eingebaut •  40 HE netto übrig •  Platz für 18 Server zu 2 HE
  14. 14. Schrankaufbau
  15. 15. Kabelverwaltung Jedes Kabelende hat ein eindeutiges Label Labeldruck mit eigenem Drucker Drucker & Laptop für SmartHands und Lieferanten zugänglich Export aus RackTables per CSV
  16. 16. Kabelverwaltung
  17. 17. Kabelverwaltung
  18. 18. Kabelverwaltung
  19. 19. Serververwaltung •  Wöchentliche Abstimmung über Hardwarebedarf •  Nach Anforderungen der Fachabteilungen •  Bestellung beim Lieferanten •  Vorab Einbau in Racktables
  20. 20. Serververwaltung Vorab Einbau in Racktables
  21. 21. Serververwaltung Vorab Einbau in Racktables
  22. 22. Serververwaltung Vorab Einbau in Racktables
  23. 23. Serververwaltung •  Lieferant liefert MAC Adressen •  Konfiguriert RAID Controller vor •  Konfiguriert iLO vor
  24. 24. Serververwaltung Verkabelung in Racktables
  25. 25. Serververwaltung Verkabelung in Racktables
  26. 26. Serververwaltung •  Erstellung Laufzettel •  Ausdruck der Racktables Seite •  Vorbereitung Kabellabel •  Hochladen der CSV Datei •  Starke Einbindung des Lieferanten nötig, funktioniert nicht mit wechselnden Anbietern!
  27. 27. Ablauf Einbau •  Lieferant bekommt Einbauanweisung •  Baut Server ein •  Verkabelt Server an Hand von Einbauanweisung und Kabellabeln •  Schaltet Server nach erfolgreichem Einbau an •  Server bootet konfiguriertes Installationssystem •  Bootserver wird aus Racktables konfiguriert
  28. 28. Ablauf Einbau
  29. 29. Ablauf Einbau
  30. 30. VM Management Produktive VMs werden in Racktables angelegt Noch manueller Workflow, wird automatisiert Ziel für dieses Jahr Automatische Erstellung von Virtuellen Maschinen
  31. 31. Generierung DNS/DHCP Include Dateien werden durch ein Ruby Skript generiert (RackObject.send(datacenter).server + RackObject.send(datacenter).vm + RackObject.send(datacenter).pdus).each do |server| DNS und DHCP haben ein eigenes GIT Repository •  Änderungen sind nachvollziehbar •  Nach einem git push •  Syntaxprüfung •  Upload & Neustart der Dienste
  32. 32. Generierung DNS/DHCP Workflow $ make ... $ cd ../dns ; git commit ; git push $ cd ../dhcp ; git commit ; git push
  33. 33. Prüfung Switchkonfiguration •  Switchkonfigurationen werden mit einem Skript gegen die Konfiguration aus RANCID geprüft. •  „Soll“ Daten kommen aus Racktables •  Eigenes Perlmodul, das die API abfragt •  109 Zeilen Perl inklusive Ausgaben
  34. 34. Prüfung Switchkonfiguration Annahmen •  Jeder Server hat mindestens 2 Netzwerkkabel •  Diese sind auf identische Ports im selben Schrank verkabelt •  Interfaces heißen „bond0“
  35. 35. Prüfung Switchkonfiguration Beispiele API Programmierung VLANs abfragen my $vlans_in_domain = Xing::Admin::Racktables::get( 'vlan' => { 'domain' => $dc}); Objekt Informationen holen for my $single_vlan (@$vlans_in_domain) { my $range = $single_vlan->networks->[0]->{"range"}->{"ip"} . $single_vlan->networks->[0]->{"range"}->{"prefixlen"}
  36. 36. Prüfung Switchkonfiguration Server abfragen my $allserver = Xing::Admin::Racktables::get( 'object' => { 'type' => 'server', 'rack' => { 'row' => $rack_row } } ); Objekt Informationen holen foreach my $server (@$allserver) { my $server_name = $server->name; if (defined($server->ips->{'bond0'})) { $server_vlan = getVlanForIP($server->ips-> {'bond0'}->address->ip); …
  37. 37. Konfiguration PDU Konfiguration wird über Jenkins alle halbe Stunde generiert Avocent PDUs ziehen sich bei Ablauf ihres DHCP Leases eine Konfiguration vom TFTP Server cd /power_management/pdus/10-15-c9P0_1/settings/ outlets/19 batch_mode set name=riak-10.db.fra1 set post_on_delay_(seconds)=0.5 submit
  38. 38. Konfiguration Monitoring Shinken Host Konfiguration wird durch Jenkins automatisch erstellt Services werden anhand von Tags im Racktables zugeordnet
  39. 39. Genhostlist Perlskript das automatisch erstellt wird Ausgabe von Hostnamen anhand von RackTables Tags $ ./genhostlist.pl '$fra1 -a $app -a $perl' perl-1.app.fra1.xing.com perl-2.app.fra1.xing.com perl-3.app.fra1.xing.com ...
  40. 40. PartKeepr
  41. 41. PartKeepr
  42. 42. PartKeepr •  Jeder muß entnommene Teile eintragen •  Dienstleister muß entnommene Teile melden •  Wer sich nicht dran hält, hat die nächste Inventur gewonnen
  43. 43. Zusammenfassung •  Datacenter Management ist mit OpenSource Tools möglich •  Erfordert Anpassungen an die eigenen Prozesse •  Aber: Welche Software braucht das nicht? •  Programmierkenntnisse helfen •  (fast) alles ist automatisierbar! •  Dokumentation hilft und macht sicherer.
  44. 44. Zusammenfassung
  45. 45. Das professionelle Netzwerk www.xing.com Fragen?
  46. 46. Das professionelle Netzwerk www.xing.com Vielen Dank für die Aufmerksamkeit!

×