N easy way to move shared directories between volumes

network-sharewindows-server-2003windows-server-2008windows-xp

We have a single-domain forest, and a handful of different file servers. One file server in particular has me worried: it is hosting a lot of important data on independent disks and no backup has ever been done. It's also running Windows XP Pro.

I've already taken steps to bring in a backup system (not just for this server, but a larger solution). My problem is really to do with setting up this system for redundancy – I need that data to stay online, or at least be very quickly recoverable (waiting for backups to restore is going to be too slow).

The current system setup (after a few maintenance windows) has 3, 1TB SATA drives. C is the system volume. Volume F contains all of the shared directories, and volume E is completely empty. No money is going to be spent on this box, so what I want to do is move all the shared directories to the OS volume as a temporary backup while I delete both the E and F partitions, mirror the disks in Disk Management, format the mirrored volume, and copy the shares back onto the now-mirrored volume.

My question is this: are there any tools to help me copy the shares to other volumes and automatically re-create the share at the new physical location with the share/ntfs security permissions intact or am I stuck doing this manually?

Update

So it turns out that XP doesn't support mirrored disks anyway. Bleh. Not used to dealing with XP performing server roles…

Decided it would be best to schedule a backup to retain copies of the data on the open disk until management can figure out a budget for a real file server.

Best Answer

I have three potential answers for you. You are welcome to choose your favorite:

  1. If software RAID on Windows XP is anything like software RAID on Server 2003, you should be able to delete drive F, convert drive E to a dynamic disk, and then add the former F drive as a mirror, all without moving any data around manually.

  2. If the above is not possible in XP, here is the direct answer to your question: Robocopy with the /COPYALL switch will enable you to copy file structures around without altering attributes, including NTFS permissions. File shares are stored in HKLM\System\CurrentControlSet\Services\LanmanServer\Shares, so you could backup and restore this registry key if re-creating them is not a more convenient option.

  3. If you happen to have a file server running Server 2008 R2 with RAID storage and sufficient available disk space, another approach would be to:

    1. Disk2VHD the XP box, saving the VHD file(s) to the new server.
    2. Use Disk Management to mount the VHD file(s) and then re-create the share names on the new server.
    3. Make the change entirely transparent to the end-users by adding a CNAME record referring the old server name to the new one and setting HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters\DisableStrictNameChecking to 1.