Skip to content
Guillaume Boudreau edited this page Jul 10, 2020 · 4 revisions

What you need to know about the differences between WHS Drive Extender and Greyhole

Introduction

With Microsoft discontinuing Drive Extender in their next version of Windows Home Server (WHS), some people might be looking for alternatives. Greyhole would be one such alternative.

This document presents the differences between both technologies, and suggests a migration path, should you decide to try Greyhole to replace your aging WHS.

Comparison

Drive Extender Greyhole
Shared storage pooling X X
File-based replication X X
Arbitrary storage expansion X X
Multi-disk redundancy X X
Disks are readable individually X X
User-selectable: unlimited number of redundant copies   X
User-selectable: disk(s) used for specific shares / folders   X
Automatic free space balancing across disks   X
User-managed Recycle Bin (Trash)   X
Open source, community based   X
Is / will be completely bug free    

Migration Steps

1. Install Greyhole

This guide assumes you have Greyhole installed. Either per the INSTALL & USAGE instructions, or use a package that integrates Greyhole, like Amahi.

2. Obtain Spare Disk(s)

If you don't have any spare hard disks, you'll need to remove at least one disk from your old WHS, to use as the starting point of your Greyhole pool. You can use the Remove a Hard Drive Wizard in WHS to do that. See RemoveHardDriveWizard.

3. Add Disk(s) to Greyhole

Add at least one hard disk in the Greyhole storage pool directory. See storage_pool_directory lines in the config file, or use the configuration page, if your package has one. This is under Setup > Shares > Storage Pool in Amahi:

4. Create Shares

Recreate all the shares you have in WHS as Greyhole shares, and configure them to keep only 1 copy of your files (no extra copies). This will speed up the initial copy of your files, and you'll be able to change that later. See the num_copies lines in the config file, or use the shares configuration page, if your package has one (this in Setup > Shares in Amahi).

Note that the shared directory (Location in the screenshot above) should NOT be a subdirectory of any of the directories you have in your storage pool. The shared directory is in fact the landing zone for new files, i.e. it's a temporary placeholder for new files. Once Greyhole did it's thing, this directory will contain nothing but symbolic links to the real file copies that are kept in your storage pool.

Here's an example: I could add /mnt/hdd1/gh and /mnt/hdd2/gh in the storage pool, then create a share for Music in /mnt/hdd1/Music. Since my /mnt/hdd1/Music share is NOT a subdirectory of either /mnt/hdd1/gh or /mnt/hdd2/gh, I'm fine.

5. Copy the Files from WHS

On any client computer, mount both the WHS share, and the equivalent Greyhole share, and start copying files from one to the other.

6. Ensure Your Data Copied Correctly

Before deleting the files from WHS, you'll want to make sure all the files have been correctly copied in Greyhole, and are all readable. You might want to take a look at the Greyhole log, to make sure it's doing it's thing correctly. It's available in /var/log/greyhole.log You'll know something doesn't work right if you see any ERROR or WARNING lines in that log file.

7. Repeat with More Drives

Repeat steps 5 & 6 until the Greyhole pool is full, then go back to steps 2 & 3 to remove a disk from your WHS, and add it in the Greyhole storage pool, then continue copying files from WHS to Greyhole. Repeat until all your data has been moved from WHS to Greyhole.

Tips and Tricks

  • To see if Greyhole is actively working, and if so, on what, check the /var/log/greyhole.log file. Every time Greyhole does something, it logs it in that file before starting, so you'll always know what it's up to.
  • To get stats about disks usage, use the greyhole --stats command.
$ greyhole --stats

Greyhole Statistics
===================

Storage Pool
                Total -  Used =  Free + Trash = Possible
  /mnt/hdd0/gh: 1812G - 1708G =   86G +   98G =  183G
  /mnt/hdd2/gh:  688G -  662G =   18G +   66G =   84G
  /mnt/hdd3/gh:  917G -  881G =   27G +   55G =   82G
  /mnt/hdd4/gh:  688G -  650G =   31G +   41G =   72G
  /mnt/hdd5/gh:  917G -  872G =   35G +   58G =   93G
  /mnt/hdd6/gh:  917G -  829G =   42G +  118G =  160G
  /mnt/hdd7/gh: 1834G - 1704G =   37G +   81G =  117G
  • You can ask Greyhole to work on balancing the free space by using the greyhole --balance command. You might want to do this to even the load on all your disks after you added a new disk.
  • You can view the number of pending operations that Greyhole has queued by using the greyhole --view-queue command.
$ greyhole --view-queue

Greyhole Work Queue Statistics
==============================

This table gives you the number of pending operations queued for the Greyhole daemon, per share.

             Write   Delete  Rename
Backups      0       0       0      
Books        0       0       0      
CrashPlan    44      0       0      
Games        0       0       0      
Music        0       0       0      
Photos       0       0       0      
RecordedTV   0       0       0      
Software     0       0       0      
Videos       0       0       0      
===========
Total        44    + 0     + 0     = 44
  • You may need to empty the Trash (AKA Recycle Bin).
  • To prepare a hard disk for removal, use the greyhole --remove=<path> command. This is the equivalent of the Remove a Hard Drive Wizard of WHS.
  • All the above commands, and some more, can be listed by simply issuing the greyhole command.