*UPDATE* There is an update to this article here: https://tickett.wordpress.com/2011/05/10/time-machine-backup-with-windows-home-server-2011-update/

I’ve never used Time Machine before but after some recent hardware issues and the introduction of my new fileserver I felt it time to give it a try.

I read some articles suggesting WHS 2011 was going to support Time Machine out of the box- it doesn’t, damn! I found two very good articles on how to get it working:

I stumbled on a few steps so thought I’d blog what worked for me (I expect this same process works for any samba fileserver and is not limited to WHS 2011):

1. Configure a share on the server ensuring you have credentials for a user with read+write permission
2. Make a note of your ethernet mac address (found in network utility)

and your computer name (found in sharing)

3. From the terminal execute the following commands (replacing XXX with your mac hard disk size in GB, YYY with your computer name (from above) and ZZZ with your mac address (from above):
defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1
sudo hdiutil create -size XXXg -type SPARSEBUNDLE -nospotlight -volname “Backup of YYY” -fs “Case-sensitive Journaled HFS+” -verbose ~/Desktop/YYY_ZZZ.sparsebundle
4. Mount your samba share from finder (Connect To Server from the Go menu)

5. From the terminal copy the .sparsebundle file you just created to the newly mounted share (I found trying to do this using drag & drop generated an error)- replace /Volumes/AAA with the mount point of your samba share:
sudo cp ~/Desktop/YYY_ZZZ.sparsebundle /Volumes/AAA
6. Launch Time Machine and click Select Disk, choose the samba share and the backup should start in 120s!

There is talk of a company called Orbital Technologies creating an add-in to do this automatically http://www.wegotserved.com/2011/02/21/windows-home-server-2011-support-time-machine-backups-addin/

Paul also mentioned in a comment on his article that someone is in the process of writing a script to automate the process- I’ve asked about said script and depending on the response may decide to write a script of my own.