none
Active Active FileServer Clustering using Windows 2012

    Question

  • Hi All,

     We are trying to implement Active/Active File Server Clustering in Win 2012. Any pointers to resources to guide us about how to do it will be appreciated. 

    This particular feature has got veto power for our future OS. If we succeed, then we will go with Win 2012, otherwise Linux.

    Thanks
    Rohit

    • Moved by BrianEhMVP Monday, June 24, 2013 3:27 PM move to correct forum
    Monday, June 24, 2013 10:57 AM

Answers

  • If you present a single LUN to more than one host and you are not running some sort of sharing software on each host, you will corrupt the data on the LUN very quickly.  Failover clustering protects against this.  SoFS handles this for file shares, but the description of your workload - lots of file creation and extension - points to an area of weakness for SoFS.

    However, you can still achieve an active/active environment with an old fashioned clustered file server.  But, you would need to have more than one LUN.  Then you could create a different share on each LUN and have each LUN owned by a different file share.


    .:|:.:|:. tim

    Tuesday, June 25, 2013 10:02 PM

All replies

  • Jose Barreto has a number of good blog postings on SMB 3.0 and Scale out File Services - http://blogs.technet.com/b/josebda/archive/2013/01/03/updated-links-on-windows-server-2012-file-server-and-smb-3-0.aspx

    It is really quite simple to set up.  It is almost brain-dead simple if you use a SAN vendor that supports SMB 3.0 on their storage frame.  But setting it up on Windows Server with shared storage is pretty simple and straightforward.  All the work is really done by SMB 3.0. 

    That said, it is somewhat dependent upon what you mean by "active/active" file server clustering.  One could actually do active/active file server clustering in Windows NT 3.51.  You could set up two shares and each node of the two-node cluster would own one share, thereby making it an active/active cluster.  So if that is what you mean, that's nothing new.

    In regards to the SMB 3.0 Scale out File Services (SoFS), this works really slick for SMB 3.0 clients.  In other words, Windows 8 and Windows Server 2012 clients.  Previous versions of the operating systems do not support SMB 3.0, so the SoFS will respond to them in the way they understand, which means that you do not get the capabilities.


    .:|:.:|:. tim

    Monday, June 24, 2013 4:52 PM
  • Hi All,

     We are trying to implement Active/Active File Server Clustering in Win 2012. Any pointers to resources to guide us about how to do it will be appreciated. 

    This particular feature has got veto power for our future OS. If we succeed, then we will go with Win 2012, otherwise Linux.

    Thanks
    Rohit

    1) SoFS don't really scale. You need multiple clients to gain any performance increase as there's no way single client will get his I/O split between multiple servers (this is VERY different from block-level MPIO with iSCSI or FC or recent pNFS implementations where true active-active is doing what we expect it to do). So think about SoFS as a load-balancer rather then active-active file server. See:

    http://channel9.msdn.com/Events/TechEd/NorthAmerica/2012/WSV410

    2) SoFS is not intended to be used as a general purpose workload holder. It will simply die under heavy load with a bunch of a small files being written. See: 

    http://technet.microsoft.com/en-us/library/hh831349.aspx

    • Scale-Out File Server for application data (Scale-Out File Server)   This clustered file server is introduced in Windows Server 2012 and lets you store server application data, such as Hyper-V virtual machine files, on file shares, and obtain a similar level of reliability, availability, manageability, and high performance that you would expect from a storage area network. All file shares are online on all nodes simultaneously. File shares associated with this type of clustered file server are called scale-out file shares. This is sometimes referred to as active-active.
    • File Server for general use   This is the continuation of the clustered file server that has been supported in Windows Server since the introduction of Failover Clustering. This type of clustered file server, and thus all the shares associated with the clustered file server, is online on one node at a time. This is sometimes referred to as active-passive or dual-active. File shares associated with this type of clustered file server are called clustered file shares.

    So for you Microsoft can only sell blessed active-passive. See:

    3) SoFS is slow. It's basically a Windows cluster built on top of a shared storage. So actually fetching data from SMB share requires pretty long

    I/O route to go (Ethernet from a client to SoFS and then Ethernet or whatever to a physical shared storage).

    http://technet.microsoft.com/en-us/library/hh831718.aspx

    You must create a file share on the cluster shared volume by using Failover Cluster Manager.

    ...and having CSV assumes you have shared storage between your SoF nodes.

    Making long story short eliminating SoFS

    thing from the middle and doing I/O directly on shared storage will be faster @ the end of the day. People who write they love SoFS performance are basically comparing server-side cached pseudo active-active SMB 3.0 with a very poor Microsoft non-cached active-passive iSCSI implementation. 

    Keeping in mind 1), 2) and 3) I guess SoFS is not for you. Try experimenting with pNFS or (if you can afford) true active-active block storage with optional failover shares on top of it. IMHO of course.


    StarWind iSCSI SAN & NAS

    Monday, June 24, 2013 8:04 PM
  • Thanks to both of you for your comments.

    Let me explain further our requirements. We want to implement a workflow where we have to a share single storage LUN to multiple hosts. There will be multiple processing units which will be working on the same folder creating different files.

    For us one folder is one work items (There will be multiple of these getting created and moved all the time)

    In each folder different processes run "sequentially" generating outputs based on o/p of previous process.

    These processes will be running in VM environment on couple of ESX Server on Win 2012.

    These ESXi server are connected to SAN storage where the folders are stored

    What we would like to do is to mount each  LUN on all the VM's. This should enable each VM to see the latest status of the folders.

    Thanks in advance 

    Rohit


    Tuesday, June 25, 2013 6:11 AM
  • If you present a single LUN to more than one host and you are not running some sort of sharing software on each host, you will corrupt the data on the LUN very quickly.  Failover clustering protects against this.  SoFS handles this for file shares, but the description of your workload - lots of file creation and extension - points to an area of weakness for SoFS.

    However, you can still achieve an active/active environment with an old fashioned clustered file server.  But, you would need to have more than one LUN.  Then you could create a different share on each LUN and have each LUN owned by a different file share.


    .:|:.:|:. tim

    Tuesday, June 25, 2013 10:02 PM
  • If you present a single LUN to more than one host and you are not running some sort of sharing software on each host, you will corrupt the data on the LUN very quickly.  Failover clustering protects against this.  SoFS handles this for file shares, but the description of your workload - lots of file creation and extension - points to an area of weakness for SoFS.

    However, you can still achieve an active/active environment with an old fashioned clustered file server.  But, you would need to have more than one LUN.  Then you could create a different share on each LUN and have each LUN owned by a different file share.

    Going for many LUNs means in a nutshell: steal IOPS from the system. As instead of a going system-wide striping when data is stored on as many physical spindles as possible you'll create an islands of storage with limited IOPS and bandwidth. That's a bad idea (unless performance of a single island is good enough and system is not going to scale more, both are rare things but "it could be").

    StarWind iSCSI SAN & NAS

    Friday, June 28, 2013 11:38 AM
  • Thanks to both of you for your comments.

    Let me explain further our requirements. We want to implement a workflow where we have to a share single storage LUN to multiple hosts. There will be multiple processing units which will be working on the same folder creating different files.

    For us one folder is one work items (There will be multiple of these getting created and moved all the time)

    In each folder different processes run "sequentially" generating outputs based on o/p of previous process.

    These processes will be running in VM environment on couple of ESX Server on Win 2012.

    These ESXi server are connected to SAN storage where the folders are stored

    What we would like to do is to mount each  LUN on all the VM's. This should enable each VM to see the latest status of the folders.

    Thanks in advance 

    Rohit


    Run a fault-tolerant SAN (or vSAN) over your spindles, create a big LUN combining all of them and then put failover clustered file shares your VMs will have access to. With such an approach you'll have 1) all hardware participating in as many I/O as possible 2) easy to manage approach 3) 100% fault tolerance at both block and file (share) levels. 

    StarWind iSCSI SAN & NAS

    Friday, June 28, 2013 11:40 AM