Calprainn Posted December 30, 2020 Share Posted December 30, 2020 Hallo zusammen, ich betreibe seit 5 Jahren einen HP MicroServer Gen8 auf Ubuntu Server Basis. Nun möchte ich mir demnächst einen neuen Home Server mit UNRAID (und neuer Hardware) zusammenbauen. In dem derzeitigen Gen8 Server befinden sich 4 x 3 TB HDDs, die zusammen als RAID5 Verbund (/dev/md0) in /mnt/Volume gemounted sind. Die Daten bestehen aus Rechner Backups (Time Machine), Docker Configs, Filme, Fotos, Musik und aus zwei Nextcloud Benutzerdateien. Aktuell sind von den vorhandenen 8.12 TB um die 6.81 TB belegt. Frage: mit welcher Methode sichere ich die vorhandenen Daten am besten und wie spiele ich die gesicherten Daten nachher in den neuen UNRAID Server zurück? Eine vorhandene, externe 10 TB USB3.0 HDD soll als Backup dienen. Besten Dank vorab! Quote Link to comment
mgutt Posted December 30, 2020 Share Posted December 30, 2020 Du willst also die 3TB Platten dann im Unraid Server verbauen? Dann bleibt ja nur die Möglichkeit die Dateien auf die 10TB Platte zu kopieren und dann nach Umbau der Platten diese in Unraid zu formatieren und die Daten zurückzuspielen. In der Zeit hast du natürlich keine Ausfallsicherheit und musst der 10TB Platte zu 100% vertrauen. Eventuell solltest du die daher vorher noch einem Stresstest aussetzen und natürlich wie ein rohes Ei behandeln ^^ Sind die Dateien kopiert, baust du die Platten in Unraid ein, weist sie zusammen mit einer Paritätsplatte zu und stellst Tunable (md_write_method) auf "reconstruct write" (=TurboWrite) in den DiskEinstellungen. Das Array wird nun formatiert. Ist das fertig verbindest du die 10TB Platte per USB3 mit Unraid. Als nächstes bräuchtest du das Unassigend Devices Plugin um die Platte in Unraid zu mounten. Du kannst nun: A) Die Shares und die USB Platte im Netzwerk freigeben und per Copy & Paste die Dateien kopieren. SMB kann normalerweise lokal kopieren, dh es wird normalerweise nicht über das 1G LAN des Clients limitiert. Habe ich aber ehrlich gesagt nicht getestet. B) rsync 2x ausführen. Beim 2. mal mit der Option "--checksum" welche auch die Dateiinhalte abgleicht (garantiert Datenkonsistenz) C) Mit einem Datei-Explorer Container wie zB Krusader kopieren D) Es ginge theoretisch auch über eine VM, aber die Übertragungsrate dürfte dann schlecht sein, außer du bindest das Unraid Array als Netzwerkfreigabe in der VM ein. Ist aber denke ich eh der komplizierteste Weg. E) mal sehen ob @ich777 noch eine Idee hat Wenn du fertig bist, kannst du TurboWrite wieder deaktivieren, sofern dir Strom sparen wichtig ist. 1 Quote Link to comment
Ford Prefect Posted December 30, 2020 Share Posted December 30, 2020 (edited) ....ich würde die Pariity Disk physisch einbauen, aber noch nicht dem Array zuweisen. Dann Copy-Job in Variante (B)...und erst danach Parity-Disk "einbauen"/zuweisen und aktivieren. Edited December 30, 2020 by Ford Prefect Quote Link to comment
Calprainn Posted December 30, 2020 Author Share Posted December 30, 2020 17 minutes ago, mgutt said: Du willst also die 3TB Platten dann im Unraid Server verbauen? Dann bleibt ja nur die Möglichkeit die Dateien auf die 10TB Platte zu kopieren und dann nach Umbau der Platten diese in Unraid zu formatieren und die Daten zurückzuspielen. ... Sind die Dateien kopiert, baust du die Platten in Unraid ein, weist sie zusammen mit einer Paritätsplatte zu... Ok, danke erstmal für die ausführliche Antwort. 👍 Meine Frage bezog sich im ersten Teil weniger darauf, wie ich meine vorhandenen Platte physisch von Ubuntu in Unraid einbaue sondern erstmal wie ich am Besten die vorhandenen Daten vom jetzigen Ubuntu System (welches nur CLI-basierend ist) auf die Backup HDD kopiere? Mit rysnc und folgenden Parametern: rsync —-avz —-show-progress /mnt/Volume /mnt/BackupHDD oder gibt es eine andere/bessere Möglichkeit? 1:1 Klonen wird nach meinem Verständnis nicht funktionieren, dass der jetzige RAID5 Verbund erst mit dem laufendem Ubuntu System über MDADM ausgeführt wird. Quote Link to comment
mgutt Posted December 30, 2020 Share Posted December 30, 2020 5 minutes ago, Calprainn said: oder gibt es eine andere/bessere Möglichkeit? rsync ist denke ich auch die beste Option. Wie gesagt am Ende noch mal mit --checksum einen zweiten Durchlauf machen, damit der Dateiinhalt wirklich passt. Die z-Flag brauchst du beim lokalen Kopieren denke ich nicht. Die verursacht nur unnötig CPU Last. Außer deine du hast hauptsächlich gut komprimierbare Dateien wie Dokumente. Statt --show-progress nutze ich --stats Quote Link to comment
Calprainn Posted December 30, 2020 Author Share Posted December 30, 2020 Also dann mit Befehl kopieren: rsync --av --checksum --stats /mnt/Volume /mnt/BackupHDD Werden die Daten dadurch 1:1 auf die Backup HDD kopiert oder sind diese dann in einer tar.gz Datei verpackt (was ich vermeiden möchte)? Quote Link to comment
mgutt Posted December 30, 2020 Share Posted December 30, 2020 rsync erstellt keine Archive bzw kann das auch gar nicht. Also ja 1:1. 2 Quote Link to comment
ich777 Posted December 30, 2020 Share Posted December 30, 2020 8 hours ago, Calprainn said: Eine vorhandene, externe 10 TB USB3.0 HDD soll als Backup dienen. Zum Backup auf die externe Festplatte würd ich Unassigned Devices verwenden du kannst dort ein User script hinterlegen und das automatisch ausführen lassen wenn eine bestimmte Festplatte angeschossen wird (Festplatte wird vorher automatisch gemountet, script ausgeführt und dann wieder unmounted). Ich erlaube mir das hier mal vom Originalthread einzufügen: (du kannst das script natürlich nach belieben anpassen erweitern oder auch kürzen, ich hab fürher nach fertigstellung des scripts noch einen langen Ton abspielen lassen bzw. auch eine Meldung per Pushover verschickt) #!/bin/bash PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin ## Available variables: # AVAIL : available space # USED : used space # SIZE : partition size # SERIAL : disk serial number # ACTION : if mounting, ADD; if unmounting, UNMOUNT; if unmounted, REMOVE; if error, ERROR_MOUNT, ERROR_UNMOUNT # MOUNTPOINT : where the partition is mounted # FSTYPE : partition filesystem # LABEL : partition label # DEVICE : partition device, e.g /dev/sda1 # OWNER : "udev" if executed by UDEV, otherwise "user" # PROG_NAME : program name of this script # LOGFILE : log file for this script case $ACTION in 'ADD' ) # # Beep that the device is plugged in. # beep -l 200 -f 600 -n -l 200 -f 800 sleep 2 if mountpoint -q $MOUNTPOINT; then if [ $OWNER = "udev" ] then beep -l 100 -f 2000 -n -l 150 -f 3000 beep -l 100 -f 2000 -n -l 150 -f 3000 logger Started -t$PROG_NAME echo "Started: `date`" > $LOGFILE logger Pictures share -t$PROG_NAME rsync -a -v /mnt/user/Pictures $MOUNTPOINT/ 2>&1 >> $LOGFILE logger Syncing -t$PROG_NAME sync -f $MOUNTPOINT beep -l 100 -f 2000 -n -l 150 -f 3000 beep -l 100 -f 2000 -n -l 150 -f 3000 beep -r 5 -l 100 -f 2000 logger Unmounting PicturesBackup -t$PROG_NAME /usr/local/sbin/rc.unassigned umount $DEVICE echo "Completed: `date`" >> $LOGFILE logger Pictures Backup drive can be removed -t$PROG_NAME /usr/local/emhttp/webGui/scripts/notify -e "Unraid Server Notice" -s "Server Backup" -d "Pictures Backup completed" -i "normal" fi else logger Pictures Backup Drive Not Mounted -t$PROG_NAME fi ;; 'REMOVE' ) # # Beep that the device is unmounted. # beep -l 200 -f 800 -n -l 200 -f 600 ;; 'ERROR_MOUNT' ) /usr/local/emhttp/webGui/scripts/notify -e "Unraid Server Notice" -s "Server Backup" -d "Could not mount Pictures Backup" -i "normal" ;; 'ERROR_UNMOUNT' ) /usr/local/emhttp/webGui/scripts/notify -e "Unraid Server Notice" -s "Server Backup" -d "Could not unmount Pictures Backup" -i "normal" ;; esac Quote Link to comment
sd007 Posted January 1, 2021 Share Posted January 1, 2021 (edited) On 12/30/2020 at 5:26 PM, Calprainn said: Also dann mit Befehl kopieren: rsync --av --checksum --stats /mnt/Volume /mnt/BackupHDD Werden die Daten dadurch 1:1 auf die Backup HDD kopiert oder sind diese dann in einer tar.gz Datei verpackt (was ich vermeiden möchte)? Ja, wird Eins zu Eins auf Datei Basis kopiert. Ich habe da einen Befehl zu rsync gefunden, da ich in der Vergangenheit auch auf Unraid umgestiegen bin und meine 70TB Daten kopieren musste und das mit dem normalen rsync eine halbe Ewigkeit gedauert hat, wegen SSH und SingleThread. Hier der Befehl den ich auf der Unraid Console (ssh oder direkt) genutzt habe: rsync -aHAXx --info=progress2 -e "ssh -T -o Compression=no -x" user@<source>:<source_dir> <dest_dir> Damit habe ich wenigstens 250MB/sek auf meiner 10GBit Schnittstelle hinbekommen. Edited January 1, 2021 by sd007 Quote Link to comment
Calprainn Posted January 1, 2021 Author Share Posted January 1, 2021 Nicht schlecht! 👍 Bei mir ist der Backup Prozess seit heute Vormittag abgeschlossen. Besten Dank für die Hilfe! Ich habe es aber jetzt ganz klassisch mit: Quote rsync -av --progress /mnt/Volume/ /media/BackupHDD per SSH gemacht. Die Checksum Option hatte ich aber erstmal weggelassen, da es ewig gedauert hat bis er mit "sending incremental file list" fertig wurde und bis er zum eigentlichen sync übergegangen ist. Da ich vorher noch nie mit rsync zu tun hatte, habe ich erstmal testweise einen Ordner gesync der nur 20GB enthielt und dann schrittweise den nächsten Ordner, der Größe nach. Danach nochmal den Überordner insgesamt gesynct und fertig. Das mit den inkrementellen Backup ist schon eine feine Sache. Jetzt kann ich mich erstmal beruhigt dem Zusammenbau/Aufsetzen des neuen Servers beschäftigten. Als letzten Akt des bisherigen Servers nochmal ein rsync mit den aktuellen Daten machen und die HDDs tauschen + Backupdaten einspielen. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.