Remote Backup Server

Hier darf jeder seinen Home Server vorstellen. Bitte jeder nur einen Thread. Fragen zu den Geräten oder der Software bitte nicht in diesem Forum.
Roland M.
WHS-Experte
Beiträge: 2718
Registriert: 3. Okt 2008, 18:36
Wohnort: Graz, Österreich
Kontaktdaten:

Remote Backup Server

Beitragvon Roland M. » 7. Apr 2013, 17:35

Hallo!

Ich möchte euch meinen Remote Backup Server bzw. das dahinterliegende Konzept der Sicherung außer Haus vorstellen, vielleicht sind ja einige der Gedanken auch für andere interessant.
Mir ist bewußt, daß es da auch Tausende von anderen Lösungen gibt, die alle gleich "richtig" und zielführend sind!
Meine Lösung ist nur eine von vielen.



Zielsetzung und Umfeld

Ziel ist, die Daten meines Small Business Servers zu Hause (auch) extern zu sichern, um die Daten auch noch vor der letzten Gefahr, nämlich Feuer (Wohnungsbrand), zu schützen.
Diese Sicherung soll auch automatisch ablaufen, meine Erfahrung ist, daß auf manuelle Sicherungen bereits nach kurzer Zeit "vergessen" wird - und da schließe ich mich selbst nicht aus!

Ein Wochenendhaus bietet sich für diesen Zweck an, da es hier auch einen Internetzugang gibt. Selbstverständlich muß aber auf (möglichst) alle anzunehmenden Störfälle Rücksicht genommen werden, um nicht bei jeder Kleinigkeit viel Zeit (und Benzingeld) investieren zu müssen.



Umsetzung

Gelöst wurde die Problemstellung durch einen WHS 2011 im Wochenendhaus, der täglich eine VPN-Verbindung nach Hause aufbaut und die Daten sichert.

Die Initiierung vom Wochenendhaus aus ist deswegen notwendig, da der Internetzugang eine Spezialität des österreichischen Marktführers aufweist, bei der - aus historischen Gründen der Abrechnung nach Traffic - in regelmäßigen Abständen (früher 8, jetzt ca. 24 h) die Verbindung getrennt wird. Auch wenn das Modem auf "Autoreconnect" gestellt ist und einen DynDNS-Client aufweist, ist es leider nicht immer gewährleistet, daß nach so einer Zwangstrennung eine Verbindung von außen aufgebaut werden kann. Wird der Traffic aber von innen initiiert, funktioniert alles bestens.

Als Endpunkt für die VPN-Verbindung steht zu Hause mein Router/Firewall auf Basis von Sophos UTM-9.

Der VPN-Client selbst ist der von Sophos bereitgestellte und mit OpenVPN voll kompatible Client.

Auf einen Remotezugang über die WHS-Funktionalitäten wurde verzichtet, da sie einerseits (im gegebenen Umfang) gar nicht benötigt werden, andererseits aber der http- und https-Port für Webcam und Haussteuerung vorbehalten bleiben. Administrative Tätigkeiten werden daher über TeamViewer (als Dienst) erledigt.



Ablauf und WHS-Feinheiten

Neben der Standardinstallation des WHS ist nur die lizenzierte Version von LightsOut installiert.
Von LO werden Backup, Konsolensitzung und Netzwerktraffic überwacht.
Im BIOS wurde auch eingestellt, daß der PC nach einem Stromausfall automatisch starten soll.


Zeitplan:
09:50 LO weckt Server per Kalendereintrag, um ihn um...
09:55 ...neu zu starten
10:00 Beginn des Zeitplans der Clientcomputersicherung
10:05 Batchdatei zur Sicherung des SBS wird per Aufgabenplanung gestartet
13:00 Ende des Zeitplans der Clientcomputersicherung
13:15 (oder später) LO legt wegen Inaktivität den WHS schlafen

Der Neustart des WHS ist deswegen sinnvoll (bis notwendig), da ich in der Testphase bemerkt habe, daß sich der VPN-Client nach dem Aufwecken nicht mehr zuverlässig verbindet. Regelmäßigkeiten sind allerdings keine erkennbar gewesen. Nach einem Neustart gibt es keine Probleme. Sollte sich ein ungewollter Betriebszustand einstellen (Hängen von Diensten etc.), die ein Abschalten des Servers verhindern, bringt der Neustart das System auch wieder in einen stabilen Zustand.

