Friday, 19 August 2011

News Guides Reviews Upgrade to a Premier Subscription Customize ▾ OpenForum Login/Join One Microsoft Way Has Microsoft just ruined Windows Home Server?

Microsoft's Windows Home Server is a funny little product. The company's ambition when developing the product was to have us all run little home servers: small, low-power, appliance-like machines with some network connectivity and gobs of storage. We'd use these home servers as a place to back up our PCs, share files and printers across our home networks, stream media to our Xboxes, and gain remote access to our files when away from home.
In practice, most of these things can be done perfectly well with a normal desktop version of Windows. Windows Home Server does have some advantages—it had a management front-end that let the server be easily controlled remotely, and it is based on Windows Server 2003 to slim down its own hardware demands—but for the most part, it isn't doing anything too unusual. As a result, Windows Home Server has remained a niche product. Much loved by its users, but never really making it as a mass-market success.
It does, however, have one special feature, a feature without any real equivalent in any other version of Windows, whether for desktop or for server. That feature is called Drive Extender. Conceptually, Drive Extender is quite simple: it allows multiple hard disks (regardless of interface or size) to be aggregated to provide a single large pool of storage. Folders on the pooled storage could also be selectively replicated, meaning that Drive Extender would ensure that copies of the files were found on multiple physical disks.
For a home fileserver, this is obviously a very handy capability. It allows simple ad hoc expansion of storage—no RAID rebuilding, no need to match disk capacities, no need to stick to any drive interface—and does so without the inconvenience of multiple drives, each of which has to have its free space managed manually.
For Windows Home Server's small, but vocal, following, Drive Extender is arguably the most important feature. It's what makes Windows Home Server something better than simply plugging some USB disks into a PC. Without Drive Extender, Windows Home Server as a product makes a lot less sense.
Indeed, Drive Extender was fundamental to the home server concept. A home server as originally envisaged by the Windows Home Server team should have, in essence, infinite storage, and storage that should be transparently extensible. This is why RAID, though common in corporate environments, isn't an viable solution for most home users. With RAID, you can't simply add another disk whenever you need more space. RAID requires management and planning.

Enter "Vail"

Windows Home Server version 2, codenamed "Vail," is currently in development. It is intended to give Windows Home Server richer backup capabilities, and to make it more extensible and simpler to set up and use.
Vail betas have, until now, also included a new and improved Drive Extender—one designed to make this key feature more robust and reliable. "Until now," because Microsoft has just announced that Vail will no longer include Drive Extender. Arguably the most significant feature of Windows Home Server, now gone.
The response from Vail testers and Windows Home Server users alike has been astonishment and outrage. A bug raised against Vail demanding the feature's restoration was filed almost immediately after the announcement, and has rapidly accrued hundreds of votes and many angry comments. This is not a popular decision at all, with many of the complainants saying that Drive Extender was the only reason they used Windows Home Server in the first place.
Drive Extender was also set to be a feature of the forthcoming Small Business Server 2011 Essentials (codename "Aurora") and Windows Storage Server 2008 R2 Essentials (codename "Breckenridge") products, giving it reach beyond the consumer market. Microsoft, for its part, says that after soliciting feedback from both consumers and small businesses, it no longer saw a need for the feature. Large hard drives are now readily available, and Microsoft is saying that these represent an adequate alternative to the Drive Extender technology.
With the removal of Drive Extender, it's hard to see what the point of Windows Home Server really is. A Drobo is probably a better solution for most file storage needs, and tasks like printer sharing and remote access are either built in to Windows anyway or available with free Windows software like Windows Live Mesh. Without the expandable storage, Windows Home Server's role as a file server, surely its raison d'être, is severely compromised.
The only winners from this decision are hardware companies. Aurora and Breckenridge customers will just buy RAID systems instead, and customers after Vail-like functionality will buy Drobo units.

The real reason for its cancellation

