Synology NAS durch Debian Homeserver ersetzen
Re: Synology NAS durch Debian Homeserver ersetzen
Hat exim denn Vorteile gegenüber einfachen SMTP Clients wie msmtp?
Etwas einzurichten, was selbst Mails senden kann, ist wahrscheinlich ein bisschen overkill. Ich habe erst überlegt einfach einen meiner Aliasse zu nehmen bei meinem Emailprovider, aber weil man irgendwo das Passwort speichern muss, nehme ich vlt. lieber irgendeine Wegwerf-Adresse.
Etwas einzurichten, was selbst Mails senden kann, ist wahrscheinlich ein bisschen overkill. Ich habe erst überlegt einfach einen meiner Aliasse zu nehmen bei meinem Emailprovider, aber weil man irgendwo das Passwort speichern muss, nehme ich vlt. lieber irgendeine Wegwerf-Adresse.
- Lord_Carlos
- Beiträge: 5578
- Registriert: 30.04.2006 17:58:52
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Dänemark
Re: Synology NAS durch Debian Homeserver ersetzen
Ne, aber ich musste am ende nur eine config Datei anpassen.
Code: Alles auswählen
╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!
- jph
- Beiträge: 1049
- Registriert: 06.12.2015 15:06:07
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Greven/Westf.
Re: Synology NAS durch Debian Homeserver ersetzen
Was nicht weiter schwierig ist, wenn man den Dreh einmal raus hat.Lord_Carlos hat geschrieben:06.02.2020 14:48:26Exim ist bei Debian schon installiert. Eigentlich musst du es nur beibringen richtige emails zu versenden.
Code: Alles auswählen
# dpkg-reconfigure exim4-config
Re: Synology NAS durch Debian Homeserver ersetzen
Hmm irgendwie sehe ich immer noch nicht ganz durch mit exim.
Das ist ein MTA?
Letzten endes brauche ich sowas wie mailx, um Meldungen und logs aus zum Beispiel Scripten zu schicken.
Ich habe das so verstanden, dass ich dafür s-nail nutzen könnte. Wie das aber wieder mit exim zusammen arbeiten kann habe ich weder im Debian noch im arch wiki gefunden.
Ich habe den Verdacht, dass exim vlt. zu viel kann? Ich will halt keinen extra Dienst im Netzwerk anbieten oder ähnliches.
Das ist ein MTA?
Letzten endes brauche ich sowas wie mailx, um Meldungen und logs aus zum Beispiel Scripten zu schicken.
Ich habe das so verstanden, dass ich dafür s-nail nutzen könnte. Wie das aber wieder mit exim zusammen arbeiten kann habe ich weder im Debian noch im arch wiki gefunden.
Ich habe den Verdacht, dass exim vlt. zu viel kann? Ich will halt keinen extra Dienst im Netzwerk anbieten oder ähnliches.
Re: Synology NAS durch Debian Homeserver ersetzen
Ich habe für das backup auf meinen Borg-Server schon mal ein nahezu fertiges Skript. Eigentlich fehlt zum testen nur noch die systemd units fertig zu machen und das mal mit lokalen testrepos auszuprobieren. Außerdem fehlt noch das mail Feature.
Code: Alles auswählen
#!/bin/bash
IFS=$'\t\n'
#
# Getting time stamps
#
Day="$(date '+%Y-%m-%d')"
WeekDay="$(date '+%A')"
Time="$(date '+%H:%M:%S')"
TimeStamp=$Day" "$Time
TimeStampName=$Day"T"${Time//":"/"-"}
#
# Setting Variables
#
BorgRepo="ssh://user@myserver:22/repo/path"
export BORG_PASSPHRASE="SuperSecret" #Exporting the passphrase circumvents password check during execution
SnapshotName=$TimeStampName"_borg-BackupServer"
BackupName=$TimeStampName
MountDir="/mnt/backup/BackupServer"
LogFile="backup.log" #Not saved only send via email. Filled via journalctl.
#
# Backup section
#
# Create snapshot and mount it for backup to avoid conflicts and data corruption by changing files during backup
zfs snapshot pool@${SnapshotName}
mount --bind /pool/.zfs/snapshot/$SnapshotName $MountDir
# Create archive of snapshot
borg --show-version -v create --stats --compression lz4 $BorgRepo::$BackupName $MountDir
BackupExit=$?
# Unmount and destroy snapshot
umount $MountDir
zfs destroy pool@${SnapshotName}
#
# Perform a check of repository on Mondays
#
if [ $WeekDay = "Montag" ]; then
borg -v check $BorgRepo
fi
#
# Pruning section
#
borg -v prune --list $BorgRepo -d 14 -w 6 -m 10
PruneExit=$?
#
# Define globla exit code
#
# Use highest exit code as global exit code
GlobalExit=$(( BackupExit > PruneExit ? BackupExit : PruneExit ))
if [ ${GlobalExit} -eq 0 ]; then
echo "Backup and Prune finished successfully."
elif [ ${GlobalExit} -eq 1 ]; then
echo "Backup and/or Prune finished with warnings."
else
echo "Backup and/or Prune finished with errors."
fi
#
# Report section
#
# Create a log file for this run from journalctl
journalctl --since="$TimeStamp -u backup.service | tee -i $LogFile"
# Send the log via email (Baustelle)
#mailx -a "From: "$HOST" Backup <"$HOST"@meinedomain.tld>" -s "Backup | "$HOST admin@meinedomain.tld < $LOG
export BORG_PASSPHRASE=""
exit ${GlobalExit}
Re: Synology NAS durch Debian Homeserver ersetzen
So mit dem folgenden Service und dem passenden Timer läuft das Testweise erst mal durch.
Das einzige, was ich noch nicht testen kann, ist ob die Idee mit dem mount der Snapshots so funktioniert und halt das versenden der Mail ist noch nicht implementiert.
Die Idee ist, das Skript einmal täglich frühs laufen zu lassen.
Es wird dann immer ein Snapshot des ganzen pools erstellt, der dann aus dem .zfs Ordner zum lesen gemountet wird.
Davon erstellt borg dann ein backup und lädt es per ssh auf den Backup Server.
Wenn das fertig ist, wird der Snapshot ausgehangen und gelöscht.
Immer Montags soll dann auch mal ein Check gemacht werden.
Danach läuft dann noch prune über das Repository.
Zum Abschluss werden die journalctl Einträge dieses Durchlaufs in ein logfile gepackt und per Email verschickt.
Durch den Timer sollte es auch kein Problem geben, wenn der Durchlauf länger als einen Tag dauert, was mit chron glaube ich zum Problem geworden wäre. Was mir noch nicht ganz klar ist, was passiert, wenn das Backup abbricht. Ich nehme an, ich kann die zwischenstände nicht nutzen, wenn ich ein neues Archiv anlege beim nächsten Durchlauf. Vielleicht muss man das dann noch um einen test am Anfang erweitern.
Für das Backup auf USB-HDD kann ich denke ich die Vorlage von borgbackup weitestgehend übernehmen.
Code: Alles auswählen
[Unit]
Description=Test Borg Script
[Service]
Type=oneshot
ExecStart=/home/user/backup.sh
Code: Alles auswählen
[Unit]
Description=Run Test Borg Script every 10 minutes
[Timer]
OnCalendar=*:0/10
Die Idee ist, das Skript einmal täglich frühs laufen zu lassen.
Es wird dann immer ein Snapshot des ganzen pools erstellt, der dann aus dem .zfs Ordner zum lesen gemountet wird.
Davon erstellt borg dann ein backup und lädt es per ssh auf den Backup Server.
Wenn das fertig ist, wird der Snapshot ausgehangen und gelöscht.
Immer Montags soll dann auch mal ein Check gemacht werden.
Danach läuft dann noch prune über das Repository.
Zum Abschluss werden die journalctl Einträge dieses Durchlaufs in ein logfile gepackt und per Email verschickt.
Durch den Timer sollte es auch kein Problem geben, wenn der Durchlauf länger als einen Tag dauert, was mit chron glaube ich zum Problem geworden wäre. Was mir noch nicht ganz klar ist, was passiert, wenn das Backup abbricht. Ich nehme an, ich kann die zwischenstände nicht nutzen, wenn ich ein neues Archiv anlege beim nächsten Durchlauf. Vielleicht muss man das dann noch um einen test am Anfang erweitern.
Für das Backup auf USB-HDD kann ich denke ich die Vorlage von borgbackup weitestgehend übernehmen.
- Lord_Carlos
- Beiträge: 5578
- Registriert: 30.04.2006 17:58:52
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Dänemark
Re: Synology NAS durch Debian Homeserver ersetzen
Wenn du nicht die ganze Zeit Daten loescht kannst du die ZFS snapshots auch ein wenig behalten. z.B. zfs auto snapshot so einstellen das es taeglich snapshots macht, und 7 behaelt. Dann kannst du immer einfach 7 Tage zurueck gehen.
Code: Alles auswählen
╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!
Re: Synology NAS durch Debian Homeserver ersetzen
Das zfs-auto-snapshot möchte ich daneben laufen lassen mit den Standardregeln.
Aber für die Backups dachte ich, es wäre gut unabhängige Snapshots zu nutzen, damit sich lange Backups und das Snapshot Skript nicht in die Quere kommen.
Aber für die Backups dachte ich, es wäre gut unabhängige Snapshots zu nutzen, damit sich lange Backups und das Snapshot Skript nicht in die Quere kommen.
Re: Synology NAS durch Debian Homeserver ersetzen
Mal ein kleines Update.
Der Server funktioniert erst mal. Ich habe leider viel Zeit damit verbracht die suboptimale Kühlung der Festplatten in meinem Gehäuse zu optimieren. Bei halber Belegung habe ich jetzt erst mal einen Zustand gefunden, der Okay ist. Heute bekomme ich noch mal Aluklebeband, damit versuche ich meine Optimierungen noch mal zu verbessern und finalisieren.
Den ZFS Pool habe ich noch nicht aufgesetzt, weil ich so viel mit den Platten rumgespielt habe.
Dafür habe ich den TVHeadend Server und easyepg schon mal laufen und funktionsfähig im Einsatz. Einzig die ganze Sleep und Wakeup Geschichte bin ich noch nicht angegangen.
Außerdem habe ich mir noch Dropbear eingerichtet, um meine Systemplatte zu entschlüsseln.
Bezüglich der Platten habe ich aktuell auch noch ein kleines Problem:
Und zwar würde ich die gerne runterfahren lassen, wenn die nicht benutzt werden. Leider funktioniert das ganze nicht wirklich, wenn das Zeitfenster größer als 20 Minuten ist. Mit hdparm -S240 gehen die Platten aus, mit hdparm -S241 schon nicht mehr.
Weil ich gelesen habe, dass SMART daran Schuld sein könnte, habe ich auch Folgendes ausprobiert: smartctl --offlineauto=off /dev/sda. Hat aber nicht geholfen.
Beim Reboot sind die Einstellungen auch weg, aber da habe ich schon gelesen, man kann eine systemd unit schreiben.
Mailx funktioniert übrigens, wenn ich s-nail installiere und einfach nur eine minimal .mailrc anlege mit dem Inhalt
account test {
set v15-compat
set from="admin <admin@provider.tld>"
set mta=smtp://user:password@smtp.provider.tld:587 smtp-use-starttls
}
Der Server funktioniert erst mal. Ich habe leider viel Zeit damit verbracht die suboptimale Kühlung der Festplatten in meinem Gehäuse zu optimieren. Bei halber Belegung habe ich jetzt erst mal einen Zustand gefunden, der Okay ist. Heute bekomme ich noch mal Aluklebeband, damit versuche ich meine Optimierungen noch mal zu verbessern und finalisieren.
Den ZFS Pool habe ich noch nicht aufgesetzt, weil ich so viel mit den Platten rumgespielt habe.
Dafür habe ich den TVHeadend Server und easyepg schon mal laufen und funktionsfähig im Einsatz. Einzig die ganze Sleep und Wakeup Geschichte bin ich noch nicht angegangen.
Außerdem habe ich mir noch Dropbear eingerichtet, um meine Systemplatte zu entschlüsseln.
Bezüglich der Platten habe ich aktuell auch noch ein kleines Problem:
Und zwar würde ich die gerne runterfahren lassen, wenn die nicht benutzt werden. Leider funktioniert das ganze nicht wirklich, wenn das Zeitfenster größer als 20 Minuten ist. Mit hdparm -S240 gehen die Platten aus, mit hdparm -S241 schon nicht mehr.
Weil ich gelesen habe, dass SMART daran Schuld sein könnte, habe ich auch Folgendes ausprobiert: smartctl --offlineauto=off /dev/sda. Hat aber nicht geholfen.
Beim Reboot sind die Einstellungen auch weg, aber da habe ich schon gelesen, man kann eine systemd unit schreiben.
Mailx funktioniert übrigens, wenn ich s-nail installiere und einfach nur eine minimal .mailrc anlege mit dem Inhalt
account test {
set v15-compat
set from="admin <admin@provider.tld>"
set mta=smtp://user:password@smtp.provider.tld:587 smtp-use-starttls
}