Der Zeitplan für die Clientcomputersicherung wird dazu zweckentfremdet, daß ich in dieser Zeit administrative Tätigkeiten per TeamViewer durchführen kann.



Skripte

Die gesamte Lösung besteht aus nur drei einfachen Batchfiles.

Eines zur VPN-Verbindung, eines zum Sichern und eines zum Senden des Logfiles per Mail.


VPNConnect

Code: Alles auswählen

"C:\Program Files (x86)\Sophos\Sophos SSL VPN Client\bin\openvpn-gui.exe" --config_dir "C:\Program Files (x86)\Sophos\Sophos SSL VPN Client\config\Ulysses" --connect Ulysses.ovpn

Da gibt es nicht viel zu sagen (der Server heißt "Ulysses"), damit wird nur der OpenVPN-Client gestartet, und zwar per Aufgabenplanung bei Systemstart um 30 Sekunden verzögert.

Interessanter ist da schon das Konfigurationsfile:
Zur automatischen Anmeldung gleichzeitig mit dem Start des VPN-Clients muß in der entsprechenden .ovpn-Datei eine Zeile eingefügt bzw. geändert werden:
Ulysses.ovpn

Code: Alles auswählen

auth-user-pass auth.cfg

Der Inhalt der angegebenen Datei (auth.cfg) besteht nur aus Benutzernamen (1. Zeile) und Passwort (2.Zeile).
Selbstverständlich ist das Passwort in Klartext aus sicherheitstechnischer Sicht ein Problem!
Ich habe für meine Person aber beschlossen, damit zu leben. ;)


Als nächstes kommt das eigentliche Backup:

Backup.cmd

Code: Alles auswählen

@echo off


echo *** Backuplog sichern

c:
cd \Users\Administrator\Batch
if exist Backup.bak del Backup.bak
if exist Backup.log ren Backup.log Backup.bak



echo *** net use
 
net use s: \\server\d$ {passwort} /user:{user} /persistent:no >Backup.log
if errorlevel 1 goto Ende



echo *** Start robocopy

robocopy s:\Daten d:\ServerFolders\SBSBackup /MIR >Backup.log

echo *** Ende robocopy



echo *** net use delete

net use s: /del



:Ende

echo *** Mail versenden

call mail.cmd

echo *** Ende


Im ersten Block wird nur das letzte Backup-Log gesichert

Danach wird per net use eine Verbindung zum SBS hergestellt.
Auch hier wieder: Username und Passwort in Klartext!
Umgehen könnte man das, indem man auf dem WHS einen gleichlautenden Benutzer anlegt und dem Benutzer die Rechte gibt, lokal zu arbeiten. Auch nicht wesentlich schöner...
Und warum /persistent:no? Ganz einfach: Sollte während der Sicherung ein Stromausfall sein, würde sonst beim nächsten Neustart das Laufwerk weider verbunden werden, was duch die unterschiedlichen Benutzer aber zum Scheitern verurteilt ist, aber trotzdem den erneuten Aufruf verhindert.

Die eigentliche Arbeit des Skripts geht fast unter, eine Zeile robocopy /mir. Ein alter Bekannter, immer wieder bewährt.

Anschließend wird nur noch das Laufwerk freigegeben und das Logfile als Mail versandt.

Dazu verwende ich das Kommandozeilentool SendEMail.

Mail.cmd

Code: Alles auswählen

set abs=roland.xxxx@aon.at
set empf=roland@xxxx.co.at
set smtp=email.aon.at
set userid=xxxx
set pass=xxxx
set Betreff="Backup-Log"
set Anhang=Backup.log
set Body="Im Anhang das Logfile der letzten Sicherung"

sendemail -f %abs% -t %empf% -s %smtp% -xu %userid% -xp %pass% -u %Betreff% -a %Anhang% -m %Body%


Auch hier: UserID, Passwort, Klartext... ;)


Hardware

Die Hardware für den Server ist nichts besonderes. Ich habe Restbestände verwertet, der früher als Test-PC in Verwendung standen. Einzig eine große Festplatte (2 TB) wurde gekauft.

