Windows Software | Windows Tips | IT Information

Details and tips found at job and experiences (Windows Software | Windows Tips | IT Information).

Wednesday, October 24, 2007

New experiences with Perfect Disk 8

I decided to perform more extensive tests with PerfectDisk8 on two working workstations:
1) Windows XP SP2 -32bit, 1GB RAM, 120HG IDE Hard Disk, Athlon XP 2400GHz.
2) Windows XP SP1 -64bit (version 2003), 1GB RAM, 80GB and 160GB SATA Hard Drives, Intel Pentium D 3.20GHz
Uninstalled Diskeeper v10 and rebooted each box before installing PerfectDisk v8.

RESOLUTION OF ISSUES AFTER INSTALLATION.
On workstation 1, I had the issue the drives list were gone on Perfect Disk manager. This issue was solved. I had to re-register COM. This is performed using command Start Menu | Run and using the command regsvr32 ole32.dll (you may also open a MS-DOS Command Prompt, then type the command above). You can also download Re-registerCOM.zip and run a script to perform this task. You may enter Raxco support for details.

Workstation 2 was more tricky. I faced another issue: the boot defragmentation didn't work (previously I Analyzed the disks, and PerfectDisk suggested an offline defragmentation). I got errors about "driver conflict" issue and boot process continues normally, without executing the defragmentation. At Raxco support, found many possible causes, but the only thing that match is I use Daemon Tools. I updated the SPTD driver (click here) and after reboot, tried to schedule an offline defrag. After reboot, I just didn't see any error or message, just the normal Windows boot process.

I tried another approach, as suggested by Raxco Support, I downloaded a tool (click here or look at support page) that fix the order of PDBoot (from Perfect Disk) at boot process. The fixer executed with no errors. Another reboot and nothing works. I re-schedule an offline defrag, reboot, but nothing. On the support page about "driver conflict" exists a "BlockedFileList.exe", that appends to Windows Registry a list of files that PerfectDisk will block during the boot time defrag pass (I was a little tired of this issue). Another reboot and still nothing. Well, I decided to test the improved PerfectDisk defragmentation method. I selected the C drive and hit Analyze, now another problem I was unable to found at Raxco website: "PerfectDisk could not start the analysis of drive c\: the system cannot find the file specified".


After this new problem, I decided to use the Repair installation feature. Control Panel | Add/Remove programs | Perfect Disk | Change.

As usual, the Repair option was available.



After repaired, the Analyze option was back to normal. I re-schedule an offline defragmentation at boot, and after reboot, finally :), it worked!

I was impressed with Metadata defragmentation. Diskeeper was unable to move a lot of fragments considered as "System Files", so I always looked a lot of this pieces of green lines on disk's map.

That was a problem I accepted. I started to get those extra "unmovable files" when using more NTFS Compression and Encryption.

