I want to configure file server in MS Windows Server 2012 R2 environment, which would load balance traffic.
I have got a SAS disk array with 2 SAS controllers which is connected to 2 Hyper-V cluster nodes by 4 redundant SAS multipaths:
controller1 <-> node1, controller1 <-> node2,
controller2 <-> node1, controller2 <-> node2.
I don't know whether the SAS load balancing would be noticable if I would NOT balance the network, which means, that just one server on the network would handle all file I/O requests. Balancing network seems to be complicated, beacuse I don't want to have 2 file servers with identical copy of data (redundancy is guaranteed on RAID level of disk array). What I want is one bunch of data split to two disjoint scopes, each one on separate file server (each virtual server on one node of cluster), which would act as a single server or SMB share.
User shloudn't know which data is on server A or B, the SMB path should be something like \\domain.com\home\username
or \\domain.com\share\department
and homes or departments should be distributed across two servers (for example those starting with "A-P" on first and the rest on the second one).
I have a central network core switch and each cluster node has 5 GB/s aggregated link to it. The rest of the network is connected to this switch (each access switch is connected by 2 GB/s link, clients are connected by 1 GB/s link).
My questions are:
- If I don't do network load balancing and keep SAS load balancing, would the SAS load balancing be noticeable or not?
- Is there some network load balancing clustering technique by which I would achieve mentioned results?
- I know that there are many factors which depends on specific situation (such as maximum number of simultaneous connections or frequency of separate, possibly short connections; whether read operations are dominant etc. etc.), but are there any general best practices I should respect?
- Isn't the easiest (and possibly the best one) way to don't load balance anything and have simple management?
EDIT:
Thank you very much! Actually DFS was one of the first think I have searched for, but I have ended up with a result that what I want is impossible with DFS.
After playing with it for a while, I have following configration:
One DFS namespace HOME, both file servers added to it as a namespace servers, so on each there is share named "home" physically under "C:\DFSRoots\home". On each server also have a hidden basic shared folder named "home$", physically placed in disk array. In hidden share of first server I see one half of HOMEs on the other the rest of HOMEs. In home DFS share (of both servers) I see only links (distributed to hidden shares), but to all of HOMEs.
When a client conntacts the root (\domain.com\root) one of DFS namespace servers responds to a client. In my situation it is allways the same server, because I have only one site. But it doesnt matter, because it only lists content of a DFS root. When then client navigates to one of the listed links, DFS estabilishes connection with hidden folder target, which is one of the servers, so then load balancing is accomplished.
Is this configuration correct, optimal?
And the last question is: How much faster is SAS generally compared to LAN (for example 5GB/s aggregated by LACP)?