Technik, Linux und das Leben an sich.

Ich habe einen sehr interessanten Artikel über die Facebook Infrastruktur gefunden. Sie verfügen über 30.000 Server – mit nur 25 TERABYTE Logdateien (täglich), um die Infrastruktur kümmern sich 270 Techniker. Viele von euch werden sich jetzt eigentlich gar nicht vorstellen können wie unglaublich viele Server das sind. Ich fang mal an, Hostway Deutschland, also mein aktueller Betrieb hat im Standort Deutschland auf 3 Lokationen verteilt circa 3000 – 5000 Server. Diese Server werden von ca. 30 Mitarbeitern verwaltet. Soweit so gut. Hier sind also auch mehrere große Projekte die sicherlich ein bisschen Last verursachen. Meist sind diese aber auf maximal 10 Server verteilt. Dies alles sind nur gerundete Werte. Es gibt sicherlich auch Seiten die schon mal ihre eigenen Racks, also Serverschränke füllen. Aber das ist eher die Ausnahme. Die meisten Seiten die IHR besucht werden einfach auf 1-2 Servern laufen und das wars. Facebook hingegen hat 30.000 Server. Nur für eine Seite. Nur für eine Community. Um das ganze einfach mal ein bisschen visuell Darzustellen habe ich ein Bild vorbereitet:
Facebook Infrastruktur im Vergleich mit der von Hostway Deutschland

Merkt ihr was für nen Anspruch so eine Seite benötigt?
Von den gespeicherten 80 Millionen Bildern möchte ich gar nicht erst sprechen. Diese Zahl ist übrigens eigentlich durch 4 zu teilen. Denn wenn ihr ein Bild hochladet dann wird das schlicht in 4 Größen abgespeichert, für die Vorschaubilder usw. Also sinds im Grunde nur 20 Millionen Bilder. Dennoch: Es ist der Wahnsinn und ich würde wirklich schrecklich gerne mal ein Praktikum dort machen um zu sehen wie man Herr über so eine riesige Infrastruktur bleibt.

Related posts

Dell Studio 15 Notebook Akku DefektWie bereits bekannt besitze ich ja das Dell Studio 15. Bin soweit auch zufrieden, bis auf ein paar Mängel und nutze es sorgenlos mit Windows 7. Bis dahin eigentlich auch keine Probleme bis auf dass die Lautstärketaste mal ganz gerne nach dem Aufklappen selbstständig macht. Kann man aber verkraften.
Was mich mehr störte ist dass der Akku seinen Geist nach einem Jahr aufgegeben hat. Ich meine offiziell gibt es ja den Memory Effekt nicht mehr, dann sollte es ja egal sein ob das Notebook am Strom ist oder nicht. Er lädt ja dann nicht weiter wenn er voll ist.

Aufjedenfall begrüßte mich Windows 7 eines schönen Tages mit folgender Meldung:
"Consider replacing your Battery"
Oh, wait, what?

Ergänzend fügt Windows 7 hinzu:
"There is a problem with your battery, so your computer might shut down suddenly"
Na wunderbar, das also für einen ein Jahr alten Akku. Ich dachte mir dass es nicht ganz so richtig ist und hatte den Hoffnungsschimmer dass Dell mir den Austauscht. Ich trat also mit dem Support in Kontakt und beschrieb mein Problem. Es gab sogar innerhalb von 24 Stunden eine Antwort:
Read more…

Related posts

Ein LVM sollte jedem Linux Administator bekannt sein für alle anderen ein kurzer Auszug aus dem Wikipedia Beitrag

