How Much Space does a Snapshot Occupy?

Snapshots only occupy space when data is modified. The space occupied by a snapshot is the space on the original volume that has been modified since the snapshot. So the moment a snapshot is made it occupies very little space, since it's just a pointer to the original volume. As modifications to the original volume are made, snapshot space is used up by keeping a copy of the original data.

When a second snapshot is made, it is made relative to the first snapshot. Space is allocated to the second snapshot whenever the first snapshot is changed - the second snapshot contains a copy of the first snapshot's data before the change. A third snapshot is made relative to the second. For this reason, deleting a snapshot doesn't release all of its reserve space, since snapshot reserve can be a part of multiple snapshots, depending on when the data was modified.
For more information on snapshot reserve space refer to the EqualLogic article How snapshot reserve space is allocated and used.

Why is Snapshot/Replica space getting used up too quickly on a EqualLogic (EQL) Array

If snapshot reserve space is filling up faster than expected, or replication jobs are much larger expected, this is due to the volume being written to more than expected. There are a number of reasons why the file systems may be getting modified more than expected. The following list is representative rather than exhaustive (there are probably many more packages that make a quiet but significant changes to a volume).
  • Mailbox Management in Microsoft Exchange Server
    Microsoft Exchange Server has an option called mailbox management that can rearrange the location of mailboxes on the volume, causing lots of unexpected modifications to a volume. It can be disabled in the SETUP Properties dialog. 

  • Defragmenting a Disk or Using a Logical Volume Manager (LVM)
    Defragmenting a disk will essentially modify every block on the volume that has data on it. Any process that defragments in the background will cause the snapshot reserve to fill (and increase the size of replication jobs) at an alarming rate. This will also occur with some Logical Volume Managers (LVMs). However, defragmenting occasionally can actually shrink average snapshot size over time, at the cost of a spike in snapshot size at the time the defragmentation occurs. A single defragmentation job when snapshots seem too large can help you decide if a regular defragmentation regimen is appropriate.

  • Window File Servers automatically updating the "Last Access Time Field"
    On Window file servers, the system automatically updates the Last Access Time field of the directory entry for each file touched, which can prove to have a very relevant impact on snapshot and replication utilization. To disable Last Access Time handling on an NTFS file system, add the following key to the Registry on your server:

    HKeyLocalMachine\SYSTEM\CurrentControlSet\Control\file system\NtfsDisableLastAccessUpdate
    And set it to

    A reboot of the host is required for the update to take effect. Snapshots and replications taken after the next reboot of that host may be noticeably smaller, and increased performance may be seen. For more information on this registry entry refer to the  NtfsDisableLastAccessUpdate entry in the Windows Server 2003 Resource Kit Registry Reference.

  • Virus Scanners or Backup Programs Modifying Directory Entries
    Some virus scanners and backup programs modify the directory entries of every file they touch, usually setting the Last Access time for each file and/or the Archive Bit in the directory entries. Although these scans aren't modifying the files themselves, directories occupy disk space as well, and modifying them causes snapshot reserve to be used. Because directories are normally distributed randomly across the disk, any task that routinely accesses every file in a file system, and is not careful about how it does it, will use up a lot more snapshot reserve than might be expected.

    For backup software, you should have the backup job not modify the Archive Bit, but instead use a database catalog or modification time to track file changes, if the software supports such an option.

    One possible approach to minimizing the impact of directory scans like that is to rearrange the file system to put all the directories in the same area of the disk. Some defragmenting tools can do this, though you will need to specifically look for this feature. Windows defrag may not support this option. Remember that disk defragmentation can cause a spike in snapshot utilization because of the number of blocks it writes to as it moves data around. Directory defragmentation is not normally something that would need to be run often, but the operator will need to find a balance between the impact of the defragmentation itself, and the impact of the directory scan.