Virtualization
Facebook – Ein Blick hinter die Kulissen und in das komplexe System
“A Day in the Life of Facebook Operations” bezeichnete Tom Cook, System Engineer von Facebook seinen Vortrag auf der “Velocity 2010″ Er liefert dabei interessante Einblicke in den Aufbau der Server und Services, auf Open-Source Basis.
Da Facebook mittlerweile mehrere 10.000 Server hinter einem gigantischen Load Balancer System im Einsatz hat, ist es eine große Herausforderung diese alle zu Verwalten und auf den aktuellen Stand (Patches, Security Fixes, …) zu halten. Tom Cook erläutert in seinem ca. 40 minütigen Vortrag den grundlegenden Aufbau von Facebook. Hier einige wichtige Fakten und Komponenten aus der Sicht eines Systemadministrators.
Betriebsystem:
Facebook setzt ausschließlich auf Linux. Verwendet wird eine CentOS 5 Version mit einem modifizierten 2.6er Kernel
Datenbank:
Als Datenbank wird MySQL verwendet.
Caching:
HipHop for Php
ist ein SourceCode Transformer, welcher PHP in einen performanceoptimierten und kompilierten C++ Code verwandelt. Enwickelt wird das System von 3 Facebook Engineers auf Open-Source Basis. Durch die Einführung von HipHop wurde die WebServerlast von Facebook um beachtliche 50% Reduziert.
Memcached
Ist ein Open Source Cache-Server der häufig verwendete Abfragen (insbesondere SELECT Statements) vom Datenbankserver im Arbeitsspeicher abspeichert und dadurch Festplattenzugriffe bzw. Datenkbankzugriffe stark reduziert. Memcached hält für Facebook derzeit über 300+ TB live Daten im RAM.
Configuration Management:
CFengine 2.x.x
ist eine zentrale Configurations Management Software um viele (mehrere 10.000) Systeme auf den gleichen Softwarestand zu bringen und zu aktualisieren. Dieser Vorgang wird alle 15 Minuten für ALLE Server ausgeführt. So können zentral über 100 Policies welche einige 1000 Regeln beinhalten innerhalb von 30 Sekunden bei allen Servern auf den neuesten Stand gebracht werden.
Monitoring:
Hierbei setzt man ebenfalls auf bekanntere System wie Ganglia, Nagios und ODS (Operational Data Store),
WebPush:
Das Verteilen von neuen Inhalten, Features und Patches für Facebook.com wird über einen internen BitTorrent Server realisiert. Es dauert so ungefähr eine Minute bis der neue Code für Facebook.com auf mehreren 10.000 Servern verfügbar ist. Folgende Zyklen werden dabei verwendet
1x pro Woche für neue Features
1x pro Tag für Code Änderungen an der Hauptseite
mehrere male am Tag für Bugfixes und Patches
Kompletter Vortrag von Tom Cook:
OSDC – Open Source Data Center Conference 2010
Vom 23. bis 24. Juni 2010 findet zum 2. mal, die von NETWAYS organisierte Open Source Data Center Conference in Nürnberg statt. Der Schwerpunkt liegt im Einsatz von Open Source Software in Rechenzentren und großen IT Umgebungen. Sysadmin’s Life ist live dabei.
Die Agenda gliedert sich in zwei parallele Tracks mit Vorträgen zu den aktuellen Neuheiten und verschiedensten Technologien im Bereich Data Center Solutions von jeweils ca. 45-minütiger Dauer und darauf folgender Diskussionsrunde. Abgerundet wird das Konferenzprogramm mit zusätzlichen Workshops, bei welchen die interaktive Arbeit direkt am Rechner im Vordergrund steht. Zu den Referenten gehören unter anderem Open Source Größen wie Baron Schwartz (Percona), Dr. Michael Schwartzkopff (MultiNET Services GmbH) und Florian Haas (Linbit Information Technologies GmbH).
Da ich die erste Konferenz im Jahr 2009 leider verpasst habe, freue ich mich umso mehr auf der diesjährigen OSDC dabei zu sein. Ich werde natürlich hier im Blog und auf Twitter live aus Nürnberg berichten. Alle Details werden dann die Tage nach dem Event folgen. Vielleicht trifft man ja auch den einen oder anderen Blogleser. TIPP: Wer noch bis 31.03.2010 bucht, gilt als Early Bird und spart sich 100 EUR zu dem gewählten Paket.
Das Programm zur Konferenz befindet sich noch in der Detailplanung. Es wird jedoch ein erster Einblick in die Vorträge und den Vortragenden gewährt
- Baron Schwartz: Optimizing MySQL and InnoDB Performance (ENG)
- Florian Haas: High Availability and Storagereplication – without limits (ENG)
- Dr. Michael Schwartzkopff: Linux-HA: Quo Vadis? (DE)
- Wolfgang Stief: Ein Lustre Cluster für wirklich hohen Datendurchsatz (DE)
- Erkan Yanar: Containervirtualisierung mit OpenVZ (DE)
- Ralph Dehner: Virtualisierung mit KVM (DE)
- Jens Link: Einführung in IPv6 (DE)
- Rainer Jung: What’s new in Apache 2.4? (DE)
- Michael Schlenzka: Delivering New, Powerful Reporting Solutions with Open Source Business Intelligence (ENG)
- Jörg Möllenkamp: Insights to (Open)Solaris (DE)
Es werden aber noch weiterhin Referenten zu folgenden Themen gesucht:
- Einsatz von DRBD für Shared Nothing Cluster
- Aufbau von HA Clustern mit Pacemaker / Openais
- Loadbalancing mit Linux Virtual Server
- Betrieb von High Performance MySQL Datenbanken
- MySQL Proxy zur besseren Lastverteilung in Datenbanken
Alle Informationen zur OSDC gibt es auf der Website von NETWAYS
Data Center Infrastructure Management mit dcTrack
dcTrack ist eine “Data Center Infrastructure Management” (DCIM) Lösung mit einer Reihe an Tools und Möglichkeiten ein Rechenzentrum und ganze Serverlandschaften zu automatisieren und überwachen.
Raritan hat mit der Software dcTrack wieder eine mächtige Software für die Visualisierung und Wartung von größeren Rechenzentren geschaffen. dcTrack bietet eine Zielgenaue Überwachung des gesamten Rechenzentrums. Von Server über Bladesysteme, Viruellen Maschinen und Applikationen bis hin zum gesamten Netzwerkfluss und der physischen Verkabelung der Systeme. Außerdem gibt es eine Echtzeitkontrolle über Stromverbrauch und Wärmeableitung. Per SNMP können Systeme sogar vollautomatisch in dcTrack integriert werden.
Hier einige Screenshots von dcTrack (zum Vergrößern klicken):
Die Jungs von datacenterknowledge haben mal wieder ein tolles Interview mit dem Sales Manager von Raritan veröffentlicht, welcher einen kurzen Überblick und eine Demo der mächtigen Software präsentiert.
VMWare Fusion – Virtuelle Maschine erweitern (vergrößern)
Ihr steht vor dem Problem das Eure Festplatte in der Virtuellen Maschine voll wird? Folgender Artikel beschreibt die Erweiterung mit VMware Fusion.
1. VM Sichern
Ich weise als erstes darauf hin, das die Virtuelle Maschine auf jeden Fall zuerst gesichert werden sollte. Am Besten direkt die Virtuelle Maschine in ein anderes Verzeichnis kopieren. Die Option bietet sich jedoch nur dann an, wenn auf dem Host genügend feier Speicherplatz zur Verfügung steht.
Nach der korrekten und verlässlichen Sicherung der VM kann das Gast Betriebssystem heruntergefahren werden, die Erweiterung kann nur durchgeführt werden wenn das Guest OS ausgeschaltet ist.
2. Disk File vergrößern
Um zunächst die Virtual Disk File zu vergrößern, verwenden wir das Tool vmware-vdiskmanager, das bei jeder VMWare Fusion Installation mitgeliefert wird. Standard Installations Pfad: /Library/Application Support/VMware Fusion/
Folgende Optionen und Parameter beinhaltet das Tool:
-c : create disk; need to specify other create options
-d : defragment the specified virtual disk
-k : shrink the specified virtual disk
-n : rename the specified virtual disk; need to specify destination disk-name
-p : prepare the mounted virtual disk specified by the drive-letter for shrinking
-q : do not log messages
-r : convert the specified disk; need to specify destination disk-type
-x : expand the disk to the specified capacity
Für uns ist somit die Option -x <new capacity> entscheidend. Die Größen können in Kb, Mb und Gb angegeben werden. Hier sollten wir aber aufgepasst werden das die Größenangabe case-sensitive ist (Die Groß- und Kleinschreibung wird beachtet). Also erster Buchstabe groß und zweiter Buchstabe klein.
Der Befehl wird somit wie folgt in der Kommandozeile verwendet (dies ist lediglich ein Beispiel in dem die Virtual Disk disc1.vmdk auf 25GB erhöht wird).
sudo /Library/Application Support/VMware Fusion/vmware-vdiskmanager -x 25Gb /Users/ <Username> /Documents/Virtual Machines/XP.vmwarevm/disc1.vmdk
Die Virtual Disk File ist nun auf die angegeben Größe erweitert und vergrößert worden.
Damit aber auch im Guest-Betriebssystem die volle Größe verwendet werden kann, muss noch die Partitionierung geändert bzw. erweitert werden.
3. Partition für unser Windows Guest OS erweitern
Ich verwende gerne die LiveCD: GParted (Anmerkung: es gibt mehrere Wege die Partitionsgröße zu ändern, ich finde diesen jedoch ziemlich komfortabel). Zuerst laden wir uns das iso Image file von GParted auf unseren Server. Nun wechseln wir in die VMware Console und binden das iso Image in unseren Virtuelle Maschine ein. Folgender Screenshot zeigt die Konfiguration:
Ein Datacenter mit +700 Servern aufbauen, welches nur eine Woche genutzt wird
Der Aufbau eines Datacenters für die VMworld2009
Ein wirklich interessantes Interview mit Dan Anderson, welcher hinter dem Datacenter der VMworld 2009 in San Francisco steckt. Er hat das Datenzentrum Monate zuvor, bis ins kleinste Detail, geplant. Es umfasst 784 Server/Blades und beinhaltet die sogenannten hands-on-labs und die Demos der VMworld 2009. Dan hat damit ein Datenzentrum der superlative aufgebaut, von dem einige Firmen und vorallem Systemadministratoren träumen würden.
(Quelle: run-virtual)
VMware – Your kernel was built with “gcc” version “4.1.3″, while you are trying to use “/usr/bin/gcc” version “4.3.2″
Eine fiese Fehlermeldung die bei der Installation von VMware Server oder den VMware Tools unter Linux auftreten kann:
Das Problem
Während der Installation von VMware Server unter Debian bzw. Ubuntu oder nach dem Versionsupgrade der Distribution lässt sich VMware Server nicht mehr starten und wirft folgende Fehlermeldung:
Your kernel was built with "gcc" version "4.1.3", while you are trying to use "/usr/bin/gcc" version "4.3.2". This configuration is not recommended and VMware Server may crash if you'll continue. Please try to use exactly same compiler as one used for building your kernel. Do you want to go with compiler "/usr/bin/gcc" version "4.3.2" anyway? [no]
Wenn ihr hier einfach “yes” auswählt, dann wird das zu 99,9% Probleme bei eurer Installation verursachen. Also lieber das Problem erkennen und aus dem Weg schaffen
Mit folgendem Befehl könnt ihr euch die installierten Versionen im Detail anzeigen lassen:
ls -la /usr/bin/gcc*
Die Ausgabe sollte je nach Version ähnlich aussehen wie bei mir:
lrwxrwxrwx 1 root root 7 2009-08-04 13:22 /usr/bin/gcc -> /usr/bin/gcc-4.3
-rwxr-xr-x 1 root root 196996 2009-01-18 16:39 /usr/bin/gcc-4.1
-rwxr-xr-x 1 root root 207648 2008-12-31 13:52 /usr/bin/gcc-4.3
-rwxr-xr-x 1 root root 16288 2009-01-18 16:37 /usr/bin/gccbug-4.1
Wie ihr seht, sind auf meinem System 2 Versionen installiert: gcc-4.1 und gcc4.3 wobei die Standard Version von gcc auf gcc-4.3 zeigt.
Die Lösung
Die standard gcc Version sollte nun auf die Vesrion gcc-4.1 gestellt werden. Das ist über 2 Varianten realisiertbar:
Variante1 (Link ändern)
ln -s /usr/bin/gcc-4.1 /usr/bin/gcc
Variante2 (Umgebungsvariable ändern)
export CC=/usr/bin/gcc-4.1
Danach ist die Installation bzw. die Neukonfiguration kein Problem mehr
Letzte Artikel
Translator

News Empfehlungen
- Wireshark mit zahlreichen Verbesserungen (heise open news)
- Red Hat: Mit der Cloud zur Platform as a Service (Linux-Magazin Online News)
- Bossie Awards 2010: Beste Open-Source-Software-Pakete des Jahres (TecChannel | Alle News)
- Kritische Lücken bleiben immer öfter ungepatcht (heise Security)
- Apple Special Event findet am 1. September statt (hack2learn)