Der Server besteht aus einem Intel-Motherboard (DG33BU) mit einem Celeron 420 und 3 GB RAM.
Der Server benötigt keine besonderen Voraussetzungen, Geschwindigkeit ist Nebensache - die Internetverbindung ist immer noch das langsamste...
Aber auch im Vergleich zu meinen anderen Servern hat man deutlich die nicht vorhandene Geschwindigkeit während der Installation gemerkt.
Teilweise dachte ich schon, der PC sei abgestürzt, kurz bevor ich zum Reset-Taster greifen wollte, gings aber wieder weiter (minutenlang CPU-Auslastung konstant 100%!)

Zum Schluß noch ein kurioses Problem mit alte Hardware: Zuhause lief der PC jahrelang problemlos, auch im Testbetrieb keine Auffälligkeiten. Dann hab ich den Server ins Wochenendhaus gestellt, getestet, alles ok. Am nächsten Tag kein Mail. Auch den Tag darauf nicht. Mit meiner telefonischer Assistenz (Ausschalten, Einschalten, was leuchtet? Etc.) stellt mein Vater fest, der Server läuft überhaupt nicht mehr! Kein Lüfter zu hören, nichts. Also wieder abgesteckt und mit nach Hause genommen. Zuhause angesteckt, läuft! Um es kurz zu machen: Das Wochenendhaus wird üblicherweise nur frostfrei gehalten, Temperatur um die 8-10°C. Zuhause hat es aber die üblichen 20°C. Das rund 5 Jahre alte Netzteil wollte die Kälte nicht! Netzteil getauscht (Meier tauscht mit Müller...) alle zufrieden, alles funktioniert! :-)


Danke fürs Lesen bis hier, ich hoffe, es waren interessante Aspekte dabei!


Roland
Homemade WHS 2011 mit Intel S1200KP, Xeon E3-1245, 8 GB ECC RAM und 2 TB HDD (40 W)
Homemade WHS (v1) mit Intel DG33BU, Core2Duo E6750, 4 GB RAM und 1,5 TB + 1 TB + 1 TB HDD
Homemade SBS 2008 mit Intel S3200SHV, Xeon E3110, 8 GB RAM und 2 x 1,5 TB HDD
Homemade Sophos UTM-9 Firewall mit Intel S1200KP, i3-2120T, 4GB RAM, Intel Pro/1000 und SSD (30 W)
Homemade WHS 2011 mit Intel DG33BU, Celeron 420, 3 GB RAM, 2 TB HDD (Remote Backup Server)
Homemade VM-Server mit Intel S1200KPR, Xeon E3-1245v2, 16 GB ECC RAM, 2 x 3 TB HDD

p4killer
Foren-Einsteiger
Beiträge: 10
Registriert: 18. Aug 2009, 08:54

Re: Remote Backup Server

Beitragvon p4killer » 1. Apr 2014, 22:57

Toller Bericht,

du machst das nicht zum ersten mal .... :)

toll zu lesen und gut gegliedert.

Danke.

PS: wenn du mit dem SendEMail gute Erfahrungen hast wäre es toll wenn du "uns" eine kurze Anleitung schreibst (kann man sicher mal brauchen)

mfg Peter

fio
Foren-Einsteiger
Beiträge: 8
Registriert: 9. Mär 2012, 20:04

Re: Remote Backup Server

Beitragvon fio » 6. Feb 2015, 23:38

Hab ein ähnliches Konstrukt mit zwei OpenSuse VM's an zwei Standorten. Die werden aber mit rsync abgeglichen und die Daten werden pber sshfs getauscht. Funktioniert ohne neustarts etc. (ebenfalls 24h reconnect) einwandfrei obwohl der backupserver an einer ziehmlich langen Wlan Funkstrecke hängt weil der im Keller steht.

Zum überwachen des Tunnels und des Servers habe ich einfach ein kleines PHP Skript gebaut das auf nem Webserver läuft. Fällt für 15 min die Verbindung aus gibt es ne Mail. Ist die Verbindung für länger als 15 min wieder da gibts wieder eine. Dadurch das ich nie neu gestartet habe habe ich nie gemerkt wenn mal was nicht gestimmt hat.


Zurück zu „My Homeserver“



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron