System Restore & Defrag

So now you can’t defrag either. There is no way I will ever be using CTM.

I see, sorry didn’t see this information when I posted in the other thread.

So you can defrag, but it takes up large amounts of space. Interesting. I guess “Time Machine” technology is not easy to use, and breaks a few things. I may have to re-consider using CTM too (or any other rollback technology).

It looks that a new version of Rollback RX block 3rd party defragmetation applications altogether whereas snapshot-aware built-in defrag can be used to defrag the drive.

Use of Defragmenter Programs – Once installed, Rollback Rx blocks the use of defragmentation programs. The reason for this is that Rollback Rx tracks sector change activity, relocates some sectors, and maintains its own map of all sector locations on the hard drive. Defragmentation is the process of locating the noncontiguous sectors of a file and rearranging the sectors and restoring them into fewer sectors. As a result, once Rollback Rx is installed, the work done by a defragmentation program would not provide the desired result without knowing the sectors used by other snapshots.Thus, defragmentation programs are blocked.The need for a defragmenter varies according to file system and the amount of file creation and update activity on a hard drive. Horizon Datasys recommends that defragmentation be done before installing Rollback Rx. In addition, Rollback Rx has a build-in defragmenter as the alternative.

Endymion, this “blocking” of external defragmenters has been around for a few versions now. Horizon documents a switch which can be used to enable external defraggers to do their thing while Rollback is installed. However it is not recommened for novice users for the reasons outlined in the quote you supplied.
Without this switch enabled, defraggers will run and appear to do their thing but in reality Rollback makes no changes to the drive at all. Hench the “blocking” of external defraggers.

I can honestly say that defrag has never been an issue for me. I always do my defrag before installing Rollack and simply run the built in defragger manually when i think its necessary. In any case, Rollback by default defrags every 4 snapshots created and deleted (CTM does it every 10 by default…I personally believe this is too long to wait). Upon the next build of Rollback i uninstall to the “current system” snapshot and go through the process of defragging before installing my next version of Rollback. This same procedure should work with CTM.

I know that there are people who want their files in order all of the time but currently it’s not efficient use of space to defrag while CTM is installed. The only way I can see this happening and has been discussed and dismissed in Rollback forums by the Dev team , is to make all snapshot files visible to Windows. This idea was rejected because it would open the snapshots up to attack. Perhaps Comodo will feel differently?

Then please correct me if I’m wrong.
AFAIK most 3rd party defraggers use standard Defragmentation API but do not support snapshots. Since those 3rd party defragger are not aware of the snapshot protection they would be unable to perform they way they are supposed to.

The huge increase in free space usage while using a 3rd party defrag app mentioned earlier should be prevented under normal operation by that “blocking”.

Though as long the snapshot-aware defragger bundled with CTM or Rollback is used there would be no need to use any switch.

Just in case a function to start CTM defrag manually would allow any user to defrag as much frequently s/he needs.

AFAIK most 3rd party defraggers use standard Defragmentation API but do not support snapshots. Since those 3rd party defragger are not aware of the snapshot protection they would be unable to perform they way they are supposed to.

If you mean that files within Snapshots will not be defragged then Yes.

As far as I’m aware external defraggers (if run within Windows), will not damage CTM snapshots. But as already stated, the resulting “defrag” is an ineffecient use of free space. (see my previous posts).

The huge increase in free space usage while using a 3rd party defrag app mentioned earlier should be prevented under normal operation by that "blocking".

Though as long the snapshot-aware defragger bundled with CTM or Rollback is used there would be no need to use any switch.

External defraggers have only been “blocked” in Rollback. CTM still allows defraggers to work unhindered. So the “huge increase in free space usage while using a 3rd party defrag app” will still be a problem for the unware users of CTM.

Yes, if you only use the internal defragger (“Compact” as is the case in CTM) then all this discussion on defragging is moot.

Lastly, so that we’re clear, the mentioned “switch” to allow defraggers to make changes is only applicable to Rollback, NOT CTM.

Thanks. Found out that such “switch” function would require to reset the baseline and lose all snapshots so I guess adding a blocker function to CTM will be a more efficient solution as the inbuilt snapshot-aware defragger is better suited for the task, actually providing optimizations the user expects while preserving snapshots essential for recovery.

Does the internal defragger defrag the entire disk or only the snapshots themselves?

Here is a quote from Horizon explaining better than i can on how the internal defragger works

How RollBack Rx's Snapshot Defragger works --------------------------------------------------------------------------------

To understand how the Rollback Defragmenter works, we need to first understand a little bit how Rollback Rx works.

Rollback Rx works based on the following two basic principles:

Intercept every disk IO at the sector level; process the disk IOs according to Snapshot Table (explained in 2).

The Snapshot Table is a very complicated multi-directional tree which records which sector is used by what snapshot. It’s. The snapshot tree table can get very complicated over time.

As illustrated in the diagram below:

http://users.adam.com.au/carfal/Rollback%20Defragger%20Flow%20Chart.jpg

a. From Baseline Snapshot, a user creates Snapshot 1.

b. From the Snapshot 1, the user creates Snapshot 2.

c. From the Snapshot 2, the user creates Snapshot 3.

d. From the Snapshot 3, the user restores to the Baseline Snapshot and creates Snapshot 4.

e. From the Snapshot 4, the user restores to the Snapshot 2 and creates Snapshot 5.

f. From the Snapshot 5, the user restores to the Snapshot 1 and creates Snapshot 6.

g. From the Snapshot 6, the user restores to the Snapshot 4 and creates Snapshot 7.

We can see in the diagram, the Snapshot Tree is becoming a spaghetti ball even though we only have 7 snapshots. Imaging how complicate the Snapshot Tree will be if we have 100s of snapshots.

The challenge with Rollback Snapshot Tree is not just creating the tree structure but also the maintenance of the tree structure and the data included in each node of the tree. The maintenance of the Snapshot Trees has two functions:

Optimize the Snapshots Structure after deleting snapshots. For example, according to the diagram above, after deleting the Snapshot 4. We need to optimize the Snapshot tree, so Snapshot 6 becomes the parent of the Snapshot 6 and the Baseline becomes the parent of Snapshot 2. Optimizing Snapshot Tree structures allows Rollback to search and find data included in snapshots faster.

Free up disk space used by a snapshot that’s no longer exists. In the diagram above, if Snapshot 4 contains filse A.doc and B.doc. The file A.doc only exists in the Snapshot 4 but the file B.doc also exists in the Snapshot 2 (a child of Snapshot 4). After deleting the Snapshot 4, Rollback needs to be able to free the disk space used by A.doc but not for the file B.doc.

The maintenance of Rollback Snapshot Tree is done by the Rollback snapshot defragmenter which has three functions:

Optimizing the Snapshot Tree Structure after deleting snapshots off the tree. It’s called DEF1.

Defragging specific snapshots to reclaim disk space after adding/removing snapshots. It’s called DEF2

Defragging the current snapshot to ensure Rollback uses the closest sectors in alignment. It’s called DEF3.

The Snapshot Defragmenter is implemented in both the Rollback subsystem (Pre Windows boot OS) and within the Windows O.S.

Way too confusing. I’ll just stay away from both Rollback and CTM so I can defrag to my hearts content and also run chkdsk periodically without causing problems.