BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

UFS-Snapshots verwenden

Mit Hilfe eines Snapshots kann man den Stand eines Dateisystems festhalten. Verwendet man UFS als Dateisystem, so kann mit mount(8) ein Snapshot erzeugt werden. Folgendes Beispiel erzeugt einen Snapshot mit dem Namen snap1 von /var im Verzeichnis /var/.snap:

# mount -u -o snapshot /var/.snap/snap1 /var

Möchte man nun Daten des Snapshots lesen, so kann dieser mit Hilfe von mdconfig(8) und mount ins System eingebunden werden. Werden nun Änderungen am Dateisystem vorgenommen, sind diese im Snapshot nicht sichtbar:

# echo "test" > /var/testdatei
# mount -u -o snapshot /var/.snap/snap1 /var
# mdconfig -a -t vnode -f /var/.snap/snap1  -u 0
WARNING: opening backing store: /var/.snap/snap1 readonly
# mkdir /mnt/snap1
# mount -o ro /dev/md0 /mnt/snap1
# cat /mnt/snap1/testdatei
test
# echo "test2" >> /var/testdatei
# cat /var/testdatei
test
test2
# cat /mnt/snap1/testdatei
test

Vorhandene Snapshots können mit Hilfe von snapinfo(8) gefunden werden:

# snapinfo -a
/var/.snap/snap1

Eine detailliertere Ausgabe erhält man mit der -v Option:

# snapinfo -v -a
/dev/ad0s1a mounted on /
        no snapshots found
/dev/ad0s1d mounted on /tmp
        no snapshots found
/dev/ad0s1f mounted on /usr
        no snapshots found
/dev/ad0s1e mounted on /var
        snapshot /var/.snap/snap1 (inode 172)

Wird der Snapshot nicht mehr benötigt, kann er mit Hilfe vom umount(8), mdconfig und rm(1) aus dem System entfernt und gelöscht werden:

# umount /mnt/snap1
# mdconfig -d -u 0
# rm -f /var/.snap/snap1

Benutzt man ZFS als Dateisystem, stehen auch Shapshots zur Verfügung, diese werden allerdings mit Hilfe von zfs(1) verwaltet.

Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
 Permalink