Synology NAS: Keine Timemachine Backups mehr möglich, kein Zugriff!

D

dslonly

Aktives Mitglied
Thread Starter
Dabei seit
07.09.2020
Beiträge
204
Reaktionspunkte
58
Ich habe zwei Benutzer an meinem NAS eingepflegt. Einmal ein Admin und einmal einen Nutzer names Time Machine Backup.
Bis vor einer Woche hat Time Machine auch anständig immer wieder Backups gemacht, doch seit einer Woche verweigert Time Machine jeden Backup.
Der Nutzer Time Machine Backup hat 750GB zugewiesen bekommen und sollte ab erreichen der 750Gb alte Backups löschen, doch die Synology ist gerade mal bei 156GB angekommen und kann seit einer Woche nicht mehr auf die NAS zugreifen.
Die Fehlermeldung lautet:
Auf das Backup-Volume im Server konnte nicht zugegriffen werden, da ein Problem mit dem Netzwerkbenutzernamen oder -passwort aufgetreten ist. Du musst u. U. das Backup-Volume erneut auswählen oder Benutzernamen und Passwort korrekt eingeben.

Doch wenn ich den Backup Volumen lösche und wieder verbinde indem ich den Nutzer Time Machine Backup samt korrektem Passwort eingebe, kommt dieselbe Fehlermeldung.

Habt ihr eine Idee, woran das liegt und wie ich das korrigieren kann?
Ich bin leider Anfänger und komme nicht weiter.

EDIT: Ich kann mich per Browser mit dem User Time Machine Backup samt Passwort einloggen und sehe dann nur den Time Machine Ordner samt 156GB Backups. Sprich Nutzername und Passwort sind korrekt!
 
ich hab aktuell genau das gleiche Problem. Scheint anscheinend ein Bug zu sein. Hab mich bisher aber noch nicht wirklich mit ner Lösung beschäftigt
 
Moin , wie greifst du darauf zu mit SMB oder das alte AFP , hatte dieses Phänomen auch bei dem letzten Update auf 12.3.1 musste das Backup neu anschieben Volume / Ordner neu einlesen oder evtl. neuen auswählen , überprüfe trotzdem nochmals deine Daten zur Sicherheit Benutzer / Passwort , und hast du in der NAS alles eingestellt zum Thema Time Maschine . Lösche mal noch den SMB Cache in der NAS .
Nachdem ich dies alles überprüfte lief seitdem wieder ohne Probleme evtl. doch ein Bug das durch Update verursacht wird .
Was mir gerade noch einfällt hast du den Time Maschine Ordner als Admin oder User eingerichtet könnte mich irren aber gelesen zu haben das es nur als Admin jetzt ginge .
Gruß
 
Is wohl ein allgemeiner Bug. Habe ich auch seit Sonntag. Irgendwas mit CloudKit funzt nicht...
 
  • Gefällt mir
Reaktionen: dg2rbf
Gehe mal auf Der NAS in dein Backupverzeichnis und schau dir die Dateien an.
Da dürfte nur eine Datei drin sein mit .backupbundle
Es kommt ganz selten vor, das sich während des Backups was aufhängt und das Backup nicht richtig abgeschlossen wird.
Nun versucht die NAS immer wieder an dieser verstümmelten Datei bei jedem Start weiterzumachen und bleibt wieder hängen.
Die Datei hat aber auch einen anderen Namen. Daran kann man sie erkennen.
Ich habe die gelöscht und dann hat die NAS das alte backupbundle wieder gefunden und es ging wieder.
Ist mir in 3 Jahren nur einmal passiert.
Wenn alle Stricke reißen einfach ein ganz neues Backup anlegen, dauert dann halt leider wieder etwas länger.
Dann ist an dem alten Bundle einfach was kaputt was man nicht mehr hinbekommt.
 
  • Gefällt mir
Reaktionen: dg2rbf
Ich habe keine andere Lösung gefunden als ein neues Backup anzulegen. Jetzt läuft es wieder normal :noplan:
 
Passierte mir in 3 Jahren gerade ein Mal.
Ich würde das Problem auch eher beim Mac OS suchen als bei Sinologie?
Ist also normalerweise nicht so ein großes Problem wenn man das Backup nicht gerade an dem Tag braucht.
Deshalb rate ich immer die wichtigen Daten noch mal separat auf einen Datenträger abzuspeichern.
 
  • Gefällt mir
Reaktionen: dg2rbf
Habe den Eindruck, dass TM auf dem NAS nachschaut wie viel Speicher frei (z.B. 20TB) ist und dann loslegen will um das Backup zu machen. Ohne zu respektieren, dass es separat zugewiesene Volumes (bei mir 8TB) für das Backup dieses Rechners gibt.
Dann knallt er natürlich auf die Nase. weil das separat zugewiesene Volume bereits voll ist. Eigentlich müsste er einfach den ältesten Teil des Backups löschen. Macht TM aber nicht. Löschen des bisherigen Backups und starten eines Neuen hilft. Aber nur bis dieses auch wieder zu gross wird.
 
  • Gefällt mir
Reaktionen: dg2rbf
Habe den Eindruck, dass TM auf dem NAS nachschaut wie viel Speicher frei (z.B. 20TB) ist und dann loslegen will um das Backup zu machen. Ohne zu respektieren, dass es separat zugewiesene Volumes (bei mir 8TB) für das Backup dieses Rechners gibt.
Dann knallt er natürlich auf die Nase. weil das separat zugewiesene Volume bereits voll ist. Eigentlich müsste er einfach den ältesten Teil des Backups löschen. Macht TM aber nicht. Löschen des bisherigen Backups und starten eines Neuen hilft. Aber nur bis dieses auch wieder zu gross wird.

Die für TimeMachine vorgesehene Art den maximalen Platz zu begrenzen, geht nicht über SMB Quotas sondern über eine plist, die man einfach in ein share legt, das für TimeMachine vorgesehen ist. In dieser plist wird die maximale Görße des TimeMachine-Bundles angeben. Diese Größe wird bei Erzeugung der TimeMachine-Bundles und bei jedem Lauf abgefragt. Diese plist gilt für alle auf dem share angelegten TimeMachien-Backups, also z.Bsp für jeden Rechner.

Man kann also die einmal vorgegebene max. Größe auch nachträglich noch erhöhen. Eine einfache Änderung der plist reicht aus.

ABER: eine einmal angegebene Größe kann durch die plist nicht verkleiert werdden. Dazu braucht es dann zusätzlich ein paar andere Tools, damit das sparsebundle verkleinert werden kann. Wenn's interessiert, kann ich das mal beschreiben.

Ebenso, wenn Interesse besteht, kann ich ein Script posten, dass ich vor einiger Zeit geschrieben habe, mit dem sich bequem so eine plist anlegen, ändern und auslesen lässt.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Snyder, Brettsegler, ruerueka und 2 andere
Hi lisanet
Super Infos
Mich würde das plist script brennend interessieren. Danke Dir schon mal vorab.

Habe ich Dich richtig verstanden: wenn 2 Rechner auf 1 Volume sichern in dem eine plist liegt, dann verwendet jedes TM Backup das in der plist spezifizierte Quota? Ich müsste also bei 2 Rechnern 4TB in der plist angeben wenn das Volume 8 TB hat.
 
Ebenso, wenn Interesse besteht, kann ich ein Script posten, dass ich vor einiger Zeit geschrieben habe, mit dem sich bequem so eine plist anlegen, ändern und auslesen lässt.
Gerne!
 
Habe ich Dich richtig verstanden: wenn 2 Rechner auf 1 Volume sichern in dem eine plist liegt, dann verwendet jedes TM Backup das in der plist spezifizierte Quota? Ich müsste also bei 2 Rechnern 4TB in der plist angeben wenn das Volume 8 TB hat.

Yep. Genau so.

Du kannst auch die Taktik "von groß nach klein" machen. Wenn ein Rechner mehr Speicherplatz benötigt z.B. 4 TB der andere aber nur 2 TB, dann lege zuerst die plist mit 4 TB an, lass den "großen Rechner" sein TimeMachine-Sparsebundle anlegen, und dann ändere die plist auf 2 TB und lasse erst jetzt den "kleinen Rechner" sein TimeMachine-Bundle anlegen.

Da die plist kein verkleinern auslöst, bleibt das erste angelegte Bundle bei 4 TB und das zweite erhält 2 TB.

Wenn du dann die plist wieder auf 4 TB erhöst, würde auch der "kleine Rechner" beim nächsten Lauf sein Bundle auf 4 TB vergrößern.
 
  • Gefällt mir
Reaktionen: win2mac, dg2rbf und Schiffversenker
Also, ich beschreibe erst mal, wie ihr das script installiert. Ich kann hier im Forum kein Script als Datei hochladen, daher das Ganze in Code-Tags. Ihr müsst also das script per copy&paste aus den Code-Tags kopieren und bei euch abspeichern. Nutzt dazu bitte einen Editor wie BBedit (nicht TextEdit!).

Das script nennt sich "tmquota".

Bitte beachtet unbedingt: Das geht nur auf NAS-Shares (am besten mit SMB) nicht auf externen Platten.
  1. BBedit öffnen
  2. copy&paste des scriptes von den code-Tags heraus in BBedit hinein
  3. in BBedit das script abspeichern in euer HomeVerzeichnis: Bitte benennt es unbedingt "tmquota"
  4. Nun Terminal.app öffnen und folgende Befehle im Terminal machen: Die machen das script ausführbar und kopieren es in euren Pfad. Also:
  5. Bash:
    chmod a+x tmquota
  6. Bash:
    sudo cp tmquota /usr/local/bin
    (sollte hier ein Fehler auftauchen, habt ihr das Verzeichnis /usr/local/bin nicht. Dann und nur dann macht bitte
    Bash:
    sudo cp tmquota /usr/bin
Die Benutzung erfolgt in Terminal.app

Bash:
tmquota
gibt eine kleine Hilfe aus und zwar:
Bash:
>tmquota
tmquote - tool for manipultaing TimeMachine quota setting.

usage: tmquote [-size num[G|T] | -show | -delete] path
       -size num  : default is 1T, meaning 1 TB (base 1024)
                    'num' must be an integer, so no decimals.
                    The quota is for each sparsebundle.
       -show      : show the current quota
       -delete    : delete the quota in the specified dir
       path       : directory to set the quota
                    Default dir is the current directory.

Mountet nun im Finder das Share, auf dem ihr eure TimeMachine-Backups anlegen wollt. Bei mir nennt sich das Share "Deep Space Nine". Wechselt nun im Terminal in das Verzeichnis des Shares mit

Bash:
cd "/Volumes/Deep Space Nine"
Die Anführungszeichen sind wichtig, wenn ihr wie hier Leerzeichen im Namen habt.

Nun legt ihr die Größe fest mit
Bash:
tmquota -size 4T
für ein max. 4 TB großes TimeMachine-Bundle. Ein vorhandenes Quota im Share könnt ihr anzeigt mit
Bash:
tmquota -show
Bei mir hier sind das z.Zt. 500 GB, da ich einen mobilen "kleinen Rechner" zustäzlich dort drauf sichern lasse.
Bash:
>tmquota -show
TimeMachine quota in /Volumes/Deep Space Nine: 500 GB
Mit
Bash:
tmquota -delete
löscht ihr das Quoata wieder. TimeMachine wird sich dann beim nächsten Lauf wieder das gesamte Share krallen.

Wenn ihr das Share gemountet habt und den Pfad genau kennt, könnt ihr den auch gleich am Befehl ergänzen, müsst ihn aber dann unbedingt korrekt schreiben (Anführungszeichen bei Leerzeichen!), Also in meinem Beispiel dann
Bash:
>tmquota -show "/Volumes/Deep Space Nine"
TimeMachine quota in /Volumes/Deep Space Nine: 500 GB

Hier nun das script. Bitte exakt so per copy&paste kopieren, nichts weg lassen, nichts dazu. Jede Zeile ist wichtig. Definitv. Also scrollt bitte das script ganz durch und kopiert alles. Da die Code-Tags das letzte Zeilenende nicht übernehmen, drückt bitte in BBedit nach dem paste nach der letzten Zeile einmal RETURN, damit die Zeile "# end" eben als letzte Zeile korrekt dort steht.

Bash:
#!/bin/bash
# (c) 2022 lisanet.de, BSD 2-clause


function create_quota()
{
quotadir="$1"
tmquota="$2"
echo "creating TimeMachine quota in $quotadir: "$(( tmquota / 1024 / 1024 / 1024 ))" GB"
cat <<EOF > "$quotadir/.com.apple.TimeMachine.quota.plist"
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>GlobalQuota</key>
    <integer>$tmquota</integer>
</dict>
</plist>
EOF
chmod 644 "$quotadir/.com.apple.TimeMachine.quota.plist"
exit
}

function show()
{
dir="$1"
if [[ -e "$dir/.com.apple.TimeMachine.quota.plist" ]]; then
  size=$(cat "$dir/.com.apple.TimeMachine.quota.plist" | grep integer | sed "s|</.*||;s|.*>||")
  size=$((size / 1024 / 1024 / 1024))
  size="$size GB"
  echo "TimeMachine quota in $dir: $size"
else
  echo "No TimeMachine quota in $dir"
fi
exit
}

function delete ()
{
rm -f "$1/.com.apple.TimeMachine.quota.plist" &>/dev/null
exit
}

function usage()
{
echo "tmquote - tool for manipultaing TimeMachine quota setting."
echo
echo "usage: tmquote [-size num[G|T] | -show | -delete] path"
echo "       -size num  : default is 1T, meaning 1 TB (base 1024)"
echo "                    'num' must be an integer, so no decimals."
echo "                    The quota is for each sparsebundle."
echo "       -show      : show the current quota"
echo "       -delete    : delete the quota in the specified dir"
echo "       path       : directory to set the quota"
echo "                    Default dir is the current directory."
exit
}

# --- main

[[ $# -eq 0 ]] && usage

size="1T"
dir=$(pwd)


while [[ $# -gt 0 ]]; do
case $1 in
  -size) size="$2"
          shift
          ;;
  -dir) dir="$2"
          shift
          ;;
  -show) show="yes"
          ;;
  -delete) delete="yes"
        ;;
  -h | -help) usage
        ;;
  *) dir="$1"
     if [ ! -e "$dir" ]; then
       echo "No such directory: $dir"
       exit
     fi
       ;;
