Serverbackup mit Versionierung auf anderen Server

RockNLol

Lieutenant
Registriert
Aug. 2008
Beiträge
814
Hi,
habe einen Hyper-v-Host auf Server 2012R2 und einen darunter laufenden Server 2012R2 in dem eine 8TB große VHDX gemountet ist, wo meine ganzen Daten drauf sollen. Nachts soll dieser Server einen kleinen anderen Server aufwecken, in den ich meine ganzen alten Festplatten reingestopft habe um auch auf 8TB zu kommen, und die Daten dort hinüberkopieren.

Wie mache ich das am besten? WOL kann man skripten, das sollte das geringste Problem darstellen.

  • Integriertes Serverbackup
    Kann zwar auf Netzlaufwerke backuppen, aber immer nur Vollbackup was zu lange dauert.
    Kann man das vlt austricksen, sodass es denkt es schreibt auf eine Festplatte?
  • Robocopy
    geht sicher, nur gibts dann keine Versionierung, auf die kann ich aber notfalls auch verzichten.
  • Drittherstellerprogramm
    sollte nicht teuer sein und wenn dann auch Versionierung unterstützen.

Und auf welches OS sollte ich auf dem Backupzielserver setzen? Ein kleines Linux mit SMB bekomm ich hin, bin aber sonst auf Windows unterwegs. An alten Lizenzen hätte ich anzubieten:
  • Windows Home Server (v1)(womit ich gerade ein wenig liebäugle)
  • Windows XP Home
  • Windows 7 Professional
  • Windows Vista Business

XP und Linux bekomme ich auf eine 8GB CF-Karte mit IDE-Adapter für alle anderen müsste ich auf alte Laptopplatten ausweichen.
 
Das sieht schonmal brauchbar aus, allerdings will ich die VM selbst gar nicht mitbackuppen sondern nur die darin gemountete Daten-VHDX. Da wäre mein Robocopyskript genausogut.
 
Zuletzt bearbeitet:
Den Windows Server Backup könntest du vermutlich austricksen indem du deinen Backupserver nicht als Netzwerklaufwerk sondern per iSCSI einbindest. Das sieht dann wie eine lokale Festplatte aus.
Dazu könntest du entweder das Windows Server iSCSI-Target (Windows Server-Lizenz vorausgesetzt, sehr einfach) oder unter Linux LIO (mit etwas Linux-Kenntnissen und der Anleitung relativ einfach einzurichten) verwenden.
 
Super, danke, werd ich versuchen ;)
 
So nach einigen Problemen mit dem Storagepool auf dem Backupserver (UniqueID-Fehler, JMB36X-Controller) und Ausweichen auf ein übergreifendes Volume läuft mein iSCSI-Ziel jetzt und das erste Backup läuft auch.

Allerdings habe ich gelesen dass es jetzt mit dem Herunterfahren des Targets schlecht aussieht.

Irgendwelche Ideen, wie ich die Verbindung trennen und den Backupserver herunterfahren kann?
 
Mit dem Script wird doch auch die ganze VM gesichert oder seh ich das falsch ?

Schau dir mal Drive SnapShot an, das kann auf Kommandozeile so ziemlich alles inkl. inkrementeller Backups.
 
Mit dem in Windows Server integrierten Windows Server Backup werden inkrementelle Backups auf lokale Festplatten gemacht, was gesichert werden soll (gesamte VM oder in meinem Fall nur die Daten-VHDX) kann ich mir aussuchen. Die lokale Festplatte hab ich jetzt durch den Hinweis von TheCadillacMan per iSCSI umgangen.

Drive Snapshot schaut gut aus kostet mich aber 89€, schon ziemlich heftig.
 
Zuletzt bearbeitet:
RockNLol schrieb:
Irgendwelche Ideen, wie ich die Verbindung trennen und den Backupserver herunterfahren kann?
PowerShell.
Für den iSCSI-Initiator gibt's Cmdlets zum herstellen und trennen der iSCSI-Verbindung, herunterfahren kannst du mit Stop-Computer, hochfahren per WOL-Skript.

Einziges Problem ist, dass WSB soweit ich weiß keine Pre-/Post-Job-Skripts kennt.
Im Notfall könntest du auf Backup-Planung von WSB verzichten und mit der normalen Aufgabenplanung oder als PS Scheduled Job ein PowerShell-Skript starten das folgendes macht:
- Target aufwecken und verbinden
- WSB anstoßen und warten bis fertig
- Target trennen und herunterfahren
 
pre-job-skript mach ich einfach per wecker, 23:50 weck ich ihn auf 23:55 mounte ich das iscsi-target 0:00 beginnt das backup.
post-job geht per trigger in der Aufgabenplanung, das kenne ich schon vom WHS.

super, danke :) wieder geld gespart.
 
hi,
das Skript funktioniert einigermaßen, leider fährt der Backupserver des öfteren nicht herunter weil das Skript beim iSCSI-mount oder dismount hängt. Das Prozedere ist kurz zusammengefasst folgendes:
  • 2 mal in der Woche weckt der Hauptserver per WOL den Backupserver auf,
  • verbindet 3 Minuten später das iSCSI-Laufwerk des Backupservers
  • spielt sein Backup drauf
  • trennt das iSCSI-LW wieder
  • und sollte den Backupserver danach herunterfahren.

Wo es im Skript hakt, ist wie gesagt das mounten und dismounten des iSCSI-Laufwerks. Momentan mache ich das folgendermaßen:
Code:
#Verbinden
Update-IscsiTarget
Connect-IscsiTarget -NodeAddress iqn.1991-05.com.microsoft:backupserver-backup-target
Das klappt immer beim ersten testdurchlauf, nach dem ersten Disconnect durch
Code:
Update-IscsiTarget
    $Target=Get-IscsiTarget
    Disconnect-IscsiTarget -NodeAddress $Target.NodeAddress -confirm:$false
bekomme ich dann allerdings die Fehlermeldung
Code:
Connect-IscsiTarget : Der Zielname wird nicht gefunden oder ist von der Anmeldung als ausgeblendet gekennzeichnet.
Im iSCSI-Initiator steht dann der Backupserver mit dem Vermerk "Inaktive Geräte" kann dort aber per Schnellverbindung wieder verbunden werden.

Mache ich beim trennen etwas falsch?
 
Zuletzt bearbeitet:
Um mal vom Thema wegzukommen und das versioning anzusprechen:

Wenn Du auf den Server genug Platz hast, kannst Du darüber nachdenken, ein Dateisystem einzusetzen, welches snapshots und copy-on-write unterstützt, etwa ZFS oder Btrfs.
(wenn die Quelle übrigens das gleiche FS verwenden würde, könntest Du ganz einfach auf der Quelle regelmäßige Snapshots erstellen lassen und bräuchtest nach dem ersten initialisieren des Backupservers nur noch die snapshots rekursiv zu übertragen: inkrementelles Backup made easy.)
Allerdings wirst Du dann das Laufwerk nicht mehr über iSCSI einbinden können, da Windows nativ keines dieser Dateisysteme unterstützt.

Das Herunterfahren des Backupservers könntest Du ggf. auch über ssh auslösen können.
 
Ich hätte einen neuen Thread aufmachen sollen...
Auch wenn Linux mit für meinen Zweck gemachten Dateisystemen die sauberere Lösung wäre, ich kenne mich damit so gut wie nicht aus, und ich habe keine Zeit, mich damit zu befassen und nochmal alles über den Haufen zu werfen und neu aufzusetzen.

Der Fehler liegt nicht am herunterfahren direkt, sondern dass sich das Powershellscript schon vorher beim verbinden oder trennen des iSCSI Laufwerks aufhängt und somit nicht zum shutdownbefehl kommt. Mit geschickten Errorlevels könnte ich das ja auch umgehen...

News gibts auch, Tests haben ergeben dass das Verbinden genau dann nicht funktioniert, wenn das script das iSCSI-LW trennt (LW ist im iSCSI-Initiator mit dem Status "Inaktive Geräte" markiert) und dann den Backupserver herunterfährt (LW ist im iSCSI-Initiator gar nicht mehr vermerkt). Beim nächsten Start klappt das Verbinden nicht mehr, vermutlich weil ausgeblendet.
 
Ich könnte Dir jetzt lang und breit erzählen, wie einfach eine solche Lösung in einer homogenen Linux-Umgebung wäre, aber damit wäre Dir absolut nicht geholfen.

Wenn Du mit iSCSI solche Probleme hast bzw. der iSCSI-Initiator unter Windows so unhandlich ist, ist iSCSI vielleicht nicht die richtige Methode, um Dein Problem zu lösen. Da wäre es sicherlich wesentlich einfacher, auf CIFS/SMB auszuweichen, denn das lässt sich nach wie vor schlicht und einfach mit "net use" einbinden und lösen, und Du hast die Möglichkeit, auf dem Host "anständige" Dateisysteme zu verwenden.

Wenn Du nicht allzu viel Lust und Zeit hast, Dich mit Linux auseinanderzusetzen, könnten Dir ggf. bereits fertige "Distros" à la Openfiler/OpenMediaVault oder eben die Klassiker NAS4Free und FreeNAS weiterhelfen. Gerade die letzteren beiden sind dank nativem ZFS recht einfach zu handhaben und lassen sich ebenso über SSH wie auch webinterface administrieren und steuern. Automatische Snapshots kann man bequem per webinterface einrichten, manuelle Snapshots entweder per Cron-Job oder über SSH anstoßen.
 
smb/cifs fällt flach weil, wie oben bereits geschrieben, Windows Server Backup nur auf "lokale" Festplatten inkrementell backuppt, was man mit iSCSI austricksen kann.

Ich brauch nur hilfe bei dem iSCSI-Powershell-Cmdlets.
 
Zurück
Oben