How to Manage the Automatic ZFS Snapshot Service

Important Links

Search OpenSolaris Information Resources


How to Contribute

FAQ

Recent Updates

Wiki Moderators

View Labels

Licensing

The Time Slider automatic snapshot tool automatically snapshots ZFS file systems and allows you to browse and recover snapshots of file systems.

This tool provides the following features:

  • SMF snapshot service instances that schedule reoccurring snapshots
  • Automatic snapshots are scheduled from the zfssnap crontab
  • Older snapshots are removed based on a predefined percentage of file system space used
  • Browse and recover files from snapshots by using the GNOME file manager

When the Time Slider tool is enabled, ZFS file system snapshots are created based on the following criteria:

frequent     snapshots every 15 mins, keeping 4 snapshots
hourly	     snapshots every hour, keeping 24 snapshots
daily	     snapshots every day, keeping 31 snapshots
weekly	     snapshots every week, keeping 7 snapshots
monthly	     snapshots every month, keeping 12 snapshots
  1. Start a privileged shell.

    user@opensolaris:-$ pfexec bash
    #
    

    In this example, the bash shell is selected. You can choose to use any shell with the pfexec command. If you support multiple versions of the SolarisTM OS, use the standard su – root command. The su command works on all Solaris versions.

  2. Enable the Time Slider service, which is disabled by default.
    You can enable or disable these services from the command line or from the System->Preferences->Time Slider Setup menu. From this menu, you can also customize which ZFS file systems to snapshot and adjust the file system capacity setting for when snapshots are removed.
  3. Review the default automatic snapshot service instances that are started when the Time Slider service is enabled.
    # svcs | grep auto-snapshot
    online       Oct_22   svc:/system/filesystem/zfs/auto-snapshot:frequent
    online       Oct_22   svc:/system/filesystem/zfs/auto-snapshot:hourly
    online       Oct_22   svc:/system/filesystem/zfs/auto-snapshot:weekly
    online       Oct_22   svc:/system/filesystem/zfs/auto-snapshot:monthly
    online       Oct_22   svc:/system/filesystem/zfs/auto-snapshot:daily
    
  4. Confirm that automatic snapshots are created.
    For example:
    # zfs list -t snapshot
    NAME                                                   USED  AVAIL  REFER  MOUNTPOINT
    rpool@zfs-auto-snap:weekly-2008-11-13-15:39            0      -     46.5K  -
    rpool@zfs-auto-snap:daily-2008-11-13-15:39             0      -     46.5K  -
    rpool@zfs-auto-snap:hourly-2008-11-13-15:39            0      -     46.5K  -
    rpool@zfs-auto-snap:frequent-2008-11-13-15:39          0      -     46.5K  -
    rpool/ROOT@zfs-auto-snap:weekly-2008-11-13-15:39       0      -     18K  -
    rpool/ROOT@zfs-auto-snap:daily-2008-11-13-15:39        0      -     18K  -
    rpool/ROOT@zfs-auto-snap:hourly-2008-11-13-15:39       0      -     18K  -
    rpool/ROOT@zfs-auto-snap:frequent-2008-11-13-15:39     0      -     18K  -
    .
    .
    .
    
  5. Disable or enable specific automatic snapshot services for the top-level dataset and all descendant datasets from the command line.
    For example:
    # zfs set com.sun:auto-snapshot=false rpool
    # zfs set com.sun:auto-snapshot=true rpool/ROOT/opensolaris
    
  6. Choose to only take snapshots under a given schedule for a dataset and all direct descendant datasets from the command line.
    For example:
    # zfs set com.sun:auto-snapshot=false rpool/export
    # zfs set com.sun:auto-snapshot:weekly=true rpool/export
    
  7. Change the frequency of a given snapshot schedule from the command line.
    For example:
    # svccfg -s svc:/system/filesystem/zfs/auto-snapshot:frequent setprop zfs/period = 30
    # svccfg -s svc:/system/filesystem/zfs/auto-snapshot:frequent refresh
    # svcadm restart svc:/system/filesystem/zfs/auto-snapshot:frequent
    
  8. Disable automatic snapshot services for the swap and dump volumes, from the command line, if necessary.
    For example:
    # zfs set com.sun:auto-snapshot=false rpool/dump
    # zfs set com.sun:auto-snapshot=false rpool/swap
    
  9. Remove a range of unwanted snapshots, from the command line, if necessary.
    For example, remove all automatic snapshots in the bash shell, as follows:
    for s in `zfs list -H -o name -t snapshot | grep @zfs-auto-snap`; 
    do zfs destroy $s; done
    

For more information see:

Labels

osoladmin osoladmin Delete
task task Delete
filesystem filesystem Delete
zfs zfs Delete
snapshot snapshot Delete
automatic automatic Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

Sign up or Log in to add a comment or watch this page.


The individuals who post here are part of the extended Sun Microsystems community and they might not be employed or in any way formally affiliated with Sun Microsystems. The opinions expressed here are their own, are not necessarily reviewed in advance by anyone but the individual authors, and neither Sun nor any other party necessarily agrees with them.

Copyright 1994-2009 Sun Microsystems, Inc.
Powered by Atlassian Confluence
Sun Guidelines on Public Discourse Privacy Policy Terms of Use Trademarks Site Map Employment Investor Relations Contact