Dat Kauf ich für´n Euro……. [Monatsbericht 5]

Heute ist Freitag der 07.06.2013. Das ist der fünfte Monatsbericht für das Jahr 2013 des neuen Mail Services „Dat kauf ich für´n Euro“.

In diesem Monat hab ich angefangen 4 neue Virtuelle Maschinen zu erzeugen da unser Webmail Interface bei starker Auslastung schon ordentlich lange für den Login brauchte. Die Ursache waren hier nicht die Masse an Usern sondern die Synchronisation. Da Horde alles über eine Schnittstelle macht belastet hier natürlich die Synchronisation den Webserver.

Um diese Problem zu umgehen hab auf den beiden Maschinen je zwei neue Virtuelle Maschinen erzeugt die ein Minimales Debian haben und nur den Apache Webserver bedienen. Somit ist das normale Webinterface und die Synchronisation entkoppelt. Da die Synchronisation ebenso über eine Sub Domain läuft sind die Sync-Klienten nahtlos auf die neue Virtuelle Maschine umgeschwenkt.

Das brachte natürlich auch eine Messbare Entlastung des Webmailinterfaces.

Auch der Storage Server wurde ein bisschen modifiziert und holt jetzt alle seine Daten aus einem CEPH Storage. Somit ist es egal auf welchem FTP Server der User beim Login landet, erfindet immer seine Daten.

Storage Technisch geht es wie immer nach oben. Diverse User bauchen MEHR Online Speicher aber die meisten User wollen einfach nur MEHR Mailspeicher haben. Momentan liegen wir daher beim Online Speicher bei knapp 600 TB und der Mailspeicher liegt bei gut 550 TB.

Ceph, ES lebt…..

… und das ganz einfach.

Um Ceph auf das System zu bekommen kann man sich die fertigen Pakte von Ceph.com holen. Bei mir die Aktuellen, mittlerweile 0.67.1, Dumpling Packete

wget -q -O- 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc' | sudo apt-key add -
echo deb http://ceph.com/debian-dumpling/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list

Damit ist die Paketquelle für Apt bekannt. Ein

apt-get update && apt-get upgrade

bringt das System auf den neuen Stand. Um Ceph zu Installieren kommt jetzt

apt-get install ceph ceph-deploy

Das Paket ceph-deploy ist für das erzeugen des Clusters und damit den Deploy der Maschinen zuständig.

Als nächstes muss man dafür sorgen das die OSD´s, also Festplatten, vorbereitet werden. Dazu müssen die ausgewählten Platten nur eine Normale Partition haben. Diese werden dann später von Ceph beim Deploy entsprechend in die Verzeichnisstruktur von Ceph eingehängt.

Dann geht es an´s erzeugen der Ceph Konfiguration.

[global]
       ; use cephx or none
       auth supported = cephx

       auth cluster required = cephx
       auth service required = cephx
       auth client required = cephx

       keyring = /etc/ceph/keyring.admin

[mon]

[mon.1]
       host = node01
       mon addr = 192.168.3.12:6789

[mon.2]
       host = node02
       mon addr = 192.168.3.13:6789

[mon.3]
       host = node03
       mon addr = 192.168.3.14:6789

[mds]

[mds.1]
       host = node01

[mds.2]
       host = node02

[mds.3]
       host = node03

[osd]
       osd journal = /var/lib/ceph/journal/osd.$id.journal  ;only if you want put journal on a dedicated disk, like ssd
       osd journal size = 100

       ; uncomment the following line if you are mounting with ext4
       ; filestore xattr use omap = true

       ; uncomment if you want journal on tmpfs
       ;journal dio = false
       osd mkfs type = xfs
       osd mkfs options xfs = "-f"
       osd mount options xfs = "rw,noatime,inode64,logbufs=8,logbsize=256k"

[osd.10]
       host = node01
       addr = 192.168.3.12
       devs = /dev/sdb1

[osd.11]
       host = node01
       addr = 192.168.3.12
       devs = /dev/sdc1

[osd.20]
       host = node02
       addr = 192.168.3.13
       devs = /dev/sdb1

[osd.21]
       host = node02
       addr = 192.168.3.13
       devs = /dev/sdc1

[osd.30]
       host = node03
       addr = 192.168.3.14
       devs = /dev/sdb1

[osd.31]
       host = node03
       addr = 192.168.3.14
       devs = /dev/sdc1

Wie man sieht besteht der Ceph Cluster aus drei Nodes, auf jeder Node läuft ein MON, ein MDS und zwei OSD´s mit je 8 GB. Somit sind alle Nodes im Cluster auch gleichzeitig Monitore und Metadaten Speicher. Damit können Theoretisch zwei Nodes weg brechen ohne die Daten zu gefährden.

Um sich die Sache mit den OSD´s einfach zu machen nimmt man die Pfade der Platten direkt mit in die Konfiguration auf, ansonsten müsste man das manuell über die Fstab machen, was gerade bei vielen OSD´s zu fehlern führen kann. Ausserdem hat es den Vorteil das Ceph in dieser Konstellation alle benötigten Verzeichnisse beim Deploy mit anlegt und das Einhängen der Platten automatisch nach dem anlegen des Dateisystems erledigt.

Wie man sieht nutze ich XFS, aber auf den Performanceseiten von Ceph hat BTRFS beim schreiben eigentlich immer die Nase vorn, was bei großen Nodes bzw. Clustern schon einen entscheidenden Unterschied machen kann, zum Testen mit VirtualBox reicht mir aber XFS.

Als nächstes sollte auf jedenfall der NTP laufen damit alle Nodes im Cluster die gleiche Uhrzeit haben, sollte das nicht der Fall sein fängt Ceph an zu meckern und der Cluster bleibt stehen, was den Supergau darstellt. Im ceph.log findet man dann solche Einträge:

....[WRN] message from mon.0 was stamped 0.106686s in the future, clocks not synchronized

Um alle Systeme gleichzeitig nach der Uhrzeit zu fragen kann man diese Schleife auf der Console nutzen:

 for i in node01 node02 node03; do ssh root@$i date; done

Damit sieht man auf einen Schlag alle Uhrzeiten aller Nodes. Wichtig ist das hier mit SSH Schlüsseln gearbeitet wird die Ceph benötigt um die Konfigurationen und passenden Verzeichnisse anzulegen. Hier im Test Cluster hab ich mir die Arbeit einfach gemacht und einfach mit

ssh-keygen -t rsa

einen Schlüssel erzeugt und diesen dann per

scp .ssh/id_rsa.pub node02:.ssh/authorized_keys2
scp .ssh/id_rsa.pub node03:.ssh/authorized_keys2

auf die anderen Nodes verteilt. In einem Produktiv Cluster ist das natürlich ein KO Kriterium, für solche Dinge nimmt man dann einen eigenen User der kein Passwort für den ssh Login hat und eben alles nur über ssh Keys macht.

Um Ceph nun zum Leben zu erwecken nutzt man

mkcephfs -a -c /etc/ceph/ceph.conf -k ceph.keyring

was alle OSD´s auf ALLEN beteiligten Nodes mit XFS Formatiert und auch Automatisch in die Ceph Ordnerstruktur einbindet. Des Weiteren wird auch die ceph.conf kopiert was alles über SSH mit den Pub Keys läuft. Mit den neuen Versionen von Ceph wird mkcephfs aber durch ceph-deploy ersetzt.

 

Dat Kauf ich für´n Euro……. [Monatsbericht 4]

Heute ist Freitag der 03.05.2013. Das ist der vierte Monatsbericht für das Jahr 2013 des neuen Mail Services „Dat kauf ich für´n Euro“.

