I am getting ready to do a project with one of our clients to implement Symantec Storage Foundations for Windows on a Microsoft SQL Cluster. Now, I am not normally an implementation engineer. I just happen to have a situation where the client is very important, and none of our other engineers have experience with SFW. I happen to have some experience with it and we don’t want to disappoint one of our top clients, soooo you gotta do what you gotta do.
First of all let me say that SFW has greatly improved over the years. It is at version 5.1, currently. The interface is very intuitive with lots of wizards. SFW has a rich heritage, coming from the Veritas side of Symantec and giving mounds of functionality.
What does it do?
SFW comes in a few different versions and has more than a few options. Essentially it wraps a software layer around all disks on a host, no matter if they are local, SAN, iSCSI, etc. If you have storage coming from a JBOD or low-feature SAN Array, SFW can provide some advanced features such as RAID, data migration, replication, snapshots, etc. Now, if you are using a feature rich SAN Array like an EMC, NetApp or HP, on the surface this may seem a waste of money; however there is more to this product that what meets the eye.
Symantec is giving away the Basic Version of SFW. Here are a few features that you get with the free version:
- Centralized visibility over all storage (EMC, NetApp, local) in the datacenter under 1 interface
- Storage can be expanded or shrunk dynamically and reallocated
- Dynamic Multipathing capabilities that allow for load balancing and seamless failure of I/O
- Hot relocation-moves data off of failing disks
- RAID Support including mirroring, RAID5, etc.
Great feature-set for free, if you ask me. One fault that I see of the Basic version is the odd licensing they have for VMs. Although you can use it on an unlimited number of physical servers (4 file systems/4 volumes limit), you can only use it on one VM per ESX server. This is according to their FAQ located at http://eval.symantec.com/mktginfo/enterprise/other_resources/ent-sf_basic_5%200_faq_01_2009.en-us.pdf
GUI
The GUI is nice to look at although busy. Note the Basic Group (disks that are not under control of SFW) and the CLUSTER_GROUP and QUORUM (disks that are under control of SFW):

Version Differences
Per Symantec’s datasheet and website, SFW Standard Edition is best suited for medium workloads and applications where more than 4 volumes are needed (not including the boot volume, unless you are controlling it with SFW too). As an observation, “upgrading” to SFW Standard requires you to pay a hefty sum and then get the privledge of paying for DMP all over again. I guess if you need more than 4 disks under SFW, then you would need to do this, at a minimum.
Here is a chart that shows off the differences:

Microsoft Cluster Server Option
Most people deploy MSCS for more fault tolerance and to introduce high availability into their environment. Obvious to some (but not others), MSCS will protect you from host failure, it does not protect from disk failure. The SFW MSCS option allows you to create cluster-aware disk groups which can be protected with snapshots (Flashsnap, licensed separately) , mirroring, RAID5 and replication with VVR (VVR requires a separate license). It is a small fee ($295+-) to add.
Flashsnap
Flashsnap is SFW’s snapshot option. It starts at $395, depending on your O/S version. Although it is all host-based, it is very fast and uses very little system overhead. You can set up a schedule, take instant snaps, break off snaps and mount them and even take snapshot volumes to other hosts.
Vertias Volume Replicator (VVR)
VVR allows for sync or async replication of data to a remote server.
Installation
Installation is very simple but configuration is another matter. With so many options, careful planning on how you are going to use SFW is the key. When installing it into a cluster environment, Symantec best practices says to perform a rolling upgrade. This means, roll the services around to the various nodes and install on each node, when it is in passive mode. It does not affect the cluster when it gets installed, nor does it affect failover, once it is initially installed.
My project included building a lab which includes a MSCS with SQL 2005. The Data and Log disks were mirrored, along with the Quorum. I installed SFW and went to work configuring the product. The cluster was already built with a Data drive and separate Log drive. The first step was to bring down the physical disk resources within the Cluster Administrator. Just right-click on the physical disk resources for the Data and Log and click Take Offline. I did this on the active node.
Then I used the SFW GUI (on the active node) to create a Dynamic Cluster-Enabled Disk Group. I added the Data and Log disks to it. Note that this process doesn’t affect any of the data on the disks. This process will remove the Data and Log disks from the Basic Group and moves them to the new Dynamic Disk Group. After this, I brought the physical disks back online and checked failover, which was just fine.
Then I added 2 new disks to act as the mirrored pair for the Data and Log disks. I added them to the Dynamic Disk Group. Then I right-clicked on the Data disk and choose mirror. A wizard started and walked me through picking the Data disk’s twin for mirroring purposes. When I clicked on finish, I received an error stating that the configuration was wrong or there wasn’t adequate disk space. I sized the mirrored twin exactly the same as the original. I made the assumption, based on the error message that the twin needed to be a bit larger to accomidate volume information or mirroring meta-data. Instead of unwinding that on the SAN-side, I just reduced the size of the original disk by 500Mb using SFW. Neat feature which only took about 1 minute.
After retrying the mirror wizard, it failed again! Having worked with SFW before, I wanted to retry the same operation on the CLI. Consulting the very detailed Administration Guide (720 pages), I executed the command “vxassist S: mirror harddisk5″. The S: drive refers to the Data disk currently in use. The harddisk5 refers to the new disk. This immediately worked and the disk was mirrored up in less than 1 minute (it was only about 2Gb of data). Weird issue with the GUI, but as I said, I have worked with SFW before and know that the CLI is the most powerful tool to manage it. I did the same operation to the L: (logs) and before I knew it, SFW had redundant disks which were clustered up. I tested failover and all worked as expected.
Next step was to mirror the Quorum. This was a little more tricky. First I added a new 1Gb disk into the hosts and created a QUORUM Dynamic Cluster-Enabled Disk Group. I added the resource to the cluster, not as a physical disk, but as a Volume Manager Disk Object of Y:. Then I right-clicked on the cluster name in the Cluster Administrator and swapped out the Quorum to the new Y drive. I thought I was home-free but then the MSDTC wouldn’t start. After digging for a minute or two, I figured out the MSDTC used the Q: drive (original Quorum drive letter) for writing logs to. I shut the cluster back down again and using SFW changed out the drive letters of the new, SFW-protected Quorum. Unfortunately the cluster didn’t want to let go of the original quorum so it wouldn’t allow me to change the drive letters out! Going into Device Manager and disabling the Cluster device service (and rebooting) did the trick. I swapped the drive letters and re-enabled the Cluster device service. After buttoning the cluster all back up, everything worked flawlessly.
Given the ability to mirror drives from different disk arrays (for free), free dynamic multipathing with load balancing and failure and a low-cost MSCS option to mirror all disks to soup up your MSCS installs makes the SFW Basic a great deal. Adding enterprise features like Flashsnap and VVR takes a little more cogitation but when you have a mission critical server, they are nice to have.