Space Usage Calculation on the Storage Management and on the operating system do not match in spite of successful Server Space Management (SSM) Job.
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 64 KB) 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.
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:
And the following binaries:
The HotFix can be applied in the following way:
- Stop the Recovery Solution Server Service.
- Browse to the %Program Files%\Altiris\Recovery Solution\Server folder.
- Replace the DSFile.dll, DSRawData.dll and ServerJobs.dll with the new ones from attachments.
- 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).
- Start the Recovery Solution Server service.
- To force Server Space Management job for setting sparse blocks correctly for the old BLOBs, use the following script which will do a bitwise 'or' on the current value and 32 (note: this often does not make the state value 32):
update DiskFileVolume set State = State | 32
- Start Server Space Management Job.
Recovery Solution 6.2.2332 (SP1)