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:

Tags: , , , , , , , , , ,

Montag, Juni 28th, 2010 Linux, Virtualization 4 Kommentare

Ohne Worte: Cloud Computing einmal anders

Tags: , , ,

Donnerstag, Juni 10th, 2010 Allgemein, Hardware, Virtualization 1 Kommentar

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

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

Mittwoch, März 17th, 2010 Linux, Virtualization 1 Kommentar

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):

einzelner_server floor_map power_path rack_visualisierung

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.

Tags: , , , , , ,

Donnerstag, November 12th, 2009 Hardware, Virtualization 1 Kommentar

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:

› Continue reading

Tags: , , , , , , , ,

Mittwoch, November 11th, 2009 Linux, Virtualization, Windows Keine Kommentare

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)

Tags: , , , , , , , ,

Mittwoch, September 2nd, 2009 Hardware, Virtualization 1 Kommentar

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

Tags: , , , , , ,

Donnerstag, August 6th, 2009 Linux, Virtualization 3 Kommentare
Sysadmin's Life on Facebook
steve jobssteve jobs