Raspberry Pi als Synology NAS Backup
Es gibt mittlerweile die Dritte Generation des kleinen Mini Rechners. Ich habe mir diesen bei Amazon samt Gehäuse, Passiven Kühlrippen und Netzteil bestellt. Als Beigabe gab es eine MicroSD Card mit dem neuen von der Raspberry Foundation entwickelten OS Noobs.
Als erstes habe ich natürlich alles zusammengebaut und angeschlossen. Noobs Bootete sehr schnell und bietet echt eine Elegante schmale Desktop Lösung. WLAN, Bluetooth und so weiter kann bequem über die GUI eingerichtet werden. Mir ist das OS nur zu voll für meinen Einsatzzweck. Deshalb habe ich mich für RASPBIAN STRETCH LITE entschieden:
Die Installation nach der Anleitung von raspberrypi.org mit dem Tool etcher, was es auch glücklicherweise für den MAC gab, war kinderleicht und hat ca. 5 Minuten gedauert.
- Download des IMG Files
- Download ETCHER
- Installation ETCHER
- Starten des Tools ETCHER
- Auswahl des IMG Files und der SD-Card
- GO
SSH beim Booten Aktivieren
Hat man wie ich nicht vor an den PI Tastatur, Maus und Monitor zu hängen, muss man den SSH Daemon beim Booten aktivieren. Hierfür gibt es zum Glück eine ganz einfache Lösung. Es muss lediglich auf der SD-Card im /boot
eine leere Datei Namens ssh angelegt werden. Bei mir auf dem MAC ging das im Terminal wie folgt:
cd /Volumes/boot/
touch ssh
Dann die SD Card mittels CMD+E Ejecten/auswerfen und in den PI stecken. Dann einfach booten. Da ich einen DHCP/DNS Server habe, konnte ich mich einfach mit dem Namen des PI via SSH verbinden:
ssh pi@raspberrypi
Das Standard Passwort ist übrigens "raspberry"
Root User freischalten
Als erstes sollten wir das Passwort ändern und dann noch den Root User freischalten:
passwd
dann noch das Root Passwort festlegen:
sudo passwd
Zuguter Letzt müssen wir dem Root User noch erlauben via SSH auf das System zugreifen zu dürfen:
Dafür der Datei /etc/ssh/sshd_config
, welche wir am besten so aufrufen:
sudo nano /etc/ssh/sshd_config
PermitRootLogin yes
hinzufügen, dann den Dienst Neustarten:
sudo systemctl restart ssh
nun am besten mit einer neuen SSH Verbindung den Root Account Zugang testen:
ssh root@raspberrypi
Updates installieren
apt-get update && apt-get upgrade
rpi-update
Konfiguration
die wichtigsten Dinge kann man bequem mit dem raspi-config
Tool erledigen:
raspi-config
Ich habe hier den Hostnamen des Systems geändert und die regional settings. Ich habe das System aber auf Englisch gelassen nur die Timezone geändert.
Synology NAS Backup einrichten
Es gibt auch hier viele Wege die zum Ziel führen, ich habe mich für den RSYNC Server entschieden. Als Backup Medium habe ich mir eine 3TB Western Digital 2,5" USB 3.0 HDD gekauft. Die Platte wurde mit NTFS formatiert geliefert, was ich auch beibehalten werde, da es bei mir auf allen Geräten, Windows, NAS und MAC und Linux funktioniert. Das Einzige was ich zum schreiben auf die Platte vom Raspberry Pi benötigte ist ntfs-3g:
apt-get install ntfs-3g
Festplatte einbinden
Das es sich um einen USB Wechseldatenträger handelt und ich diesen auch schlafen legen möchte um Strom zu sparen, Mounte ich das Ganze mit autofs
:
apt-get install autofs
nun benötigen wir einen Ordner auf dem Filesystem, in den die USB HDD gemountet wird:
mkdir /srv/backuphdd
ein erster Test des ganzen könnte wie folgt aussehen:
mount /dev/sda1 /srv/backuphdd/
mount
/dev/sda1 on /srv/backuphdd type fuseblk (rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096)
nun wieder umounten, wir wollen die Platte ja mit autofs mounten
umount /dev/sda1
Nun können wir autofs einrichten damit es die Platte automatisch nach /srv/backuphdd
mountet und nach 1 Minute Inaktivität diese wieder umountet.
Also fügen wir der Datei /etc/auto.master
folgende Zeile am Ende hinzu:
/srv /etc/auto.usb-hdd --timeout=60 --ghost
Nun brauchen wir die UUID der Platte, diese spuckt das Tool blkid
aus:
blkid
/dev/sda1: LABEL="Elements" UUID="420E47780E47644F" TYPE="ntfs" PARTLABEL="Elements" PARTUUID="ced7d098-dfde-4616-8075-421a4ba38385"
Nun legen wir die Datei /etc/auto.usb-hdd
mit folgenden Inhalt an. Achtung hinter /by-uuid/
muss die oben ausgelesene UUID eingetragen werden.
backuphdd -fstype=ntfs-3g :/dev/disk/by-uuid/420E47780E47644F
Zum Aktivieren starten wir den Daemon neu:
systemctl restart autofs
nun sollte nach einem ls
auf den Mountpoint die Platte einhängen:
ls -la /srv/backuphdd
mount
/etc/auto.usb-hdd on /srv type autofs (rw,relatime,fd=6,pgrp=3292,timeout=60,minproto=5,maxproto=5,indirect) /dev/sda1 on /srv/backuphdd type fuseblk (rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096)
nach ca. 1 Minute sollte bei erneutem mount
Befehl nur noch die folgende Zeile zu sehen sein:
/etc/auto.usb-hdd on /srv type autofs (rw,relatime,fd=6,pgrp=3292,timeout=60,minproto=5,maxproto=5,indirect)
Rsync Server einrichten
Um den Rsync Server einzurichten, muss dieser als erstes aktiviert werden. Zusätzlich vergebe ich noch einen NICE Wert, damit das Backup den Betrieb des PI nicht allzusehr in die Knie zwingt. Hierfür als erstes folgende Datei editieren:
/etc/default/rsync
# start rsync in daemon mode from init.d script? # only allowed values are "true", "false", and "inetd" # Use "inetd" if you want to start the rsyncd from inetd, # all this does is prevent the init.d script from printing a message # about not starting rsyncd (you still need to modify inetd's config yourself). RSYNC_ENABLE=true # run rsyncd at a nice level? # the rsync daemon can impact performance due to much I/O and CPU usage, # so you may want to run it at a nicer priority than the default priority. # Allowed values are 0 - 19 inclusive; 10 is a reasonable value. RSYNC_NICE='10'
Nun holen wir uns die Sample Konfiguration für den Server:
cp /usr/share/doc/rsync/examples/rsyncd.conf /etc/
und erweitern diese um den folgenden Block:
/etc/rsyncd.conf
[Backup] comment = Backup Rsync path = /srv/backuphdd lock file = /var/lock/rsyncd read only = no list = yes uid = root gid = root strict modes = yes hosts allow = 192.168.50.254 ignore errors = no ignore nonreadable = yes transfer logging = no timeout = 600 refuse options = checksum dry-run dont compress = *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz
dann den Dienst durchstarten:
systemctl restart rsync
Siehe auch hier:
Sysnology Hyper Backup konfigurieren
Als erstes starten wir im Hauptmenü das Tool Hyper Backup. Nach dem Starten dieses kann man unten Links mittels dem PLUS Button einen neuen Job hinzufügen.
Hier wählen wir Datensicherungsaufgabe
aus.
Nun ganz unten Remote-Datenkopie
auswählen und mit Weiter
bestätigen.
In dem nun folgenden Reiter geben wir die Fakten zum RSYNC Server an:
- Servertyp: rsync-kompatibler Server
- Servername oder IP Adresse: Hier die IP oder den HOSTNAME des Raspberry PI angeben
- Übertragungsverschlüsselung: AUS
- Benutzername: root
- Passwort: das root Passwort
- Backupmodul: Hier sollte nun das von uns konfigurierte Modul Namens "Backup" auswählbar sein
Nun das Ganze mit Weiter bestätigen und im nächsten Fenster die Orte Auswählen, die gesichert werden sollen.
Im nächsten Fenster kann man noch auswählen ob man Programme des NAS sichern möchte
Zum Schluss noch einen Namen für den Job vergeben und ggf. Die Uhrzeit anpassen, an der der Job laufen soll.
Fertig!
USB Platte schlafen legen
hdparm installieren:
apt-get install hdparm
nun der Konfigdatei sagen, das die USB Platte schlafen soll: /etc/hdparm.conf
/dev/disk/by-uuid/420E47780E47644F { write_cache = on spindown_time = 60 }
IPv6 deaktivieren
/etc/ssh/sshd_config
ListenAddress 0.0.0.0
/etc/modprobe.d/ipv6.conf
# Don't load ipv6 by default alias net-pf-10 off alias ipv6 off options ipv6 disable_ipv6=1 blacklist ipv6
folgenden Parameter am Ende der Zeile in /boot/cmdline.txt
anhängen
ipv6.disable=1
nun den PI rebooten:
reboot
WLAN und Bluetooth deaktivieren
da ich nur über LAN auf den PI zugreifen will und Bluetooth auch nicht benötige, habe ich beides deaktiviert. Hierfür einfach folgende Datei mit dem Inhalt anlegen:
/etc/modprobe.d/raspi-blacklist.conf
# WLAN abschalten blacklist brcmfmac blacklist brcmutil #blacklist cfg80211 #blacklist rfkill # Bluetooth abschalten blacklist btbcm blacklist hci_uart
Dann noch den Bluetooth Dienst deaktivieren:
systemctl disable hciuart
und einmal erboten:
reboot
Mehr Infos hier:
WLAN konfigurieren
Sollte man doch WLAN nutzen wollen, muss zuerst das Modul wieder aktiviert werden:
/etc/modprobe.d/raspi-blacklist.conf
# WLAN abschalten #blacklist brcmfmac #blacklist brcmutil #blacklist cfg80211 #blacklist rfkill # Bluetooth abschalten blacklist btbcm blacklist hci_uart
Nach einem reboot
sollte der Befehl
ip a
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether b8:27:eb:d9:29:ab brd ff:ff:ff:ff:ff:ff
das WLAN Interface anzeigen. Konfiguriert wird es dann wie folgt:
WLAN suchen
mit dem folgenden Befehl kann man nach WLAN Netzen suchen:
iwlist wlan0 scan
WLAN einrichten
am besten generiert man sich die Konfiguration mit dem Tool wpa_passphrase
:
wpa_passphrase "MySSID" "MyWiFiPassword"
der Output siegt dann wie folgt aus
network={ ssid="MySSID" #psk="MyWiFiPassword" psk=f1a2554f1f250efe79f1c7dd1bc0e1384962b4612cd65438759463df1f727f9b }
diesen habe ich außer der Zeile #psk="MyWiFiPassword"
der folgenden Datei angehängt:
/etc/wpa_supplicant/wpa_supplicant.conf
country=GB ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="MySSID" psk=f1a2554f1f250efe79f1c7dd1bc0e1384962b4612cd65438759463df1f727f9b }
Nun das Ganze aktivieren:
wpa_cli -i wlan0 reconfigure
ein erneutes
ip a
sollte dann eine IP zum Vorschein bringen, kann aber ein bisschen dauern, ca. 30s:
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether b8:27:eb:d9:29:ab brd ff:ff:ff:ff:ff:ff inet 192.168.50.21/24 brd 192.168.50.255 scope global wlan0 valid_lft forever preferred_lft forever
Mehr Infos gibts hier: