Seite wählen

NETWAYS Blog

Lokale Time Machine Snapshots blockieren Speicherplatz

Kürzlich hatte ich den Plan, ein ca. 100GB iPhone Backup zwischenzeitlich auf dem Mac anzufertigen. Meinem Plan stand nach einem kurzen Blick auf den freien Diskspace des Finders eigentlich nichts im Wege, denn dieser zeigte noch 120 GB freien Speicherplatz an. Nachdem sich das Backup aber mit einem bisher unbekannten Fehler verabschiedete, machte ich mich einmal auf die Suche, was mein Mac denn so eigentlich macht.
Ein Kurzer Blick im Terminal bestätigte mir allerdings viel weniger freien Platz auf der Platte, als der Finder es tat. So waren hier nur noch 55 GB frei. Wie kann das sein?
Zunächst einmal öffnet ihr euer Terminal im Mac und gebt folgendes Kommando ein

df -h

Der Mac zeigt nun in aller Regel in der ersten Zeile die Informationen der Mac-Festplatte (Gegenkontrolle Anhand der Size-Spalte) an. In der Spalte Available steht der noch zur Verfügung stehende Speicherplatz. Sollten sich diese Werte im Finder und im Terminal erheblich unterscheiden, macht es Sinn, die Snapshots unter die Lupe zu nehmen.
Warum Snapshots?
Sollte das Time Machine Backup Volume (z. B. wenn man im Urlaub ist) nicht verfügbar sein, fertigt der Mac lokale Snapshots an. Ein solcher Snapshot schützt zwar nicht vor Datenverlust bei einem Hardwareschaden, wohl aber bei unbeabsichtigten Löschen – also die haben schon Ihre Daseinsberechtigung und fertigen zuverlässig auch ohne Backupvolume im Hintergrund eine Art Sicherung an. Normaler Weise gibt der Mac nach und nach die Snapshots frei, wenn er merkt, dass der Platz benötigt wird. Das ist wahrscheinlich auch der Grund, warum der Finder die Snapshots von der Kalkulation des freien Speicherplatzes excludiert.
Habe ich auch Snapshots?
Sofern ein Time Machine Backup läuft, wird diese Funktion aktiviert. Allerdings tritt sie nur in Kraft, wenn das Backup-Volume nicht verfügbar ist. Am besten prüft man das kurz über das Mac-Terminal mittels Eingabe des folgenden Kommandos. Es listet alle vorhandenen Snapshots der Primärplatte auf.

tmutil listlocalsnapshots /

Möchte man nun einmal solche Snapshots entsorgen, so lässt sich das mit folgendem Kommando erledigen

sudo tmutil thinLocalSnapshots / 10000000000 4

Kurze Erklärung hierzu: / Bezieht sich wieder auf das soeben ermittelte Volume (also die primäre Festplatte, das braucht man in aller Regel nicht ändern), 10000000000 bezieht sich auf den „purgeamount“ also die Menge, in diesem Beispiel sind das 10 GB. Um mehr freizugeben, Zahl auf beliebigen Wert in Byte erhöhen, oder Kommando mehrfach ausführen. Die 4 steht für die „urgency“, also die Dringlichkeit. 1 ist hier die höchste, aber 4 reicht eigentlich auch zum Löschen.
Nachhaltig verhindern, lassen sich lokale Snapshots auf den Apple-Geräten mit folgendem Kommando:

sudo tmutil disablelocal

Alternativ Time Machine nicht mehr nutzen, oder dafür sorgen, dass die Backupvolumes immer verfügbar sind.

Ncdu – Speicherplatzanalyse leicht gemacht

ncduIch möchte heute mal ein äußerst nützliches Tool vorstellen, das ich schon seit Jahren verwende: Ncdu. Die Abkürzung steht für NCurses Disk Usage und wie der Name schon sagt lässt sich damit die Disk Usage, also der belegte Speicherplatz analysieren.
Gerade wenn’s mal schnell gehen muss und es „brennt“ dauert die Suche nach einem Speicherplatzfresser über herkömliche Befehle wie du doch verhältnismäßig lange, hier kommt ncdu in Spiel. Bei Debian steht es über die Standardrepositories zur Verfügung, bei RHEL/CentOS muss auf das EPEL-Repo zurückgegriffen werden.
Ein Aufruf ohne Parameter errechnet den belegten Speicherplatz ausgehend von dem aktuellen Verzeichnis, mit „-x“ kann man das aber noch abändern:

# ncdo -x /var

Die Bedienung erfolgt dann hauptsächlich mittels Enter- und Pfeiltasten. Ansonsten gibt es noch verschiedene Tasten für eine andere Sortierung und mit „d“ können z.B. auch Dateien oder ganze Verzeichnisse über ncdu gelöscht werden. Mit „q“ verlässt man ncdu.
Mit dem Parameter „-o“ besteht die Möglichkeit die Ausgabe auch noch zu exportieren, das macht v.a. bei größeren Dateisystemen Sinn:

# ncdo -o export.txt

Auch an einen Remoteaufruf haben die Entwickler von ncdu gedacht, allerdings muss hier natürlich ncdu auch auf dem Zielsystem installiert sein:

#ssh -C root@192.168.56.81 ncdu -o- /var | ncdu -f-

Alles in allem ist ncdu ein hilfreiches Tool, das hoffentlich nicht nur mir weiter treue Dienste leistet.

Markus Waldmüller
Markus Waldmüller
Head of Strategic Projects

Markus war bereits mehrere Jahre als Sysadmin in Neumarkt i.d.OPf. und Regensburg tätig. Nach Technikerschule und Selbständigkeit ist er nun Anfang 2013 bei NETWAYS als Senior Manager Services gelandet. Seit September 2023 kümmert er sich bei der NETWAYS Gruppe um strategische Projekte. Wenn er nicht gerade die Welt bereist, ist der sportbegeisterte Neumarkter mit an Sicherheit grenzender Wahrscheinlichkeit auf dem Mountainbike oder am Baggersee zu finden.