Snapshots unter FreeBSD(>5.x) und Solaris8

Snapshots eines Filesystems sind eine Interessante Sache. Man kann sie als
und für Backups oder für fsck eines Livefilesystems benutzen.


FreeBSD:

Im Kernel braucht man:
device md
Was per Default auch bei ist.

Erzeugen eines Snapshots; hier von /usr/home:
# mount -u -o snapshot /usr/home/.snapshot /usr/home

Diesen Snapshot kann man nun auch auf eine CD/DVD brennen und als richtiges
Backup archivieren. Wenn das jeweilige filesystem auch auf eine CD/DVD
draufpasst. Man kann auch fsck auf den Snapshot loslassen. Anlegen kann man ein
Snapshot nur pro filesystem (/, /usr/home, /var …) und der Snapshot muss auch
in den jeweiligen filesystem erstellt werden. Es können bis zu 20 Snapshots
gleichzeitig pro filesystem existieren.

Mounten eines Snapshots; hier /usr/home/.snapshot:
# mkdir /mnt/snapmount
# mdconfig -a -t vnode -f /usr/home/.snapshot -u 4
# mount -r /dev/md4 /mnt/snapmount

Nun kann man sich (readonly, es ist ja ein „backup“ und wir wollen ja nix verändern)
in dem gemounteten snapshot ganz normal bewegen und Dateien ins „livesystem“ zurück
kopieren. Oder aber den Stand von Dateien (z.B. mit md5checksum oder vi) ansehen.

Löschen eines Snapshots:
# rm /usr/home/.snapshot

Solaris:

Erzeugen eines Snapshots; hier von /usr/home:
# fssnap -o backing-store=/snapshot_home /usr/home

Als result erhält man den devicenamen mit dem man den Snapshot ansprechen kann.
Hier, beim ersten snapshot, „/dev/fssnap/0“.

Mounten eines Snapshots; hier /dev/fssnap/0:
# mount -o ro /dev/fssnap/0 /mnt/snapmount

Löschen eines Snapshots:
# fssnap -d /usr/home
# rm /snapshot_home