Hotfix 14: NTFS sparse use in Server Space Management Job reworked

Article:TECH39593  |  Created: 2008-03-10  |  Updated: 2008-09-19  |  Article URL http://www.symantec.com/docs/TECH39593
NOTE: If you are experiencing this particular known issue, we recommend that you Subscribe to receive email notification each time this article is updated. Subscribers will be the first to learn about any releases, status changes, workarounds or decisions made.
Article Type
Technical Solution

Issue



Space Usage Calculation on the Storage Management and on the operating system do not match inspite of successful Server Space Management (SSM) Job.


Environment



Recovery Solution 6.2.2760 (SP2)

Cause



Currently our design assumes that sparsing works perfectly and when the Recovery Solution Server communicates to the file system that some of the blocks are no longer required, and the UsedSpace is updated immediately. In fact some of the setups have different cluster block size (like 64K) that affects the ability of sparsing to process small data chunks. As a result:

  • Recovery Server did not respect storage limits that are set in the Console.
  • Recovery Server tried to write to a storage when the storage is already full.

Solution



Note: This hotfix is a cumulative hotfix which includes Hotfix 4 and Hotfix 13 for Recovery Solution 6.2.2760.

NTFS sparsing use in Server Space Management (SSM) has been completely reworked and this hotfix is in the form of the following SQL Stored Procedures:

  1. DeleteRawVolumeGroup.sql
  2. FinishBlobSync.sql
  3. GetAllBlobFileNames.sql
  4. GetUnsyncFileBlocks.sql
  5. MarkBlobFileFull.sql
  6. RemoveUnsyncFileBlocks.sql
  7. SetBlobFileState.sql
  8. UpdateVolumeFreeSpace.sql

And the following binaries:

  1. DSFile.dll
  2. DSRawData.dll
  3. ServerJobs.dll

The hotfix can be applied in the following way:

  1. Stop and disable the Recovery Solution Server Service on the Recovery Solution Server computer.
  2. Browse to the %Program Files%\Altiris\Recovery Solution\Server folder.
  3. Replace the DSFile.dll, DSRawData.dll and ServerJobs.dll with the new ones from attachments. Replace them by copying the new files over existing ones.
  4. Load each SQL Stored Procedure to SQL Query Analyzer (SQL 2000 Server) or SQL Server Management Studio (SQL 2005 Server) and execute them against the AeXRSDatabase (default name of Recovery Solution Database).
  5. Start the Recovery Solution Server Service by setting it back to 'Manual' and restarting.
  6. Start Server Space Management Job.
  7. To force Server Space Management job for setting sparse blocks correctly for the old blobs use the following script:
    update DiskFileVolume set State = State | 32.

“The SQL query mentioned above resets the flag (the 'State' column) for all of the blob files listed in the DiskFileVolume table. This will force the SSM job (when it runs for the next time) to review the blob structure and see if sparsing can be reapplied in better (improved) way. It will also update blob's statistics in the DiskFile (UsedSpace column).

It is not necessary to run this command although it is highly recommended if the goal is to fix the Used/Free space numbers in the Console for the Storage Management tab. If the statement is not executed a blob will be reworked in the future only when SSM touches it. The command simply forced the SSM job to review all the blobs. As a result the very next SSM job will run a bit longer than usual.”


Attachments

Binaries.zip (1.3 MBytes)
StoredProcedures.zip (8 kBytes)


Supplemental Materials

SourceDEFECT
ValueTLN 25405
DescriptionLogged in tlndev (Altiris - Talinn) database


Legacy ID



40822


Article URL http://www.symantec.com/docs/TECH39593


Terms of use for this information are found in Legal Notices