AVS Forum banner

1 - 20 of 82 Posts

·
Registered
Joined
·
934 Posts
Discussion Starter · #1 ·
Hi All,


I've finally gotten time to finish up this app I've been working on. It basically balances all the data on your drive pool equally. Let me know if you like it!


/Edit: UPDATE ALERT:

New feature of including D: in the balancing effort has been included.
Code:
Code:
UPDATED NOTE:
Some people have been having trouble not getting any data to move when their D:\\ has lots of data on it. Before doing anything else, please run Drive Balancer to clear the landing zone only. To do this, choose "n" to include d:, then choose "y" to clear landing zone, and the "5" to exit. After this initial run (which can take hours), rerun Drive Balancer the with the options you want. I believe this will help the problem of no data being moved on some people's systems. 

Usage Notes:
This program was designed to "even out" the data on a drive pool for WHS. The main purpose was when a person adds a drive to the pool, it doesn't necessarily start getting used for a while. While Microsoft has made changes to the usage of the Landing Zone (as in it doesn't exist anymore), some people's systems might still be in a non "evened out" state as wish to correct this. On my own system, I routinely get within 2% of perfect balancing on all pooled drives. 

For a walk through of the tool running, checkout the walk_through.txt file.
Testing:
I have tested this program on my own system which consists of:

System Disk: 
Areca 1210 RAID5 set consisting of (4) 250GB Seagate Drives = 20GB C: and 678GB D:

Pooled Disks:
(3) WD 1TB Green HDs
(2) Seagate 1.5TB HDs


IMPORTANT NOTE:
With some help from user "S_M_E" on SageTV forums, I am able to "restart" the Drive Extender service which is responsible for doing the actual balancing. The program detects a restart is needed if
 

Attachments

·
Registered
Joined
·
1 Posts
NEVER MIND!


OK...call me a 'newb', but what are the instructions for running it...it's not an add-in...do I run from a remote connection on the WHS itself?


Hope you don't find this insulting!


Cheers...
 

·
Registered
Joined
·
934 Posts
Discussion Starter · #5 ·
not at all....


I'd first suggest reading the reasme to figure out if you can benefit from what this app does. Secondly here's how to run it.


Remote Desktop into the WHS machine and put the .exe file somewhere on C: drive. Then, open up a cmd window and go to the place where you put the exe file and run it. Follow the directions as they come to you. The readme will give you an idea of what to expect.


-Brian
 

·
Registered
Joined
·
3 Posts
Just tested the v1.02 and it works almost perfectly. I set it to empty out my D-drive, but there wasn't enough room on the other drives to empty it completely so the program kept looping and checking to see if the drive was empty or not.


How about adding some functionality to check if any data has been moved off the drive since last check, if not - there's probably no space left on the other drives and you can assume this stage has completed.


But a nice, little program - I highly recommend it!


-rune
 

·
Registered
Joined
·
934 Posts
Discussion Starter · #8 ·
runewa -


The app should have timed out after 30 minutes of no change in the free space on D:. I know that is a long time, but with slower hard drives, DE could prematurely stop moving data off of D: if it's less.


Did you wait the 30 minutes, or did you hit Ctrl-C or what? I'd like to know if there is anything wrong with the program itself.


-Brian
 

·
Registered
Joined
·
3 Posts
Hmmm, not sure. I started the program when I left work, and it had finished moving data off my D-drive and was looping when I got home.


I have started it again, will be more patient this time and let you know what happens




Edit: Let the program run for 30 minutes, and indeed, the program detects no disk activity and prompts yo to hit enter to continue.

A great app!!
 

·
Registered
Joined
·
934 Posts
Discussion Starter · #10 ·
Thanks.. the 30 minutes timer is new, so I wanted to be double sure nothing was wrong with it.



Thanks for the kind words.


-Brian
 

·
Registered
Joined
·
103 Posts
worked great for me. I have one 500 sys, 2 400s that are 99% full and a 1.5tb with 0%. Ran the program and now i have i think 79% on the 400s and 13% on the 1.5tb. Im probably going to remove the 400s soon anyways.
 

·
Registered
Joined
·
934 Posts
Discussion Starter · #14 ·
stevetoney wrote:

I used the 1.02 version on my WHS and now have a big problem


I have a WHS running under a virtual machine under windows 2008. the first HD is a virtual drive of 120gigs that has the WHS install and the two partitions the install make, then I have 4 1TB drive in the pool.


before the run the main system drive was 30% full, first 1TB drive in pool was 7% full, drive 2 was 98% full, drive 3 was 7%, as was drive 4


I included "D" in the allocation pool -- probably a mistake as it is now 99% full after the balancer finish


anyway to recover from this and get the allocation only on the 4 1TB drives, I wish to keep the core virtual drive with the system partition and other default partition as clean as possible


The balancer seems to have done a good job of balancing the data on the 1TB drive, but my choice put too much data on the smaller virtual drive

thanks


**********


For some reason that didn't show up here.


In your setup, don't include the D: in the balancing and then choose to clear out the landing zone. FOllowing that, you'll balance the drives and you'll be all set.