In diesem Monat Platze fast unser Webserver, na ja Platzen ist vielleicht der falsche Ausdruck dafür. Eher ging ihm die Puste aus, was gerade mit Apache2 auf grösseren Systemen schon mal passiert. Ursache war aber nicht das die Systemressourcen zur neige gegangen sind, schon gar nicht mit 1 TB RAM und einem HP DL 980 als Hardware, sondern das der Apache mit seinen Prozessen am Ende war.

Somit hat nicht mal Nagios gemeckert da der Sysload nicht hochgegangen war. Nur bei den Webseiten check den Nagios macht kamen dann eben mal Reaktionszeiten von Jenseits Gut und Böse zu Stande die Nagios dann doch zum Meckern gebracht haben. Natürlich immer wenn man gerade keine Zeit hat sich solch einem Problem zu Widmen.

Nun gut, wozu hat man einen Laptop und einen Internetflat auf dem Handy?? Genau eben für solche Sachen. Also um das Problem eben auch schnell aus der Welt zu schaffen per SSH auf dem Server Angemeldet und in der Konfiguration das Preforker Modul Hochgedreht, nun stehen dem Apachen VIEL mehr Prozesse zur Verfügung als vorher.

Storage Technisch geht es wie immer NACH OBEN, zwar nur beim Online Speicher aber auch beim Mailstorage ist die Richtung weiter nach OBEN.

Account mäßig geht es auch nach oben, 31.548 neue User haben sich angemeldet. Dafür sind aber 821 Tote Useraccounts gelöscht worden. Auch eine kleine Überarbeitung des Internen WIKI hat erfolge gebracht und somit ein wenig unser Support Team entlastet.

Hardware Technisch läuft alles sehr stabil und ich hab alle Systeme von 1 TB auf 2 TB RAM aufgerüstet, was mich dann auch beim Reboot mit mehr als 10 Minuten Wartezeit bestraft hat. Aber die Server werden ja nicht jeden Tag neugestartet. Storage Technisch hab ich mal wieder aufgerüstet von knapp 200 TB auf jetzt 800 TB. Mal sehen wie lange DAS WIEDER reicht.

 

Mailadresse für lau [Monatsbericht 02.13]

Heute ist Freitag der 26.04.2013 und das ist der zweite Monatsbericht meines Freemail Services.

Diesen Monat steigen wir mit Dovecot auf die Version 2.1.15. Nach diversem Testen läuft das Produktion System, also der Cluster, sogar etwas schneller wenn auch minimal, aber gerade eben so das wir einen Unterschied mit Nagios Messen können. Auf dem Array, wo Dovecot seine Indexe Lagert, wurden einige Optimierungen am Dateisystem vorgenommen. Diese sorgen jetzt, gerade bei vielen und kleinen Dateien, für einen Performanceverbesserung die gut bei 8% liegt. Da wir den Durchsatz der Kontroller Erfassen sieht man hier diverse Unterschiede.

Das „Tote Accounts Löschen“ Script hat in den letzten zwei Monaten merkwürdig wenig Arbeit. Nur 381 Tote Accounts wurden Entfernt, diverse dieser Accounts wurden hier in einen Bezahltes Mailpaket umgewandelt. Des Weiteren hat die Überarbeitung des WIKI´s Erfolg gezeigt. Der Zugriff auf das WIKI stieg Ordentlich an und damit wurde auch unser Support Team spürbar Entlastet.

Dat Kauf ich für´n Euro……. [Monatsbericht 3]

Heute ist Freitag der 05.04.2013. Das ist der dritte Monatsbericht für das Jahr 2013 des neuen Mail Services „Dat kauf ich für´n Euro“.

So, diesen Monat ging es richtig zu Sache. 32.582 neu User haben sich angemeldet, so langsam wird es mir Peinlich. Ich hatte bisher nie mit solch einem Ansturm gerechnet. ABER die Realen Zahlen kommen ja erst wenn die Kunden ihren ersten Freien Monat hinter sich haben und dann die Rechnung Bezahlen müssen.

