ZFS Like Alternatives on Windows
Solution 1:
As far as I know, really the only option you have that approaches being somewhat reliable is to get a SAN that implements storage virtualization and connect your windows servers to it via iSCSI/FC/FCoE/etc.
The SAN will be able to give you similar features as ZFS does: snapshots, dynamic volume sizing, cloning, etc.
Solution 2:
Like others are saying there is nothing comparable to ZFS on Windows, so if you want to use ZFS it will have to be attached through the network in some form.
If you check the compatibility of the hardware carefully you should also have no problems running it on non-Oracle hardware, in my (albeit limited) experience. From what I gather the most important things to look out for are:
- 64-bit capable CPU (ZFS is practically useless on 32-bit)
- 1 - 1.5 GB of ECC RAM per TB of used storage
- LSI 1068E based SAS/SATA HBA with IT firmware
I would recommend a Solaris-based OS over FreeBSD or Linux for performance and stability reasons, or if you need any of the features only recent ZFS versions support (like encryption). That means your OS options are Solaris 10, Solaris 11 Express, or one of the forks of OpenSolaris. Nexenta Core (or the more appliance-like NexentaStor), OpenIndiana and Schillix seem to be the most prominent. If you decide on an Oracle-supported OS the license costs are currently $1000 / socket for non-Oracle x86 hardware.
I'm currently running a test file server on ZFS. If your requirements are similar to ours you might get by without going the iSCSI route and instead using Solaris built-in CIFS support to make ZFS file systems appear as regular Windows shares. It was relatively easy integrating it with Active Directory for athentication, and it's been a lot less pain than Samba so far.
If you need the storage to appear as a native Windows drive - for a database, for instance - iSCSI is your only option. Beware that you then lose the ability to grow the drive easily as you need to dedicate a set amount of ZFS pool space to the iSCSI share. If you need iSCSI I would advise you to get a beefier network setup than the single gigabit card suggested above - we had no problems saturating a gigabit connection with just four old 5400 RPM desktop drives in RAIDZ on a 1.5 gbit HBA. A 10-gigabit card or at least a four-port gigabit card with link aggregation would be better.
Solution 3:
I think you have some of the concepts of ZFS wrong. You can't actually shrink pools, however it is possible to create and delete filesystems and such on the fly using pooled storage. Honestly, short of using a ZFS-based solution, I think HP's Smart Array controller solution is extremely clean and allows flexibility with its logical drives. Let's say you have 8 disks. Within that array, you can have smaller logical drives that can use differing RAID levels. They can also be expanded easily. So that's something that's unique to HP ProLiant servers, but is a good alternative in a Windows environment.
As far as ZFS is concerned, you can buy a canned ZFS solution from several vendors. Take a look at NexentaStor as well as PogoLinux, who sells packaged and preconfigured NexentaStor systems on certified hardware. These solutions would definitely fit within your budget.
Personally, I use NexentaStor for my ZFS deployments, but went the route of tailoring HP ProLiant hardware for the task since that's what I'm most familiar with. Either way, there's no requirement to run on Oracle hardware to attain stability in ZFS.