19.14. Snapshots van bestandssystemen
Terug | Hoofdstuk 19. Opslag | Volgende

## 19.14. Snapshots van bestandssystemen

Bijgedragen door Tom Rhodes.

FreeBSD biedt een mogelijkheid om samen met Soft Updates: snapshots van bestandssystemen.

Snapshots bieden de mogelijkheid om beelden van een gespecificeerd bestandssysteem te maken en ze als bestand te behandelen. Snapshotbestanden moeten aangemaakt worden in het bestandssysteem waarop de handeling wordt uitgevoerd en er mogen niet meer dan 20 snapshots per bestandssysteem worden aangemaakt. Actieve snapshots worden opgeslagen in het superblok zodat ze persistent zijn met afkoppel- en heraankoppelbewerkingen en met het opnieuw opstarten van het systeem. Als een snapshot niet langer nodig is, kan het met het standaardcommando rm(1) worden verwijderd. Snapshots kunnen in elke volgorde verwijderd worden, alhoewel misschien niet alle gebruikte ruimte teruggewonnen wordt omdat sommige vrijgegeven blokken mogelijk door een ander snapshot geclaimd worden.

De onveranderlijke bestandsvlag `snapshot` wordt door mksnap_ffs(8) ingesteld nadat het snapshotbestand initieel is aangemaakt. Het commando unlink(1) maakt een uitzondering voor snapshotbestanden aangezien het toestaat dat ze verwijderd worden.

Snapshotbestanden worden aangemaakt met mount(8). Om een snapshot van `/var` in het bestand `/var/snapshot/snap` te plaatsen:

`#` `mount -o -o snapshot /var/snapshot/snap /var`

Als alternatief kan mksnap_ffs(8) gebruikt worden om een snapshot aan te maken:

`#` `mksnap_ffs /var /var/snapshot/snap`

Snapshotbestanden kunnen gezocht worden op een bestandssysteem (bijvoorbeeld `/var`) door gebruik te maken van het commando find(1):

`#` `find /var -flags snapshot`

Nadat een snapshot is aangemaakt, kan het voor een aantal dingen gebruikt worden:

- Sommige systeembeheerders gebruiken een snapshotbestand voor back-updoeleinden, omdat het snapshot naar CD's of band overgezet kan worden;

- De bestandssysteem integriteit controle, fsck(8) kan gebruikt worden op het snapshot. Ervan uitgaande dat het bestandssysteem schoon was toen het werd aangekoppeld, zou dit altijd een schoon (en onveranderlijk) resultaat moeten opleveren. Dit is in principe wat het fsck(8)-achtergrondsproces doet;

- Het commando dump(8) draaien op het snapshot. Er wordt een dump teruggegeven die consistent is met het bestandssysteem en tijdsstempel van het snapshot. dump(8) kan ook in één commando een snapshot maken, een dumpbeeld aanmaken en daarna het snapshot verwijderen door gebruik te maken van de vlag `-L`;

- Het snapshot kan met mount(8) als bevroren beeld van het bestandssysteem worden aangekoppeld. Om het snapshot `/var/snapshot/snap` aan te koppelen:

  `#` `mdconfig -a -t vnode -f /var/snapshot/snap -u 4` `#` `mount -r /dev/md4 /mnt`

Het is nu mogelijk om door de structuur van het bevroren bestandssysteem `/var` te lopen dat aangekoppeld is op `/mnt`. Alles zal initieel in dezelfde toestand verkeren als op het moment dat het snapshot werd aangemaakt. De enige uitzondering hierop is dat eerdere snapshots als bestanden met lengte nul verschijnen. Als een snapshot niet meer nodig is, kan het als volgt afgekoppeld worden:

`#` `umount /mnt` `#` `mdconfig -d -u 4`

Meer informatie over `softupdates` en snapshots van bestandssystemen, inclusief technische documenten, staat op de website van Marshall Kirk McKusick op http://www.mckusick.com/.

Terug | Omhoog | Volgende
19.13. Netwerk-, geheugen-, en bestandsgebaseerde bestandssystemen | Begin | 19.15. Bestandssysteemquota