Backups auf meinem Server

Ohje ohje, nun sind schon wieder Monate seit meinem letztem Eintrag vergangen und es wird daher mal wieder Zeit für einen neuen Eintrag.  Also dann mal los:

Diesmal möchte ich über das Thema sprechen, wie ich Backups auf meinem Server mache. Dazu benutze ich zwei verschiedene Methoden. Einmal verwende ich den guten alten dump Befehl um Sicherungen von den wichtigsten Laufwerken zu erstellen. Dazu habe ich mir ein Shell Script geschrieben, mit dem ich einmal pro Woche ein Level-0 Dump erstelle. Das Level-0 Dump ist eine komplette Sicherung des Dateisystems. Den Rest der Woche erstelle ich täglich ein Level-1 Dump, bei dem immer nur die Änderungen seit dem letzten Level-0 Dump gesichert werden. Die erstellten Dumps werden per rsync auf einen anderen Rechner kopiert.

Die benutzen Cronjobs:
# Level 0 Dumps erstellen
0       2       *       *       0       /root/Scripts/makeDumps.sh 0 > /dev/null
# Level 1 Dumps erstellen
0      1       *       *       1-6     /root/Scripts/makeDumps.sh 1 > /dev/null

Die andere Methode ist in Wirklichkeit kein Backup, den dort benutze ich die Snapshots von UFS2, dem Dateisystem von FreeBSD. Snapshots speichern den aktuellen Zustand des Dateisystem. Wenn nun z.B. Dateien gelöscht werden, bleiben diese immer noch im Dateisystem erhalten, solange noch ein Snapshots auf diese zeigt. Das Problem mit den Snapshots ist eben, dass sie ebenfalls im Dateisystem gespeichert werden, sollte nun ein Fehler im Dateisystem auftreten oder die Festplatte ausfallen, sind die Daten verloren. Aus diesem Grund sind Snapshots auch keine richtigen Backups und ich benutze sie auch nur bei meiner /home Partition. Die Daten die dort liegen, sind auch noch auf anderen Datenträgern vorhanden (externe HDD) und dumps von diesem Laufwerk würden einfach lange dauern und zu groß werden. Ich benutze Snapshots nur um versehentliches löschen von Daten zu vermeiden. Dazu habe ich ebenfalls ein kleines Ruby Script geschrieben. Damit das Script funktioniert muss die Konfigurationsdatei “snapshot.config“ existieren. Die Einträge sehen z.B. wie folgt aus: 

  /home,3;
  /data,2; 

Das bedeutet das z.B. von dem Dateisystem /home maximal 3 Snapshots erstellt werden.

Weitere gute Informationen und detailliertere Anleitungen über das Thema Datensicherung/Backups in BSD findet ihr im FreeBSD Handbuch und hier auch noch.

Mein neuer Server

Seit zwei Wochen habe ich hier zu Hause meinen neuen Server in Betrieb und deshalb möchte ich ein wenig über diesen berichten.

Meinen letzten Server habe ich vor etwa zwei Jahren wegen Altersschwäche außer Betrieb genommen. Ich habe mir danach keinen neuen Server eingerichtet, weil Strom auch nicht gerade billiger wurde. In dieser Zeit gab es aber doch den einen oder anderen Moment, in dem ich die Vorteile eines Servers sehr vermisst habe. 

Ich habe zwar seit längerem einen File-Server am Laufen, auf den ich meistens meine Backups von meinem PC und meinem MacBook Pro kopiere und andere Daten lagere. Der File-Server läuft aber nicht im Dauerbetrieb und ich schalte ihn nur dann an, wenn ich entweder Daten brauche oder Backups mache.

Vor einiger Zeit fing ich dann wieder an, mir Gedanken um einen neuen 24/7 Server zu machen. Dabei waren mir folgende Punkte sehr wichtig.

Der Server sollte …

  • … möglichst wenig Energie verbrauchen
  • … Leistungsstark genug sein, um alle Dienste zu bewältigen, die ich auf ihm laufen lassen möchte. Zu den Diensten gehören unter anderem: VPN-Server, Webserver + PHP, PostgreSQL Datenbank
  • … möglichst leise sein

Nach längerem hin und her, habe ich mich dann für das Mini-ITX Mainboard D945GCLF von Intel entschieden. Auf dem Board befindet sich ein Intel Atom Prozessor mit 1.6 GHz. Dieser Prozessor zeichnet sich besonders durch seinen sehr niedrigen Energieverbrauch aus. Das Board ist schnell genug für meine Anforderungen und ist dazu auch noch recht günstig. Zusammen mit dem Mainboard habe ich mir auch noch ein 1GB DDR2 RAM Riegel, eine 160GB 2,5″ Festplatte und ein kleines Barebone Gehäuse bestellt. Die 2.5″ Festplatte habe ich ebenfalls wegen dem geringeren Energieverbrauchs und Lärmentwicklung gewählt und mich daher gegen ein 3.5″ Modell entschieden. 

Als Betriebssystem setze ich auf meinem Server FreeBSD ein, im Gegensatz zu meinem damaligen Server, auf dem ich Debian GNU/Linux benutzt habe. An FreeBSD habe ich in letzter Zeit sehr viel Gefallen gefunden. Linux war toll um die ersten Schritte mit einem Unix ähnlichen Betriebssystem zu machen und dieses zu erforschen. Doch mit den wachsenden Erfahrungen, wurde für mich FreeBSD immer interessanter, da ich es als professioneller empfinde. FreeBSD hat den Ruf, sehr zuverlässig und stabil zu sein, was für einen Server ja bekanntlich immer gut ist. Auch die Entwicklung finde ich besser als bei Linux, da sie viel zentraler und übersichtlicher ist. Weitere Unterschiede zwischen BSD und Linux kann man hier nachlesen. Ebenfalls sehr zu empfehlen ist die Sendung von Chaosradio Express, die sich in der Ausgabe 48 sehr detailliert mit dem Thema FreeBSD beschäftigen.

Nun läuft mein Server seit zwei Wochen und ich bin sehr zufrieden. Der Energieverbrauch des Servers liegt bei etwa 35 – 40 Watt, was meiner Meinung sehr gut ist. Auch die Performance ist sehr gut, alle genutzten Dienste laufen super. Der einzige Kritikpunkt war die Lautstärke des Kühlers, der auf dem Mainbaord den Chipsatz kühlt. Dieser ist für seine Größe (40mm) sehr laut. Aber das Problem lies sich durch austauschen gegen ein leiseres Modell schnell beheben.

Veröffentlicht in FreeBSD, Server. Kommentar schreiben »