Jump to content

[SOLVED] Umzug von Ubuntu auf UNRAID - bisherige Daten sichern/wiederherstellen


Calprainn

Recommended Posts

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!

Link to comment

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.

 

  • Like 1
Link to comment
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.

Link to comment
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

 

Link to comment
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

 

Link to comment
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 by sd007
Link to comment

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.

Link to comment
  • ich777 changed the title to [SOLVED] Umzug von Ubuntu auf UNRAID - bisherige Daten sichern/wiederherstellen

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...