Ich möchte Euch hier ein kleines Bastel-Projekt zum Backup der DS mit einem Raspberry über das rsync-Protokoll vorstellen. Ich habe im Internet eine Weile gebraucht, bis ich mir alle Infos zusammengesucht hatte und möchte hier meine Erfahrungen mit Euch teilen, vielleicht hilft es dem einen oder anderen...
Zunächst einen RasPi mit aktuellem Raspian-Image vom 24.12.2014 aufsetzen (setze ich als bekannt voraus).
Dann gehts auch schon los:
Expand Filesystem
Ländereinstellungen anpassen
Über Erweitert -> Hostnamen ändern (ich habe meinen RasPi "rsyncserver" genannt) dem RasPi einen eindeutigen Namen zuordnen
Betriebssystem auf den aktuellen Stand bringen:
Um dem RasPi im Netz über seinen Hostnamen erreichen zu können, zunächst den Avahi-Daemon installieren und beim booten automatisch starten lassen:
Ab sofort ist der RasPi auch unter rsyncserver.local (falls Ihr den gleichen Hostnamen wie o.a. verwendet habt) zu erreichen.
Um ein paar Infos über den RasPi zu erhalten, habe ich den "RPi-Monitor" mit folgenden Befehlen installiert:
Künftig könnt Ihr über http://rsyncserver.local:8888 Infos über den Zustand Eures Rsync-Servers erhalten
Die Website des RPi-Monitors ist hier: https://github.com/XavierBerger/RPi-Monitor-deb/tree/master/packages
Nun wird eine externe Festplatte an die DS angeschlossen und über Systemsteuerung -> Externe Geräte mit EXT4 formatiert.
Dann die externe Festplatte an den RasPi anschliessen.
Die Einbindung beim Booten erfolgt folgendermassen:
Zunächst mit
die UUID der Festplatte auslesen.
Dann die /etc/fstab anpassen:
und folgende Zeile unten anhängen (die UUID natürlich anpassen):
Nun noch den Ordner auf dem RasPi anlegen, wo die Festplatte gemountet werden soll:
Nun die Festplatte mounten:
Der folgende Teil stammt aus dem Raspberry-Pi-Forum (vielen Dank an dieser Stelle für die gute Erklärung dort!):
http://www.forum-raspberrypi.de/Thread-tutorial-synoraspi-backup-vom-nas-auf-den-raspi
Nun rsync installieren (falls nicht schon installiert)
/etc/default/rsync anpassen:
Nun rsyncd.conf anlegen:
Dateiinhalt soll so aussehen:
Nun das Secrets-File für das Passwort erstellen:
Mit folgendem Inhalt (Benutzernameasswort), password natürlich anpassen:
Dann die Rechte der Datei anpassen:
Den User "syno" anlegen:
Dann für den User noch ein Verzeichnis auf der externen HDD anlegen und die Berechtigung setzen:
Jetzt kann auf der DS unter Datensicherung/Replikation ein neuer Backup-Job angelegt werden ("Auf rsync-Server"). Dort die IP-Adresse des RasPi, den eben angelegten Benutzer syno und dessen Passwort eingeben. Unter "Backup-Modul" sollte nun "Sync-Backup" erscheinen.
Ich habe die erste Synchronisation per LAN durchgeführt, was mit ca. 3-5MB/s erfolgte (meine DS214play war mit ca 30% CPU beschäftigt, ich denke, dass 100MBit-LAN des RasPi ist hier der Flaschenhals). Bei 1,5TB an Daten auf der DS hat das ganze 4,5 Tage gedauert.
Dann habe ich ein WLAN-Modul an den RasPi gebastelt, um ihn etwas versteckter im Haus platzieren zu können (LAN-Kabel sind bei mir leider nicht überall möglich).
Hierbei sind noch folgende Anpassungen der Konfiguration nötig:
Modifikation der /etc/network/interfaces:
Die Datei sollte folgenden Inhalt haben (die IPs an Eure Gegebenheiten anpassen):
Die /etc/wpa_supplicant/wpa_supplicant.conf enthält die Information über das heimische Netzwerk und muss noch angepasst werden:
Die Datei hat folgenden Inhalt:
Nun läuft die weitere Synchronisation über WLAN natürlich langsamer als über Kabel, aber da nur noch Änderungen gesynct werden, ist die Datenmenge nicht mehr so groß.
EDIT: Leider scheint die WLAN-Verbindung nicht stabil genug, um große Datenmengen zu syncen, ist also nur ein ungenügender Ersatz für das LAN-Kabel, mit dem das Ganze aber super funktioniert.
Ich habe den RasPi mit dem raspi-config noch leicht übertaktet, mal sehen ob´s was bringt...
Viel Spaß mit Eurem low-cost-rsync-server!
PS: Habe das Tutorial aus dem Kopf geschrieben, daher sind kleine Fehler möglich
Zunächst einen RasPi mit aktuellem Raspian-Image vom 24.12.2014 aufsetzen (setze ich als bekannt voraus).
Dann gehts auch schon los:
Rich (BBCode):
sudo raspi-config
Expand Filesystem
Ländereinstellungen anpassen
Über Erweitert -> Hostnamen ändern (ich habe meinen RasPi "rsyncserver" genannt) dem RasPi einen eindeutigen Namen zuordnen
Betriebssystem auf den aktuellen Stand bringen:
Rich (BBCode):
sudo apt-get update && sudo apt-get upgrade -y
sudo rpi-update
Um dem RasPi im Netz über seinen Hostnamen erreichen zu können, zunächst den Avahi-Daemon installieren und beim booten automatisch starten lassen:
Rich (BBCode):
sudo apt-get install avahi-daemon
sudo update-rc.d avahi-daemon defaults
Um ein paar Infos über den RasPi zu erhalten, habe ich den "RPi-Monitor" mit folgenden Befehlen installiert:
Rich (BBCode):
sudo apt-get install apt-transport-https ca-certificates
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 2C0D3C0F
sudo wget http://goo.gl/rsel0F -O /etc/apt/sources.list.d/rpimonitor.list
sudo apt-get update
sudo apt-get install rpimonitor
Die Website des RPi-Monitors ist hier: https://github.com/XavierBerger/RPi-Monitor-deb/tree/master/packages
Nun wird eine externe Festplatte an die DS angeschlossen und über Systemsteuerung -> Externe Geräte mit EXT4 formatiert.
Dann die externe Festplatte an den RasPi anschliessen.
Die Einbindung beim Booten erfolgt folgendermassen:
Zunächst mit
Rich (BBCode):
sudo blkid
Dann die /etc/fstab anpassen:
Rich (BBCode):
sudo nano /etc/fstab
Rich (BBCode):
UUID="a46cb789-33c6-4310-8068-77976e12345" /media/backup ext4 defaults 0 0
Nun noch den Ordner auf dem RasPi anlegen, wo die Festplatte gemountet werden soll:
Rich (BBCode):
sudo mkdir /media/backup
Nun die Festplatte mounten:
Rich (BBCode):
sudo mount -a
Der folgende Teil stammt aus dem Raspberry-Pi-Forum (vielen Dank an dieser Stelle für die gute Erklärung dort!):
http://www.forum-raspberrypi.de/Thread-tutorial-synoraspi-backup-vom-nas-auf-den-raspi
Nun rsync installieren (falls nicht schon installiert)
Rich (BBCode):
sudo apt-get install rsync
/etc/default/rsync anpassen:
Rich (BBCode):
sudo nano /etc/default/rsync
RSYNC_ENABLE=true
RSYNC_CONFIG_FILE=/etc/rsyncd.conf
Nun rsyncd.conf anlegen:
Rich (BBCode):
sudo nano /etc/rsyncd.conf
Dateiinhalt soll so aussehen:
Rich (BBCode):
max connections = 2
log file = /var/log/rsync.log
timeout = 300
[Syno-Backup]
comment = Rsync für Synology-NAS
path = /media/backup
read only = no
list = yes
uid = kschi
gid = kschi
auth users = syno
secrets file = /etc/rsyncd.secrets.syno
Nun das Secrets-File für das Passwort erstellen:
Rich (BBCode):
sudo nano rsyncd.secrets.syno
Mit folgendem Inhalt (Benutzernameasswort), password natürlich anpassen:
Rich (BBCode):
syno:password
Dann die Rechte der Datei anpassen:
Rich (BBCode):
chmod 600 /etc/rsyncd.secrets.syno
Den User "syno" anlegen:
Rich (BBCode):
sudo adduser syno –system –group –no-create-home –shell /bin/false
Dann für den User noch ein Verzeichnis auf der externen HDD anlegen und die Berechtigung setzen:
Rich (BBCode):
cd /media/backup
sudo mkdir syno
sudo chown syno:syno /media/backup/syno –R
Jetzt kann auf der DS unter Datensicherung/Replikation ein neuer Backup-Job angelegt werden ("Auf rsync-Server"). Dort die IP-Adresse des RasPi, den eben angelegten Benutzer syno und dessen Passwort eingeben. Unter "Backup-Modul" sollte nun "Sync-Backup" erscheinen.
Ich habe die erste Synchronisation per LAN durchgeführt, was mit ca. 3-5MB/s erfolgte (meine DS214play war mit ca 30% CPU beschäftigt, ich denke, dass 100MBit-LAN des RasPi ist hier der Flaschenhals). Bei 1,5TB an Daten auf der DS hat das ganze 4,5 Tage gedauert.
Dann habe ich ein WLAN-Modul an den RasPi gebastelt, um ihn etwas versteckter im Haus platzieren zu können (LAN-Kabel sind bei mir leider nicht überall möglich).
Hierbei sind noch folgende Anpassungen der Konfiguration nötig:
Modifikation der /etc/network/interfaces:
Rich (BBCode):
sudo nano /etc/network/interfaces
Die Datei sollte folgenden Inhalt haben (die IPs an Eure Gegebenheiten anpassen):
Rich (BBCode):
auto lo
iface lo inet loopback
iface eth0 inet dhcp
auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.xxx.xxx #statische IP des RasPi
netmask 255.255.255.0
gateway 192.168.xxx.1
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
Die /etc/wpa_supplicant/wpa_supplicant.conf enthält die Information über das heimische Netzwerk und muss noch angepasst werden:
Rich (BBCode):
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Die Datei hat folgenden Inhalt:
Rich (BBCode):
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
# Die Gruppe muss natürlich angepasst werden
eapol_version=1
# 0: Der Treiber des Interfaces kümmert sich um das Scannen von Netzen und die AP-Auswa$
# Dieser Modus sollte benutzt werden, wenn man eine Verschlüsselung auf ein Kabelnet$
# 1: wpa_supplicant kümmert sich um das Scannen von Netzen und die AP-Auswahl.
# 2: Fast wie 0, es wird aber mit Hilfe von Sicherheitsrichtlinien und der SSID zu APs $
#
# Normalerweise funktioniert entweder Modus 1 oder Modus 2.
ap_scan=1
network={
ssid="DEIN_NETZWERKNAME"
scan_ssid=1
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP
psk="DEIN_PASSWORT"
}
Nun läuft die weitere Synchronisation über WLAN natürlich langsamer als über Kabel, aber da nur noch Änderungen gesynct werden, ist die Datenmenge nicht mehr so groß.
EDIT: Leider scheint die WLAN-Verbindung nicht stabil genug, um große Datenmengen zu syncen, ist also nur ein ungenügender Ersatz für das LAN-Kabel, mit dem das Ganze aber super funktioniert.
Ich habe den RasPi mit dem raspi-config noch leicht übertaktet, mal sehen ob´s was bringt...
Viel Spaß mit Eurem low-cost-rsync-server!
PS: Habe das Tutorial aus dem Kopf geschrieben, daher sind kleine Fehler möglich
Zuletzt bearbeitet: