SlideShare ist ein Scribd-Unternehmen logo
1 von 46
Downloaden Sie, um offline zu lesen
DDatacenter
Management mit
Racktables
OSDC 2013 – Falk Stern
Inhalt
•  Vorstellung
•  Schrankverwaltung
•  Kabelverwaltung
•  Serververwaltung
•  Infrastruktur / Netzwerkverwaltung
•  Sonstiger Nutzen
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.
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
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, 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
Welche Tools benutzen wir
•  Racktables 0.20.3 – mit eigenen Anpassungen
•  Partkeepr nightly
•  GIT / SVN
•  Jenkins
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/
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/
Schrankverwaltung
Schrankbenennung
•  Mehrere Standorte
•  IATA Airport Code + Nummer
•  Mehrere Reihen
•  Alphabetisch
•  Racks
•  Numerisch
FRA1-A17
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
Schrankaufbau
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
Kabelverwaltung
Kabelverwaltung
Kabelverwaltung
Serververwaltung
•  Wöchentliche Abstimmung über Hardwarebedarf
•  Nach Anforderungen der Fachabteilungen
•  Bestellung beim Lieferanten
•  Vorab Einbau in Racktables
Serververwaltung
Vorab Einbau in Racktables
Serververwaltung
Vorab Einbau in Racktables
Serververwaltung
Vorab Einbau in Racktables
Serververwaltung
•  Lieferant liefert MAC Adressen
•  Konfiguriert RAID Controller vor
•  Konfiguriert iLO vor
Serververwaltung
Verkabelung in Racktables
Serververwaltung
Verkabelung in Racktables
Serververwaltung
•  Erstellung Laufzettel
•  Ausdruck der Racktables Seite
•  Vorbereitung Kabellabel
•  Hochladen der CSV Datei
•  Starke Einbindung des Lieferanten nötig, funktioniert nicht mit
wechselnden Anbietern!
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
Ablauf Einbau
Ablauf Einbau
VM Management
Produktive VMs werden in Racktables angelegt
Noch manueller Workflow, wird automatisiert
Ziel für dieses Jahr
Automatische Erstellung von Virtuellen Maschinen
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
Generierung DNS/DHCP
Workflow
$ make
...
$ cd ../dns ; git commit ; git push
$ cd ../dhcp ; git commit ; git push
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
Prüfung Switchkonfiguration
Annahmen
•  Jeder Server hat mindestens 2 Netzwerkkabel
•  Diese sind auf identische Ports im selben Schrank verkabelt
•  Interfaces heißen „bond0“
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"}
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);
…
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
Konfiguration Monitoring
Shinken Host Konfiguration wird
durch Jenkins automatisch erstellt
Services werden anhand von Tags
im Racktables zugeordnet
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
...
PartKeepr
PartKeepr
PartKeepr
•  Jeder muß entnommene Teile eintragen
•  Dienstleister muß entnommene Teile melden
•  Wer sich nicht dran hält, hat die nächste Inventur gewonnen
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.
Zusammenfassung
Das professionelle Netzwerk
www.xing.com
FFragen?
Das professionelle Netzwerk
www.xing.com
VVielen Dank für die
Aufmerksamkeit!

Weitere ähnliche Inhalte

Ähnlich wie OSDC 2013 | Datacenter Management mit Racktables by Felix Stern

Ruby on Rails in a metro session
Ruby on Rails in a metro sessionRuby on Rails in a metro session
Ruby on Rails in a metro session
Virttoo org
 
Software Defined Freifunk Backbones
Software Defined Freifunk BackbonesSoftware Defined Freifunk Backbones
Software Defined Freifunk Backbones
Maximilian Wilhelm
 
Software Defined Freifunk Backbones
Software Defined Freifunk BackbonesSoftware Defined Freifunk Backbones
Software Defined Freifunk Backbones
Maximilan Wilhelm
 
Grundlagen der IP Kommunikation
Grundlagen der IP KommunikationGrundlagen der IP Kommunikation
Grundlagen der IP Kommunikation
Kay Schönewerk
 
