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
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
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
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%
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