Natürlich gibt es diverse User die den freien Monat nutzen, genau dafür ist dieser ja gedacht. ABER der Großteil der User bezahlen ihre Rechnungen sehr Pünktlich und oft schon vor dem Vereinbarten Zahlungstermin. Sowas finde ich SEHR GUT.

Auch fragen viele User nach kurzer Zeit nach mehr Speicherplatz den man natürlich auch dazu Buchen kann.

Neuen Storage braucht das Land …..

und ich endlich mehr Entlastung!!

Seit geraumer Zeit „verschwende“ ich mehr und mehr Zeit damit unsere Storageserver zu verwalten und zu überwachen. Selbst unser eigens Entwickeltes Datacenter System hat mehr mit der Verwaltung zu tun als alles andere. Das größte Problem ist und bleibt aber die Redundanz. Keines der Filesysteme auf unseren Storageservern kommt mit Redundanz daher, mal vom Raid Array abgesehen. Wenn die Maschine aber weg bricht bringt einem das beste Raid auch nichts mehr.

„Neuen Storage braucht das Land …..“ weiterlesen

Dat Kauf ich für´n Euro……. [Monatsbericht 2]

Heute ist Freitag der 01.03.2013. Das ist der zweite Monatsbericht für das Jahr 2013 des neuen Mail Services „Dat kauf ich für´n Euro“.

Diesen Monat haben sich 13.211 User Angemeldet. Auch hier wieder mehr als erwartet. VIEL mehr als erwartet.

Diverse User die seit Jahresanfang dabei sind fragen jetzt schon nach MEHR Speicher. Teilweise für die Mailbox aber der Großteil für den Datenspeicher. Natürlich bekommen die Kunden ein Speicher Upgrade. Wir wollen ja das die Kunden auch bleiben.

Es gibt aber auch diverse Kunden die abgesprungen sind und den Kostenlosen ersten Monat ausgenutzt haben. Auch wurde unser Support von diversen Usern auf Trap gehalten. Die Support Anfragen werden wir natürlich auch in das Interne WIKI Einpflegen damit die User zu einer schnelleren Problemlösung kommen.

Was ich SEHR GUT finde ist die sehr gute Zahlungsmoral der Kunden nach dem ersten Kostenlosen Testmonat. 92 % der Kunden Zahlen nach Ablauf des ersten Test Monats innerhalb von 4 Tagen ihre Rechnungen. Die Anfänglichen Probleme mit unseren Mail Erzeugenden Programmen konnten durch den Austausch des Hauptspeichers Restlos beseitigt werden.

 

Dat Kauf ich für´n Euro……. [Monatsbericht 1]

Heute ist Freitag der 01.02.2013. Das ist der erste Monatsbericht für das Jahr 2013 des neuen Mail Services „Dat kauf ich für´n Euro“.

So, der erste Monat ist vorbei!

Der neue Mail Dienst, bei dem man eine Mailbox mit 10 GB für genau 1 Euro Mieten kann, ist gut angelaufen! Hat mich etwas Verwundert da ich mit weniger Registrierungen gerechnet hatte als es dann doch tatsächlich in den ersten 4 Wochen waren.

In den ersten 4 Wochen haben sich genau 8.532 Leute angemeldet! Das hat bei uns auch gleich für Richtig Arbeit im Büro gesorgt da die Erzeugung der Rechnung als Mail mit PDF gleich mal gar nicht Funktioniert hat! Klasse! Gleich am Anfang solche Probleme, obwohl 3 Monate vorher getestet. Nur das finden des Problems war schwieriger als erwartet. Da diese Problem merkwürdiger immer nur in bestimmen Situationen aufgetreten ist hat das doch länger gedauert den Fehler hier finden. Normaler weise wissen wir Relativ genau an welchen Stellen in unseren Programmen welche Aktionen durchgeführt werden und haben auch dafür eine Menge Testprogramme die Fehler finden sollen. Aber dieser Fehler war aber mit den Testprogrammen nicht zu Lokalisieren.

Nach 4 Tagen suchen und teilweise auch neu Schreiben von Codebestandteilen stellten wir dann fest das es nicht die Software sondern sie Hardware war. Es stellte sich heraus das der Hauptspeicher eine Macke hatte was dazu führte das Prozesse einfach von der Hardware gekillt wurden und damit einige Programm Routinen nicht Korrekt ausgeführt wurden, was dazu führte das die Mails mit PDF Rechnung nicht korrekt erzeugt wurden und auch Fehler in die DB eingetragen wurden was auch zu einer Inkonsistenten Datenbank führt.

Nach dem Austausch des Hauptspeichers als ganzes lief das Programm dann wie erwartet und die Fehler in der Mailerzeugung waren Beseitigt. Die Datenbank konnte dann auch per Hand wieder in einen Konsistenten Zustand gesetzt werden.

Software Technisch wurden hier diverse Einstellungen noch an die Hardware angepasst und das Array mit einigen neune Platten aufgestockt. Storagevolumen liegt jetzt bei gut 200 TB.

 

Dat Kauf ich für´n Euro…….

…the Beginning.

Ich hatte vor geraumer Zeit einen Freemail Service eingerichtet. Um genau zu sein ist dieser am 2.1.2012 gestartet. Eigentlich dachte ich das ich diesen nach kurzer Zeit wieder einstampfen müsste weil dieser nur Probleme mit sich bringt und dieser schneller auf Blacklisten landet als ich von 1 bis 5 Zählen kann, ABER dem ist nicht so. Aber mit Freemail Verdient man kein Geld wenn man keine Werbung einblendet. Ich hab das so begonnen um den Usern nicht die Stimmung zu verderben. Des Weiteren gibt es beim Freemail auch diverse Einschränkungen was die User daran hindern soll den Dienst zu Missbrauchen. Der jetzt Startende Dienst hat den Arbeitstitel „Dat kauf ich für´n Euro“, sagt also aus das die Mailbox nur 1 Euro kostet. Folgenden Service bekommt man dafür:

Anmeldung geht HIER

Hardware:

  • 2 x HP DL980 G7 (Verteilt auf zwei Deutsche Standort)
  • je 1000 GB Hauptspeicher
  • je 4 HP SmartArray P421 Storage Controller
  • je 4 HP MDS600

Anfänglicher Storage wird 1 TB sein, der im laufe der Betriebszeit Erweiter wird….

Mailadresse für lau [Monatsbericht 12]

Heute ist Freitag der 28.12.2012 und das ist der zwölfter Monatsbericht meines Freemail Services.

Endspurt zum Jahresende!

Diesen Monat wurden 5.621 Tote Accounts entfernt wobei auch diesmal diverse User auf ein Bezahltes Mailpaket umgestiegen sind. Trotzdem ist und bleib Freemail ein Verlustgeschäft was nicht ganz unwesentlich auch andere Probleme mitbringt.

Account technisch waren die Accounts diesmal in 16 Tagen alle weg. Obwohl hier von 70.000 auf 100.000 Accounts aufgestockt wurde und aus dem Vormonat 9.512 Tote Accounts gelöscht wurden, waren die noch zu vergebenden Accounts schneller weg als erwartet.

Speicher technisch geht es wie immer Bergauf, im Moment liegen wir bei knapp 0.95 PB, also 950 TB. Die Erweiterung der Storageserver wurde ohne Probleme mit einer zwei Stündigen geplante Downtime erledigt.

Auch wenn der Freemail Service diverse Probleme erzeugt, werde ich diesen weiter betreiben und auch Versuchen die besonderen Kunden möglichst zu frieden zu stellen.