The current Windows Home Server's Drive Extender implementation is actually pretty peculiar. Disks pooled together in Windows Home Server are just regular NTFS-formatted disks. You can take them out of the server, plug them into another machine, and see all the files. There's nothing fancy going on with the disks themselves. Instead, Drive Extender provided a fileshare that gave a unified view of all these pooled disks. Behind the scenes, the software would periodically copy files between the physical disks in order to ensure that any folders that were meant to be duplicated indeed were.
This worked, more or less, but it wasn't entirely robust. Data loss bugs cropped up when, for example, using Office documents on the pooled share afflicted Windows Home Server, and these persisted long after the product's initial release. To this day, Drive Extender can change the timestamps of files that it duplicates. These flaws are likely the reason that the technology was never used in any other products.
With Vail, Drive Extender was completely rewritten in a manner that should make it both more flexible and more reliable. Instead of using regular NTFS disks, Vail inserts a layer underneath the filesystem. This layer was responsible for distributing blocks of data between disks, replicating them to ensure fault tolerance, and de-duplicating them to make the system more efficient (something especially valuable for a backup server). The problems with the old system—corruption of in-use files, delays before files are duplicated, incompatibility with EFS encryption, errors in timestamps—were banished for good with this new layer.
These changes caused some backlash among the Windows Home Server community, as they meant forfeiting the ability to just take a drive out of a Windows Home Server system and stick it in another machine to access its files. Many users felt this to be a significant step backwards.
They are wrong. The new layer resolved many fundamental flaws with the previous mechanism, and could have served as a foundation for building even richer capabilities in the future, in a way that the old (current) Drive Extender just can't. Giving up the ability to use the disks outside of the server is, in the long run, a price worth paying.
Unfortunately, the new block layer in Vail doesn't quite work right. Just like Drive Extender in Windows Home Server, there have been bugs. Different bugs, but bugs all the same. Microsoft hasn't gone into explicit detail about what these problems are, but there were some issues with its ability to correct errors, and some Small Business Server testers reported application compatibility problems.
So instead of fixing the flaws, and potentially delaying the three products dependent on Drive Extender, Microsoft is killing the feature altogether.

Broader implications

Windows Home Server is being ruined because of issues that affected Small Business Server workloads, and as a result Vail will be, for most or all users, basically pointless. Windows Storage Server 2008 R2 Essentials, which is essentially Windows Home Server for small businesses, is also badly hurt by the decision; perhaps not quite as badly, due to greater use of RAID hardware in its target market, but it nonetheless loses a lot of flexibility.
The impact on Small Business Server 2011 Essentials and Windows Storage Server 2008 R2 Essentials is smaller, partly because it's not a regression (there is no pre-existing user base expecting this functionality), and partly because they still do other things that justifies their existence. Small Business Server 2011 Essentials should be the cornerstone of a small company's office network; while enriching its file server abilities is useful, the loss isn't catastrophic.
The bigger problem is that this decision means that Windows is still no closer to having the kind of flexible, powerful storage subsystem that is a feature of competing platforms like Linux and Solaris, as well as dedicated hardware devices like the various Drobo boxes. Advanced filesystems like the Sun-developed ZFS include this kind of flexible block storage, and the new Drive Extender was the first step towards giving Windows similar capabilities.
The current Drive Extender was clearly never going to be able to deliver this kind of flexibility, which is why it never saw any usage beyond the current Windows Home Server version. But the new Drive Extender was intended for more than just Windows Home Server: its design and features were believed to be good enough for real server workloads. These are features Windows should have, and something that Microsoft needs to get working. Even without Vail, this is work that Microsoft should be doing.
If Microsoft is going to stick with its decision and remove Drive Extender across the board, the company might as well cancel Windows Home Server altogether. I think, however, this is a bad decision.
A better solution would be to take the time to make the new-style Drive Extender work. Ship Aurora according to the current schedule (it's due some time next year), but delay Vail and Breckenridge until the feature works. Once it's robust, retrofit the feature back into Aurora as a downloadable extra, and make it a built-in component of Windows 8's corresponding server version.
Windows Home Server needs Drive Extender. The Windows platform as a whole needs Drive Extender. Hobbling Vail, and removing Drive Extendor, cannot be the right thing to do.

No comments:

Post a Comment