Der Logical Volume Manager (LVM) ist eine hauptsächlich im Unix- und Linux-Umfeld verbreitete Abstraktionsebene zwischen Festplatten und Dateisystemen. Sowohl der Name LVM als auch die Linux-Implementierung haben ihren Ursprung bei HP-UX und sind von diesem abgeleitet. Der Ausdruck Manager ist leicht irreführend denn der Logical Volume Manager besteht im Wesentlichen aus zwei Komponenten: einer Verwaltungsebene (dem Manager) mit CLI und/oder GUI, sowie einem in den Betriebssystemkern integrierten Treiber, welcher die eigentliche Implementierung realisiert. Der LVM fasst Festplatten bzw. Partitionen (Physical Volume, PV) zu einem Pool (Volume Group, VG) zusammen, aus dem dynamisch "Partitionen" (die Logical Volumes, LV) angefordert werden können. Auf diesen Logical Volumes werden die Dateisysteme angelegt. Unter Windows entspricht dies in etwa den »Dynamischen Datenträgern« die bei aktuellen Microsoft Windows Versionen verfügbar sind.

Neu und erst seit LVM2 dabei ist die Option zum Mirrorn eines LVM. Also werden 2 Physikalische LVM Partitionen gespiegelt. Hört sich schwer an, ist es aber nicht. Ich gehe davon aus das ihr 2 ungefähr gleich große verschiedene Partitionen habt. Wenn dies der Fall ist kann es auch schon los gehen:

Zuerst natürlich lvm instalieren. Dazu:
[code lang="bash"]
aptitude install lvm2
[/code]

Danach leeren wir den LVM Cache und erstellen die Konfigurationsdateien:
[code lang="bash"]
vgscan -v
[/code]
Dann erstellen wir die 2 Physikalischen LVM Container:
[code lang="bash"]
pvcreate /dev/sda2
pvcreate /dev/sdb2
[/code]
(sda2/sdb2 natürlich anpassen – eure Festplatten findet ihr mit cat/proc/partitions)

Anschließend muss eine Volume Group für die Partition erstellt werden:
[code lang="bash"]
vgcreate Mirror /dev/sda2 /dev/sdb2
[/code]
(Mirror könnt ihr frei wählen, ist nur die Group Bezeichnung)

Ihr könnt natürlich auch beliebig viele weitere Partitionen hinzunehmen.

Soweit alles wie immer aber,JETZT, kommt der spannende Teil!

[code lang="bash"]
lvcreate --corelog -n Debmirror -L 500GB -m 1 Mirror
[/code]
MIt –Corelog gibt man das er die Logs Intern speichert.
-n DebMirror ist die Bezeichnung der Zukünftigen Logischen LVM Partition, also frei wählbar.
und -L 500GB gibt die größe des Raids an. Da es ein Raid 1 ist also die Hälfte des Verfügbaren der Volume Group.
-m 1 gibt das RAID Level an. In dem Fall "1"
Mirror steht für die Bezeichnung der Volume Group.

danach gibt man dem ganzen noch ein Dateisystem mit:
[code lang="bash"]
mkfs.ext3 /media/Mirror/Debmirror
[/code]

Jetzt hat man das gespiegelte LVM fertig und ist bereis nutzbar. Jedoch ist es noch nicht sondelrich performant weil er die Partitionen erst kopiert. Den Status kann man sich unter:
[code lang="bash"]
mirror:/var/log# lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
Debmirror Mirror mwi-ao 500.00G 79.68
[/code]

Super! Geschafft!

Eigentlich eine sehr einfach Möglichkeit um eine Art Softwareraid zu erstellen. Die Vorteile des einfachen Verkleinern und vergrößern des Containers liegen auf der Hand. Ich mag es!

Reblog this post [with Zemanta]

Related posts

Geek Gang Signs

Ohgott, wie gut ist das? Haha! Nerdalism at the best!

Related posts

Hier noch einmal zum mitschreiben, ich vergesse das irgendwie immer wieder. Root user mit Host beschränkung anlegen. Ein klassischer Einzeiler.
[code lang="mysql"]
USE mysql; GRANT ALL PRIVILEGES ON *.* TO 'USER'@'IP' IDENTIFIED BY 'passwort' WITH GRANT OPTION; FLUSH PRIVILEGES;
[/code]

Dann maybe noch gucken ob es funktioniert hat:
[code lang="mysql"]
SELECT * FROMT user WHERE User='username';
[/code]

Related posts