Salt-Orchtestrated Software Defined (Freifunk) Networks - Service-Provider-Ne...
Salt-Orchtestrated Software Defined (Freifunk) Networks - Service-Provider-Ne...Salt-Orchtestrated Software Defined (Freifunk) Networks - Service-Provider-Ne...
Salt-Orchtestrated Software Defined (Freifunk) Networks - Service-Provider-Ne...
Maximilian Wilhelm
 

Ähnlich wie OSDC 2013 | Datacenter Management mit Racktables by Felix Stern (20)

Never Code Alone: Von Symfony Forms zu einer SPA auf APIs
Never Code Alone: Von Symfony Forms zu einer SPA auf APIsNever Code Alone: Von Symfony Forms zu einer SPA auf APIs
Never Code Alone: Von Symfony Forms zu einer SPA auf APIs
 
Ruby on Rails in a metro session
Ruby on Rails in a metro sessionRuby on Rails in a metro session
Ruby on Rails in a metro session
 
Oracle12c für Entwickler
Oracle12c für EntwicklerOracle12c für Entwickler
Oracle12c für Entwickler
 
Oracle12c für Entwickler
Oracle12c für EntwicklerOracle12c für Entwickler
Oracle12c für Entwickler
 
Software Defined Freifunk Backbones
Software Defined Freifunk BackbonesSoftware Defined Freifunk Backbones
Software Defined Freifunk Backbones
 
Software Defined Freifunk Backbones
Software Defined Freifunk BackbonesSoftware Defined Freifunk Backbones
Software Defined Freifunk Backbones
 
Wie kommt der Client zur Datenbank?
Wie kommt der Client zur Datenbank?Wie kommt der Client zur Datenbank?
Wie kommt der Client zur Datenbank?
 
Grundlagen der IP Kommunikation
Grundlagen der IP KommunikationGrundlagen der IP Kommunikation
Grundlagen der IP Kommunikation
 
VIT 5-2014
VIT 5-2014VIT 5-2014
VIT 5-2014
 
Salt-Orchtestrated Software Defined (Freifunk) Networks - Service-Provider-Ne...
Salt-Orchtestrated Software Defined (Freifunk) Networks - Service-Provider-Ne...Salt-Orchtestrated Software Defined (Freifunk) Networks - Service-Provider-Ne...
Salt-Orchtestrated Software Defined (Freifunk) Networks - Service-Provider-Ne...
 
Avoid Network-Issues and Polling
Avoid Network-Issues and PollingAvoid Network-Issues and Polling
Avoid Network-Issues and Polling
 
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
 
Amazon Redshift
Amazon RedshiftAmazon Redshift
Amazon Redshift
 
DOAG 2015 enterprise_securitymitlda_pundpki-pub
DOAG 2015 enterprise_securitymitlda_pundpki-pubDOAG 2015 enterprise_securitymitlda_pundpki-pub
DOAG 2015 enterprise_securitymitlda_pundpki-pub
 
Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...
Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...
Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...
 
Citrix Day 2013: Citirx Networking
Citrix Day 2013: Citirx NetworkingCitrix Day 2013: Citirx Networking
Citrix Day 2013: Citirx Networking
 
20190604_DOAGDatabase2019_OracleNoSQLDB_for_DBAs
20190604_DOAGDatabase2019_OracleNoSQLDB_for_DBAs20190604_DOAGDatabase2019_OracleNoSQLDB_for_DBAs
20190604_DOAGDatabase2019_OracleNoSQLDB_for_DBAs
 
WebExpresso - Switch the Switch
WebExpresso - Switch the SwitchWebExpresso - Switch the Switch
WebExpresso - Switch the Switch
 
Effizienter Hardware LifeCycle auf Oracle SPARC M7 Server
Effizienter Hardware LifeCycle auf Oracle SPARC M7 ServerEffizienter Hardware LifeCycle auf Oracle SPARC M7 Server
Effizienter Hardware LifeCycle auf Oracle SPARC M7 Server
 
ANEO | Automatisierung mit RedHat Ansible
ANEO | Automatisierung mit RedHat AnsibleANEO | Automatisierung mit RedHat Ansible
ANEO | Automatisierung mit RedHat Ansible
 

OSDC 2013 | Datacenter Management mit Racktables by Felix Stern