The Problem with Storage Spaces

As you may well have gathered from a number of my previous posts about Windows Server 2012 and Storage Pools, I was intending on using them for my home server rebuild, and I am indeed using them, however I have neglected to post anything showing the new server (although I will change that shortly).

I ran into a problem with Storage Pools today which I think quite frankly blows. I got myself a new Western Digital 3TB Red drive to try out. The plan is to replace all of my existing six 2TB Western Digital Green drives with these for a number of reasons including greater bang for buck on power consumption, increased IOPS, cooler running temperature and improved reliability.

Not wanting to keep a mixture of Green and Red drives for very long, I proceeded to remove one of the drives from the pool to replace with a Red drive. The Storage Pool refused to remove it as a Simple non-redundant Storage Space was being hosted on this drive.

Problem 1:  Storage Spaces cannot be converted between Simple, Mirror or Parity. Once they are created, they are created. My only option for this was to create a new temporary Space marked as Mirror and copy the data from the Simple so that I could delete it. Once deleted, I tried a second attempt to remove the drive and I got an error that I needed to add another drive to the pool as there was insufficient capacity.

I’m sorry, what?

Problem 2: I have six 2TB drives in an uber-pool. I am currently less than half of it, so removing the drive should be no problem. I tried this a few more times and each time I got the same error that I would need to add more capacity to the pool before I would be able to remove the drive, which I know to be cobblers.

In the end, I just pulled the disk from the server and let the Storage Pool have a cry about the missing disk. From here, I marked the disk for removal to allow Windows to think that the disk was failed and that it was never coming back. This worked although is time consuming as it forces all Mirror and Parity virtual disks to enter a repairing state, copying blocks to remaining disks in the pool to keep up the protection level.

This brings me softly onto another point which is more of a beef.

Beef 1: One of the tricks of Windows Server 2012 was deduplication. Anyone familiar with Windows Server 2012 will know that Storage Pools and deduplication do work together, but in Essentials, deduplication is absent, missing, not there. The feature is completely missing from any of the Server Manager interfaces and from PowerShell, the command Get-Command -Module Dedup* returns nothing.

Why is it missing from Essentials? Essentials is the release of Windows Server 2012 targeted at SMB/SME and pro-home customers, the customers most likely to be storing a lot of data on a tight budget, so why strip out the feature that they will probably be highly interested in, in Windows Server 2012.

I really hope that Microsoft get enough complaints from customers of Essentials to release a Feature Update to re-add the support for deduplication.

With this done,

Restoring Client Computer Backup Database in Windows Home Server 2011

Quite sometime ago (probably about two months now), the primary drive on my Windows Home Server 2011 was giving me issues due to a new device driver I installed. Nothing got me going with ease: Last Known Good Configuration, Safe Mode, nothing. The problem lied in the fact that the server wouldn’t acknowledge that the OS disk was a boot partition, and after leaving it to attempt to repair the boot files by itself, which for the record, I don’t think I’ve ever seen work, I took to it manually.

Launching the Recovery Console command prompt from the installation media, I tried the good old commands that have served me well in the past for Windows Vista and Windows 7 machines I had to repair, bootrec and bootsec, but nothing worked, so I was left with only one option to re-install the OS. I wasn’t concerned about loosing personal data that is stored on a separate RAID volume, but I was concerned about my client backups which were stored on the same volume.

Using a USB attached hard disk, I manually copied out the Client Computer Backups folder, then rebuilt the operating system. I don’t keep active backups of the Home Server operating system because the Windows Server Backup utility in Windows Server 2008 R2 isn’t that hot. It doesn’t support GPT partitions over 2TB which obviously is an

Once installed, Windows Home Server sets up the default shares and folders including the Client Computer Backups. The critical thing here is that no clients can start a backup to the server before you complete these steps. Once a client starts a backup to the server, it creates the new databases and files for the server, ruining the chances of importing the existing structure.

From the new OS installation, open the directory where the Client Computer Backups live. The default location is C:ServerFoldersClient Computer Backups, but I had moved mine to D:ServerFoldersClient Computer Backups. Once you’ve found the directory, copy across all of the files I had previously copied from the burnt install of Windows and overwrite any files that it requests.

Once completed, restart the server. This will restart all of the Windows Home Server services responsible for running the Dashboard and the Client Computer Backups. Once the restart has completed, open the Dashboard and select the Computers tab where you normally view the computer health states and backups. On first inspection, it looks as though you have no clients and no backups, but look more closely and you will se a collapsed group called Archived Computers. Expand this group and you will see all of your clients listed and all of their associated backups will be listed if you select the Restore Files option for a computer.

The thing to point out here is that these backups will remain disassociated from the clients. Once you re-add a client to the server and commence a backup, it will be listed as a normal computer and the Archived Computer object for it will also remain listed. This is because the server generates GUIDs for the backup files based on a combination of the client identity and the server identity and because the reinstallation of the operating system will cause a new GUID to be generated, they are different. This isn’t a problem for me, but I’ve read a number of posts on the TechNet forums at Microsoft where people have had trouble locating the Archived Computers group in the Dashboard interface and think that they’ve lost everything which clearly isn’t the case.