Also, make sure you delete the following dirs if they exist from the last run and then do a "refresh" in Disk Management plug in


c:\\fs\\*\\fake

d:\\fake


-Brian
 

·
Registered
Joined
·
103 Posts
I forget i think it was even % of data on each maybe. ill try to look when i reinstall. Im moving to a new mobo with more sata and doing a reinstall this weekend.
 

·
Registered
Joined
·
358 Posts
I deleted the message - since I figured it out a bit after I wrote it


Thanks -- program worked as stated and was waiting for manual input.


I would like to do a scheduled run every so often, so it we me nice to have a way not to interact manually and have it finish


thanks


Quote:
Originally Posted by Beefcake /forum/post/15880615


stevetoney wrote:

I used the 1.02 version on my WHS and now have a big problem


I have a WHS running under a virtual machine under windows 2008. the first HD is a virtual drive of 120gigs that has the WHS install and the two partitions the install make, then I have 4 1TB drive in the pool.


before the run the main system drive was 30% full, first 1TB drive in pool was 7% full, drive 2 was 98% full, drive 3 was 7%, as was drive 4


I included "D" in the allocation pool -- probably a mistake as it is now 99% full after the balancer finish


anyway to recover from this and get the allocation only on the 4 1TB drives, I wish to keep the core virtual drive with the system partition and other default partition as clean as possible


The balancer seems to have done a good job of balancing the data on the 1TB drive, but my choice put too much data on the smaller virtual drive

thanks


**********


For some reason that didn't show up here.


In your setup, don't include the D: in the balancing and then choose to clear out the landing zone. FOllowing that, you'll balance the drives and you'll be all set.


Also, make sure you delete the following dirs if they exist from the last run and then do a "refresh" in Disk Management plug in


c:\\fs\\*\\fake

d:\\fake


-Brian
 

·
Registered
Joined
·
3 Posts
The first run of the tool gave a fair balancing of the drives (equal free space) except system drive is full..... (drive0 = 99%,drive 1-3=73-74%)


Now trying to run the tool again with different options where d is included i get various errors One system.IOexception


Rerunning gives me an interesting one:

Still need to create 18446744073709551606 files on drive 0..............

ctrl-c out of that....


trying option one now returns:

Making Calculations for drive balancing...

New free space amount is too large: Must be 10GB less than capacity of the drive......



Hmmm logically since you are not moving any files there must be another explanation...... yes now i rememberd. fake files.....

found 'em all on all drives and deleted them....


Now rerunning the tool gives me the system.io.ioexception again:
Here is what happens....

Choice (1-5): 1


Making Calculations for drive balancing...

Stats - Drive: 0 TotalCap: 212GB NewFreeSpace: 50GB

Stats - Drive: 1 TotalCap: 931GB NewFreeSpace: 220GB

Stats - Drive: 2 TotalCap: 931GB NewFreeSpace: 220GB

Stats - Drive: 3 TotalCap: 931GB NewFreeSpace: 220GB

Does this seem appropriate (y/n)? y


Unhandled Exception: System.IO.IOException: There is not enough space on the dis

k.


at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)

at System.IO.FileStream.SetLengthCore(Int64 value)

at System.IO.FileStream.SetLength(Int64 value)

at Drive_Balancer.DriveBalancer.InitialPaddinng(Boolean[]& CrunchDisk, UInt64

[]& numFakeFiles, Double[]& freeGBytes, UInt64[]& newFreeSpace, List`1& Folders)


at Drive_Balancer.Program.Main()


C:\\Documents and Settings\\Administrator>



Now do you have any idea on how to make my system drive (drive0) as free as possible and distribute the rest of the data as evenly as possible on the rest of the drives (drive1-3) ?


BDW thanks for publishing this wonderful utillity!!! Since i am a programmer myself maybe i can help?!? Any help is greately appriciated!!!


/BX
 

·
Registered
Joined
·
934 Posts
Discussion Starter · #18 ·
Over the weekend, I did notice that including the D: in the balancing has a small problem. The way Windows returns free space is not accurate for D:\\. The total size is correct for the partition size, but the free space is reported as a total of C: AND D:.


As a result, if your physical disk that holds C: and D: is small in comparison to the rest of the pooled drives, the D: drive will fill up more than it should. I have been working on this issue over the weekend and have a solution that works correctly on my own system.


As far as the exception, I plan to add in error handling in my next release as well. I'll be working on this tonight/tomorrow so that when things like this happen in the future, I'll be able to tell exactly where the error is.


Thanks for offering your help. I should be able to fix this problem up on my own, but if I can't or don't have the time, I will certainly ask you for help.


-Brian
 

·
Registered
Joined
·
934 Posts
Discussion Starter · #19 ·
In order to clear out the D drive, choose 'N' to including it in the balancing. Then, choose to clear out the 'Landing Zone'. Finally, choose Option 1 and you should be all set.


-Brian
 

·
Registered
Joined
·
934 Posts
Discussion Starter · #20 ·
Ok, so I deliver
.....


Check OP for updated code which has the bug fix and error handling included.


-Brian
 
1 - 20 of 82 Posts
Top