I would like to share some information on Single Instance Storage SIS enabled Backup and how the Backup exec will be interacting with SIS enabled Volumes, while running the Backup /Restore operation.
The version of Backup Exec will seldom matter, as the concept remains unchanged throughout the versions of Backup Exec..
To start with..
What is Single Instance Storage.(SIS)
The need for storage has been growing steadily, the need for a smarter way of storing data has increased.
In the midst of this need, Microsoft came up with the SIS solution.
SIS is a storage feature available since Microsoft® Windows Storage Server™ 2003 R2.
Single Instance Storage (SIS) saves the disk space by reducing the amount of redundant data stored on a volume by identifying identical files, storing only a single copy of the file in the SIS common store and replacing the files with links to the file in the SIS common store
To accomplish this task, It installs The Groveler service which scans the hard-disk volumes on SIS enabled server for duplicate copies of files.
When the SIS Groveler starts, it searches the root of each NTFS volume in the system to see if it contains the SIS directory SIS Common Store and a file called MaxIndex within that directory.
If it finds these items, and the SIS filter driver is loaded on the system, the Groveler knows to search for and consolidate duplicate files on the volume.
If the service locates duplicate copies of files, one instance of the duplicate file is stored in a central folder (SIS common store) , and the duplicates are replaced with a link (a reparse point) to the central copy to improve disk usage.
The SIS Groveler does most of its work when the system is not busy. It uses the same technology that the Indexing Service (a service that indexes your volumes for quick search capabilities)
Role of Backup Exec, while backing up SIS enabled data:
When you install SIS, you also install a file named, Sisbkup.dll
This is a Backup API file provided by Microsoft to interact with third party Vendors like us.
Backup Exec interact with this file for the backup/restore purpose.
The data with be automatically, rehydrated while running the backup process, this will result in utilizing more space on the tapes or the disks, specified as destination.
The Backup speed will be slightly degraded as a matter of fact that the data re-conversion phase of the will be added, utilizing slightly high CPU..
Role of Backup Exec while Restoring the SIS enabled data:
If the restore is performed to the original location, the file will be restored fine.
The growler service will be updating the Single Instance Database (SIDB) with the restored file instantly.
About Single Instance Database (SIDB)
A copy of the Single Instance Store or Single Instance Database (SIDB) is maintained for each Storage Policy that has the single instance option enabled.
Each SIDB serves as the repository for signatures associated with all objects that are backed up and reference counts to copies of the objects that are backed up using the storage policy.
Multiple servers can be a part of the same Policy, and use the same Single Instance Store.
If we are attempting the restore of a file to a different location, which is beyond the scope of SIS storage policies, (1.e when the growler service is not aware of the backed up file.) eventually an empty sparse file would be restored.
If Backup Exec fail to communicate with the Sisbkup.dll (Backup API), it will result in backing up all the data on the volume.
Such backup may result in an exception about skipped <GUID>.sis files in the job log.
What are these < guid> .sis files?
When scanning a volume, the Groveler marks files that are 32 KB or larger in size and identical to one or more files on the volume.
It then checks the file in more detail to verify that the content is identical.
Once the file is verified, it is copied into the \ SIS Common Store folder, renamed with a unique GUID, and given the .sis file name extension.
The identical files on the volume are then changed to reparse points.
When an application tries to open the original file, the file system redirects any file input or output to the < guid> .sis file in \ SIS Common Store.
These files are continuously accessed by the growler service and cannot be accessed by any process, directly.