DatacenterManagement mitRacktablesOSDC 2013 – Falk Stern
Inhalt•  Vorstellung•  Schrankverwaltung•  Kabelverwaltung•  Serververwaltung•  Infrastruktur / Netzwerkverwaltung•  Sonst...
Vorstellung UnternehmenXING ist das soziale Netzwerk fürberufliche KontakteRund 13 Millionen Mitgliederweltweit nutzen die...
Vorstellung PersonFalk Stern34 Jahre altTeamleiter Netzwerk bei XINGSchwerpunkte in Netzwerk und Infrastruktur4,5 Jahre be...
Vorstellung Datacenter•  Warum eigene Colocation?•  Warum 2 Datacenter?•  Wieviele Anbieter?
Motivation•  Alte Colo unübersichtlich•  Zuwenig Platz•  Dokumentation unvollständig
Motivation•  Umzug•  Grüne Wiese•  Neue Hostnamen•  Neue IP Adressen•  Neue Verkabelung•  Neue Dokumentation!
Zahlen, Fakten2 StandorteJe 40 Racks580 physikalische Server490 virtuelle Maschinen im Produktionsbetrieb280 virtuelle Mas...
Welche Tools benutzen wir•  Racktables 0.20.3 – mit eigenen Anpassungen•  Partkeepr nightly•  GIT / SVN•  Jenkins
RackTablesRackTables ist 2006 aus der Not heraus entstanden, ein bestehendesDataCenter dokumentieren zu müssen.Open Source...
PartKeeprWurde vom RaumZeitLabor, einem Hackerspace in MannheimentwickeltOpen Source unter GPL verfügbarUrsprünglich zur V...
SchrankverwaltungSchrankbenennung•  Mehrere Standorte•  IATA Airport Code + Nummer•  Mehrere Reihen•  Alphabetisch•  Racks...
Schrankaufbau•  46 HE•  2 Switche für Produktiv Netzwerk•  1 Switch für iLO/Management•  2 PDUs mit 21 C13 und 3 C19 Buchs...
Schrankaufbau
KabelverwaltungJedes Kabelende hat eineindeutiges LabelLabeldruck mit eigenem DruckerDrucker & Laptop für SmartHandsund Li...
Kabelverwaltung
Kabelverwaltung
Kabelverwaltung
Serververwaltung•  Wöchentliche Abstimmung über Hardwarebedarf•  Nach Anforderungen der Fachabteilungen•  Bestellung beim ...
SerververwaltungVorab Einbau in Racktables
SerververwaltungVorab Einbau in Racktables
SerververwaltungVorab Einbau in Racktables
Serververwaltung•  Lieferant liefert MAC Adressen•  Konfiguriert RAID Controller vor•  Konfiguriert iLO vor
SerververwaltungVerkabelung in Racktables
SerververwaltungVerkabelung in Racktables
Serververwaltung•  Erstellung Laufzettel•  Ausdruck der Racktables Seite•  Vorbereitung Kabellabel•  Hochladen der CSV Dat...
Ablauf Einbau•  Lieferant bekommt Einbauanweisung•  Baut Server ein•  Verkabelt Server an Hand von Einbauanweisung und Kab...
Ablauf Einbau
Ablauf Einbau
VM ManagementProduktive VMs werden in Racktables angelegtNoch manueller Workflow, wird automatisiertZiel für dieses JahrAu...
Generierung DNS/DHCPInclude Dateien werden durch ein Ruby Skript generiert(RackObject.send(datacenter).server +RackObject....
Generierung DNS/DHCPWorkflow$ make...$ cd ../dns ; git commit ; git push$ cd ../dhcp ; git commit ; git push
Prüfung Switchkonfiguration•  Switchkonfigurationen werden mit einem Skript gegen dieKonfiguration aus RANCID geprüft.•  „...
Prüfung SwitchkonfigurationAnnahmen•  Jeder Server hat mindestens 2 Netzwerkkabel•  Diese sind auf identische Ports im sel...
Prüfung SwitchkonfigurationBeispiele API ProgrammierungVLANs abfragenmy $vlans_in_domain =Xing::Admin::Racktables::get( vl...
Prüfung SwitchkonfigurationServer abfragenmy $allserver = Xing::Admin::Racktables::get( object =>{ type => server, rack =>...
Konfiguration PDUKonfiguration wird über Jenkins alle halbe Stunde generiertAvocent PDUs ziehen sich bei Ablauf ihres DHCP...
Konfiguration MonitoringShinken Host Konfiguration wirddurch Jenkins automatisch erstelltServices werden anhand von Tagsim...
GenhostlistPerlskript das automatisch erstellt wirdAusgabe von Hostnamen anhandvon RackTables Tags$ ./genhostlist.pl $fra1...
PartKeepr
PartKeepr
PartKeepr•  Jeder muß entnommene Teile eintragen•  Dienstleister muß entnommene Teile melden•  Wer sich nicht dran hält, h...
Zusammenfassung•  Datacenter Management ist mit OpenSource Tools möglich•  Erfordert Anpassungen an die eigenen Prozesse• ...
Zusammenfassung
Das professionelle Netzwerkwww.xing.comFragen?
Das professionelle Netzwerkwww.xing.comVielen Dank für dieAufmerksamkeit!
Nächste SlideShare
Wird geladen in …5
×

Datacenter Management mit Racktables

3.277 Aufrufe

Veröffentlicht am

Vortrag von der OSDC 2013

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
3.277
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
28
Aktionen
Geteilt
0
Downloads
21
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Datacenter Management mit Racktables

  1. 1. DatacenterManagement mitRacktablesOSDC 2013 – Falk Stern
  2. 2. Inhalt•  Vorstellung•  Schrankverwaltung•  Kabelverwaltung•  Serververwaltung•  Infrastruktur / Netzwerkverwaltung•  Sonstiger Nutzen
  3. 3. Vorstellung UnternehmenXING ist das soziale Netzwerk fürberufliche KontakteRund 13 Millionen Mitgliederweltweit nutzen die Plattform fürGeschäft, Job und Karriere,davon über 6 Millionen imdeutschsprachigen Raum (Stand:Dezember 2012)Mitglieder tauschen sich online inrund 50.000 Fachgruppen ausund treffen sich persönlich aufXING Events.
  4. 4. Vorstellung PersonFalk Stern34 Jahre altTeamleiter Netzwerk bei XINGSchwerpunkte in Netzwerk und Infrastruktur4,5 Jahre bei einem Outsourcing Dienstleister mit eigenem RZ tätig2,5 Jahre bei einem Hamburger ISP tätig, Housing / Internet Access3,5 Jahre bei einer (damals) Hamburger Internetfirma“We reject kings, presidents and voting. We believe inrough 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, Fakten2 StandorteJe 40 Racks580 physikalische Server490 virtuelle Maschinen im Produktionsbetrieb280 virtuelle Maschinen für Entwickler5900 Netzwerkports3840 Stromanschlüsse15 Kilometer Netzwerk Kabel
  9. 9. Welche Tools benutzen wir•  Racktables 0.20.3 – mit eigenen Anpassungen•  Partkeepr nightly•  GIT / SVN•  Jenkins
  10. 10. RackTablesRackTables ist 2006 aus der Not heraus entstanden, ein bestehendesDataCenter dokumentieren zu müssen.Open Source unter GPL verfügbarTypische LAMP Anwendung – Linux / Apache / MySQL / PHPUnser „Single Point of Truth“Eigene Anpassungen:•  Ticketsystem•  API - Wird von uns veröffentlichthttp://www.racktables.org/
  11. 11. PartKeeprWurde vom RaumZeitLabor, einem Hackerspace in MannheimentwickeltOpen Source unter GPL verfügbarUrsprünglich zur Verwaltung von elektronischen BauteilenWas fehlte?•  Keine LDAP Authentifizierung - Wird von uns veröffentlichthttp://partkeepr.org/
  12. 12. SchrankverwaltungSchrankbenennung•  Mehrere Standorte•  IATA Airport Code + Nummer•  Mehrere Reihen•  Alphabetisch•  Racks•  NumerischFRA1-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. KabelverwaltungJedes Kabelende hat eineindeutiges LabelLabeldruck mit eigenem DruckerDrucker & Laptop für SmartHandsund Lieferanten zugänglichExport 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. SerververwaltungVorab Einbau in Racktables
  21. 21. SerververwaltungVorab Einbau in Racktables
  22. 22. SerververwaltungVorab Einbau in Racktables
  23. 23. Serververwaltung•  Lieferant liefert MAC Adressen•  Konfiguriert RAID Controller vor•  Konfiguriert iLO vor
  24. 24. SerververwaltungVerkabelung in Racktables
  25. 25. SerververwaltungVerkabelung 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 mitwechselnden 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 ManagementProduktive VMs werden in Racktables angelegtNoch manueller Workflow, wird automatisiertZiel für dieses JahrAutomatische Erstellung von Virtuellen Maschinen
  31. 31. Generierung DNS/DHCPInclude 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/DHCPWorkflow$ make...$ cd ../dns ; git commit ; git push$ cd ../dhcp ; git commit ; git push
  33. 33. Prüfung Switchkonfiguration•  Switchkonfigurationen werden mit einem Skript gegen dieKonfiguration aus RANCID geprüft.•  „Soll“ Daten kommen aus Racktables•  Eigenes Perlmodul, das die API abfragt•  109 Zeilen Perl inklusive Ausgaben
  34. 34. Prüfung SwitchkonfigurationAnnahmen•  Jeder Server hat mindestens 2 Netzwerkkabel•  Diese sind auf identische Ports im selben Schrank verkabelt•  Interfaces heißen „bond0“
  35. 35. Prüfung SwitchkonfigurationBeispiele API ProgrammierungVLANs abfragenmy $vlans_in_domain =Xing::Admin::Racktables::get( vlan => { domain => $dc});Objekt Informationen holenfor my $single_vlan (@$vlans_in_domain) {my $range = $single_vlan->networks->[0]->{"range"}->{"ip"} .$single_vlan->networks->[0]->{"range"}->{"prefixlen"}
  36. 36. Prüfung SwitchkonfigurationServer abfragenmy $allserver = Xing::Admin::Racktables::get( object =>{ type => server, rack => { row => $rack_row } } );Objekt Informationen holenforeach my $server (@$allserver) {my $server_name = $server->name;if (defined($server->ips->{bond0})) {$server_vlan = getVlanForIP($server->ips->{bond0}->address->ip);…
  37. 37. Konfiguration PDUKonfiguration wird über Jenkins alle halbe Stunde generiertAvocent PDUs ziehen sich bei Ablauf ihres DHCP Leases eineKonfiguration vom TFTP Servercd /power_management/pdus/10-15-c9P0_1/settings/outlets/19batch_modeset name=riak-10.db.fra1set post_on_delay_(seconds)=0.5submit
  38. 38. Konfiguration MonitoringShinken Host Konfiguration wirddurch Jenkins automatisch erstelltServices werden anhand von Tagsim Racktables zugeordnet
  39. 39. GenhostlistPerlskript das automatisch erstellt wirdAusgabe von Hostnamen anhandvon RackTables Tags$ ./genhostlist.pl $fra1 -a $app -a $perlperl-1.app.fra1.xing.comperl-2.app.fra1.xing.comperl-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 Netzwerkwww.xing.comFragen?
  46. 46. Das professionelle Netzwerkwww.xing.comVielen Dank für dieAufmerksamkeit!

×