The PerfectDisk map before, shows almost the same, a lot of fragmented metadata (I didn't pay attention to exact color, was black or dark gray, looking at legend, black are excluded, gray is metadata, but fragmented blocks are darker... I think this could be more clear). That was represented by a lot of dispersed "black" blocks on disk map, even after regular "Smart Placement" defragmentation.

After offline defragmentation, the disk's map was magically changed, no more dispersed blocks:
WHAT I LIKED FROM PERFECTDISK 8
* The metadata defragmentation is impressive, that is one thing I wanted from Diskeeper.
* The View file name from NTFS's ID/number.
* Clean interface.
* The SmartPlacement method, seems more logical now.

WHAT I MISS FROM DISKEEPER
* FragShield. This is useful to adjust the MFT size to avoid defragmentation of MFT on NTFS volumes.
* The I/O Sensor, useful when scheduled defragmentation, but if computer is in use, the sensor stop defragmentation. The I/O Sensor was replaced by a new technology after Diskeeper v10.

WHAT I'LL NOT MISS FROM DISKEEPER 2007
Initially, the new "sensor" technology on Diskeeper 2007 looked ideal. A sensor detects when computer is IDLE and start a defragmentation in background, using almost no resources.
After few days, this new sensor makes me paranoic... "is this really working?" I mean, there is no notice of this new background method is working, not even an icon on System Tray like previous versions. I have to start Diskeeper 2007 and look at the dashboard when this new technology is actually working.
After many days, I was not calm with this method, and with the fact of not being notified with an icon that in fact is working, and when.
I liked the SmartSchedule method, worked for me a lot. But now I think this new sensor is not the perfect solution, because I don't want my hard drives to be permanently working.

FINALLY
Well, I'll continue testing more the PerfectDisk defragmentation on workstations. The server part will continue using Diskeeper v10 (not 2007) until I have zero issues with PerfectDisk. I can't stop production servers to solve extra issues.

4 Comments:

Anonymous Anonymous said...

Regarding Diskeeper's FragShield. While this sounds like a good thing to do (pre-allocate space for the $MFT), it is not ever necessary as NTFS automatically provides a mechanism to keep the $MFT from becoming fragmented.

When an NTFS drive is formatted, the $MFT is created which contains a fixed number of records that can be used. As files are created, these records are used. Eventually, the pre-allocated number of records are used and the $MFT will need to "grow" - allocating another chunk of file records. Immediately adjacent to the $MFT is created the MFT Reserved Zone. By default, the MFT Reserved Zone is 12.5% of the drive. If you have a 100GB drive, then the MFT Reserved Zone is going to be approximately 12.5GB.

The MFT Reserved Zone is created specifically to allow the $MFT to "grow" in a contiguous fashion. When the $MFT fills up, NTFS allocates the next chunk from the free space located in the MFT Reserved Zone. In order to keep the MFT Reserved Zone clear, NTFS will avoid putting files inside of the MFT Reserved Zone unless you get into a low free space condition. One of the things that PerfectDisk does (and Diskeeper refers to doing) is to keep the MFT Reserved Zone clear. Keeping the MFT Reserved Zone clear allows NTFS to allocate additional space for the $MFT in order to keep it from growing fragmented. There is no need to artificially extend the size of the $MFT by pre-allocating $MFT records.

Since the MFT Reserved Zone is by default 12.5% of the drive, this leaves sufficient free space for $MFT growth. For example, a system has a 300GB drive. Initially formatting the drive results in a $MFT that is less than 1MB in size. Populating this 300GB drive with approximately 1 million files and 4.5 million fragments results in an $MFT that is 1GB in size - containing approximately 1,105,000 records. According to Diskeeper, this would seem to be the type of scenario that requires pre-extending the $MFT to contain this large number of records in order to keep the $MFT from becoming fragmented. However, this didn’t occur because of the MFT Reserved Zone and NTFS being able to allocate additional space for the $MFT by growing contiguously into the MFT Reserved Zone.

In addition, with Windows XP and newer versions of Windows, all but the first several clusters of the $MFT can be defragmented online. This means that ANY defragmenter has the ability to easily defragment the $MFT. Another reason why artificially extending the $MFT is not needed or recommended.

Diskeeper also warns “Once the MFT is extended, it cannot be reduced in size without reformatting the volume”.

- Greg/Raxco Software
Microsoft MVP 2003-2007
Windows File Systems

Disclaimer: I work for Raxco Software, the maker of PerfectDisk - a commercial defrag utility, as a systems engineer in the support department.

12:46 PM  
Anonymous Anonymous said...

Just FYI: I believe the newest version of Diskeeper -2008 has just been released. You can find the trialware download that their site. I am still downloading it. Don't know how it compares to DK2007 yet.

12:48 PM  
Blogger D@nny said...

According to Microsoft's Article ID 174619 revised at Sep/2007 (http://support.microsoft.com/kb/174619), there is a possible impact on System performance if MFT becomes fragmented (and this is real).

Due to my job, a user may have a 300GB disk drive filled with a lot of stuff, and can becomes full. This means, MFT fragmentation is possible with disk full scenario (one of the limitations of Diskeeper to work -20% of free disk space-) and waiting for NTFS "auto fix" or "auto grow" is not a solution for me, specially on critical servers / workstations (I have experiences with servers accidentally full with temp files or programmers errors).

On my own tests, allocating enough MFT records seems to work great in disk performance and System's speed. Copying thousands of files to a NTFS volume with enough records count, is faster than performing the same process over a NTFS volume with MFT's full (or almost full). That's the reason I considered FragShield. The only alternative to take control of this, is to preallocating MFT on new volumes at initialization (format), but in the real world, cannot format all volumes just to control this (backup data, verifying backups, reinstalling OS if boot drive, reinstalling software, reconfiguring software, restoring backups, etc.)... I know a disk image backup/restore can save most of the tasks, but doing this just to control the MFT records is not efficient (IMHO).

I don't know the existence of another tool that performs this MFT job as FragShield.

6:44 AM  
Anonymous Anonymous said...

That MS article's last review date (not modification date) is Sep/07 and it applies primarily to Windows 2000/NT4 - it doesn't provide information on how the Reserved Zone is different with newer versions of Windows. However, the registry setting to control the size of the MFT Reserved Zone still applies to newer versions of Windows.

Yes, having a fragmented $MFT can have a potential performance impact. However, typically the $MFT needs to be severely fragmented to notice any sort of performance loss.

As a 5 year Microsoft MVP for Windows File Systems, I know quite a bit about file systems and how they work.

The allocation process for the MFT to "grow" is not something that typically is seen as a slow process. It is designed to do it quickly and effeciently. I'm very surprised that performance issues due to the $MFT growing is something that you have been able to measure. When the $MFT needs to allocate additional records, it is done immediately. It isn't something that you have to wait for. More likely what you are seeing in a very low free space condition is performance degradation due to write performance - in actually writing files to the drive - not allocating additional $MFT records - especially if the available free space is scattered all over the drive.

As mentioned earlier, I've tested on a 300GB drive creating 1 million files (leaving 8% free space) and was not able to measure any performance difference between allowing NTFS to grow the MFT as designed vs pre-allocating MFT records.

You must have a pretty unique environment.

- Greg

8:37 AM  

Post a Comment

<< Home