esac
shift
done


factor=${size: -1}
factor=$(echo $factor | tr a-z A-Z)
size=${size:0:${#size}-1}

case $factor in
  M) size=$((size * 1024 * 1024))
     ;;
  G) size=$((size * 1024 * 1024 * 1024))
     ;;
  T) size=$((size * 1024 * 1024 * 1024 * 1024))
       ;;
  *) ;;
esac

[[ "$show" = "yes" ]] && show "$dir"
[[ "$delete" = "yes" ]] && delete "$dir"

create_quota "$dir" "$size"

# end

So, das war es fürs erste. Das Verkleinern beschreibe ich morgen.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: win2mac, Brettsegler und dg2rbf
Hallo lisanet
Du bist der Hammer !
Vielen Dank für das Skript und die super detaillierte Beschreibung.
 
Eine Frage noch:
Ich bin ja schon in das Problem reingelaufen.
Ein TM Backup hat 6 (aber mit langer History) das andere 2TB, das Volume 8 und nun hängt TM.
Kann ich jetzt noch mittels plist die Grenze auf 4TB setzen und erwarten , dass TM die alte History löscht um aus den 6 dann 4 zu machen ? Oder muss ich ein komplett neues Backup starten ?
 
Ein TM Backup hat 6 (aber mit langer History) das andere 2TB, das Volume 8 und nun hängt TM.
Kann ich jetzt noch mittels plist die Grenze auf 4TB setzen und erwarten , dass TM die alte History löscht um aus den 6 dann 4 zu machen ? Oder muss ich ein komplett neues Backup starten ?

Verkleinern geht nicht.

Du musst Backupstände löschen und dann das Sparsebunlde mit hdiutil verkleinern. Das dauert und bringt auch nur was, wenn du wirklich viel aus dem Backup löscht. Meist ist ein Neustart des Backups sinnvoller. Es ist ja auch ein Backup, kein Archiv.
 
  • Gefällt mir
Reaktionen: Asterix1
Ok. Vielen Dank
 
Hallo lisanet

Bei Schritt 6 sudo cp tmquota /usr/local/bin werde ich nach dem Passwort gefragt. Danach ergibt sich keine Fehlermeldung.
Trotzdem kann ich tmquota nicht ausführen.
Beim speichern des Skripts gabe es mehrere Möglichkeiten. BBedit hat vorheschlagen es als tmquota.sh abzuspeichern. Danach musste ich in alle Befehle "tmquota.sh" einfügen, dennoch war tmquota dem System nicht bekannt.

Fehlermeldung: zsh: command not found: tmquota

Wo steckt der Fehler ?
 
Doppelclick auf tmquota in meinem home Verzeichnis führt zu

home@MacBook-Pro ~ % /Users/home/tmquota ; exit;
tmquote - tool for manipultaing TimeMachine quota setting.

usage: tmquote [-size num[G|T] | -show | -delete] path
-size num : default is 1T, meaning 1 TB (base 1024)
'num' must be an integer, so no decimals.
The quota is for each sparsebundle.
-show : show the current quota
-delete : delete the quota in the specified dir
path : directory to set the quota
Default dir is the current directory.

Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[Prozess beendet]
 
Zurück
Oben Unten