EzDevInfo.com

nlb interview questions

Top nlb frequently asked interview questions

Windows Server AppFabric Web Farm with NLB

We have the need to setup a highly available load balanced Windows Server. Is there a guide on how to setup a web farm with NLB configured? Our operations team tried to use the Web Farm Framework 2.2 to create the web farm and then configure windows NLB on the machines but we haven’t managed to get it to work. Have anyone done this before? What’s the best practice and the recommended way of doing this?

Cheers,


Source: (StackOverflow)

Joining an existing NLB cluster

I have been trying to write a powershell program that checks to see if a cluster exists. If it doesn't then it creates it and adds itself to it. If another computer wakes up, it checks to see if the cluster exists and if it does, then it adds itself to the cluster.

I'm having trouble trying to get a reference to the cluster object from the cluster ip address. Every node knows its address and the cluster address. I want to avoid every node having a list of all the other nodes in its cluster.

I'm finding that I need to sight the non-cluster ip address to get-nlbcluster to work. Specifying the cluster ip address just errors.

Is there any way I can do this, without having to update this list on every node each time I add or remove nodes from the cluster. I suppose I also want to avoid the situation where a node wakes up and has to poll each of the machines in the "master" list looking for one that is up in order to add itself to the cluster.


Source: (StackOverflow)

Advertisements

Running an Orchard CMS site behind a load balancer

I need to deploy an orchard application within a site that sits on a web farm, behind a load balancer. This seems like it would be a fairly common scenario, but I can't seem to find any guidance on how to make this work outside of Windows Azure.

The Orchard documentation describes how to deploy with multiple instances on Windows Azure. It points out three problems that must be solved, but the solutions are all Azure specific.

http://docs.orchardproject.net/Documentation/Deploying-Orchard-to-Windows-Azure

  1. Media files stored on the file system. There are also files stored in the App_Data folder, e.g. the search indexes. Won't this be a problem also? What's the best approach to solving this? Running the site off a file share? Using Windows DFS to replicate changes? I'd prefer not to use a file share
  2. Output and database caching use local memory for storage, combined with signals trigger cache invalidation on only the local server. Does the Distributed Events module solve this problem? https://orcharddistributedevents.codeplex.com/ Or perhaps the Orchard.Redis features?
  3. Session state is stored in local memory. I suppose I could enable sticky sessions on the load balancer or just use SQL Server for session state.

I found an old post (Orchard CMS on Load Balanced web servers, back on Orchard 1.1) which suggests setting the machine key setting in the web.config.

I suspect I'll run into problems with the warm-up module? And I ran across the Orchard.TaskLease module which seems to imply that there is a problem with tasks running on multiple servers when they should only run on one.

Has anyone successfully deployed Orchard in a load balanced, non-Azure environment? What modules and special configuration would you suggest to make this work?


Source: (StackOverflow)

Failed to load viewstate on NLB

We have a system which dynamically creates the controls of a page every post back and handles back using the browser history and such.

The problem is that on the production server (2 nodes on NLB) we get randomly in differnet spots with no correlation we have found, a failed to load viewstate, the control tree might be different error. However, the exact same code on our staging server (same NLB setup as production) this has never happened.

I'm basically ruling out that its code at this point, since it doesnt happen in dev/staging or local enviroments at all, where on production it is fairly frequent. This is leading me to belive we have a configuration error, somewhere.

I have set hardcoded Machine keys in the web.config that is used on staging & production, and sessions are backed on MSSQL.

If anyone has suggestions to get me going in the right direction that would be great, our entire dev team is stumped by this.

Our webconfig is here at pastbin: http://pastebin.com/m2kRTd0k


Source: (StackOverflow)

MSMQ in a server farm

We are considering using MSMQ as a message processing service in our application. What we want is - MSMQ in a farm of servers sitting behind Network Load Balancer (NLB) that distributes load among the nodes. I have the following questions for which I couldn't find any pointers online.

1) Do I need to have MSMQ installed in all nodes?
2) If so, when the sender application sends a message to MSMQ should it send to all nodes?
3) If answer to my 2nd question is yes, then when a message is received by the client application, how should the other nodes be notified about the message being received by the client and subsequently remove from them?

Would appreciate any help/pointers.


Source: (StackOverflow)

Biztalk Server 2009 - Failover Clustering and Network Load Balancing (NLB)

We are planning a Biztalk 2009 set up in which we have 2 Biztalk Application Servers and 2 DB Servers (DB servers being in an Active/Passive Cluster). All servers are running Windows Server 2008 R2.

As part of our application, we will have incoming traffic via the MSMQ, FILE and SOAP adapters. We also have a requirement for High-availability and Load-balancing.

Let's say I create two different Biztalk Hosts and assign the FILE receive handler to the first one and the MSMQ receive handler to the second one. I now create two host instances for each of the two hosts (i.e. one for each of my two physical servers).

After reviewing the Biztalk Documentation, this is what I know so far:

  • For FILE (Receive), high-availablity and load-balancing will be achieved by Biztalk automatically because I set up a host instance on each of the two servers in the group.

  • MSMQ (Receive) requires Biztalk Host Clustering to ensure high-availability (Host Clustering however requires Windows Failover Clustering to be set up as well). No loading-balancing option is clear here.

  • SOAP (Receive) requires NLB to achieve Load-balancing and High-availability (if one server goes down, NLB will direct traffic to the other).

This is where I'm completely puzzled and I desperately need your help:

  • Is it possible to have a Windows Failover Cluster and NLB set up at the same time on the two application servers?
    • If yes, then please tell me how.
    • If no, then please explain to me how anyone is acheiving high-availability and load-balancing for MSMQ and SOAP when their underlying prerequisites are mutually exclusive!


Your help is greatly appreciated,
M


Source: (StackOverflow)

Hosting custom WCF in IIS using NLB

We're in the process of trying to layout a new net topography for our system. We currently host our WCF as a windows service which exposes HTTP, HTTPS, NET TCP, and now AJAX Service endpoints...

Does anyone know if it would be possible to move our WCF into IIS while still having those same exposed end points AND take advantage of IIS Clustering and NLB? Can those exposed end points be part of the NLB? Not sure how it works, I've been doing some research but can't find anything that addresses those concerns.

I'm a little new to WCF and IIS and we're currently in the research phase of this project so any opinions or suggestions would be welcomed and greatly appreciated.


Source: (StackOverflow)

Network Load Balancing Biztalk Instances

What are some good articles/ resources to understand how load balancing is configured with Biztalk --- both in terms of inherent abilities of the product as well as employing NLB (network load balancing with Windows 2003 or later editions)?

EDIT: I am specifically interested in the impact of application protocol on load balancing? For example, how two instances of Biztalk server handle TCP/IP connections when the other party (to which Biztalk makes a connection request) doesn't allow more than one connection, etc.


Source: (StackOverflow)

asp.net, stateserver, NLB, session lost

1st post on stackoverflow, hope to have great feedback :)

I'm currently trying to load balance our web site. We have set up a 2 cluster NLB on windows server 2003 with IIS 6.

While testing the setup, I found that sometimes, our session is lost. A day and a half later, here's the result:

  1. Yes, our machine.config both have the same encryption/decryption key.
  2. Yes, the id in iis metabase.xml are the same for both machine. Actually, the entire file are the same, except for "AdminACL".
  3. Both web application are set with "StateServer" and both pointing at the same machine.

From that point, searching on google gives less information and possible solutions.

From what I know, there's no particular pattern that cause this problem. It just happen once in a while.

While trying to find the problem, I've seen that a request sent the asp session id cookie to the server, but the server didn't map it to the user session.

So the request number x was sent from the client, with the cookie, session was mapped, and everything went smoothly. The request number x+1 was sent from the client, with the cookie, but session was not found.

Both request were made on the same machine in the NLB.

Here's a snippet of the asp trace.axd:

1st request:

Request Details Session Id: j2ffvy45updpc52uhw1mbg55 Request Type: GET Time of Request: 11/26/2008 2:58:06 PM Status Code: 200 Request Encoding: Unicode (UTF-8) Response Encoding: Unicode (UTF-8)

Request Cookies Collection

Name Value Size

ASP.NET_SessionId j2ffvy45updpc52uhw1mbg55 42 AID 22 9

Response Cookies Collection

Name Value Size

Headers Collection

Name Value

Cookie ASP.NET_SessionId=j2ffvy45updpc52uhw1mbg55; AID=22

2nd Request:

Request Details Session Id: Request Type: POST Time of Request: 11/26/2008 2:58:08 PM Status Code: Request Encoding: Unicode (UTF-8) Response Encoding:

Request Cookies Collection

Name Value Size

Response Cookies Collection

Name Value Size

Headers Collection Name Value Cookie ASP.NET_SessionId=j2ffvy45updpc52uhw1mbg55; AID=22

As you can see in the 2nd request, the cookie is sent from the client, but asp seems to never add the cookies in it's "Request Cookies Collection". I think that's why it doesn't find the session.

So why the cookie is not mapped to the session? Is that the problem? Is the problem elsewhere?

Feel free to ask any clarifications.

Thank you all for your feedback.

JF


Source: (StackOverflow)

Why does one need to implement the serializable interface? [duplicate]

This question already has an answer here:

Out of the many things that we did to fix the issue of sticky session one was to make the session attributes implement the serializable interface. Now could someone explain it to me in layman terms what happens when this interface is implemented? what behavioural changes are observed in a class which implements this interface?


Source: (StackOverflow)

Authentication on CRM 2013 with NLB

I have a problem of authentication on a vanilla CRM2013 installed on a NLB. The crm 2013 is working correctly if i use the ip address of the NLB, but if i try to access the NLB using is unique name, it's prompting for credentials and is not authenticating the user (the user is the one that i used for the setup process). Anyone has ever seen something like this? I try to fiddler the request and beside a small difference in a cookie request in the header to me they look the same. Also if i ping the unique name of the NLB it responds with the correct ip address. The last test that i did was add the name in the host file, and i had the same problem (no authentication), looks like is managing to get to the server but it fails to authenticate. I tried to use localhost address and it worked (on both the single servers), and it worked with the name of the 2 servers that are part of my cluster, it worked with the ip of those servers too. Anyone has any idea why with the ip address of the NLB everything is working as i expect and as soon as I use the name is not working?

Recap:

Address         |Status
-------------------------
CRM1.com        |working
192.168.1.CRM1  |working
CRM2.com        |working
192.168.1.CRM2  |working
192.168.1.NLB   |working
NLB.com         |not working

Obviously this is sample data, and I know that with the single server i will not use the NLB, I was expecting to have issues with both the Ip and the servername, not with just one of them.


Source: (StackOverflow)

Binding NLB to an interface

I have NLB installed and set up. I get the interface data like so:

Get-NlbClusterNodeNetworkInterface



InterfaceName       : quanet
   NlbBound            : False
   Cluster             :
   DhcpEnabled         : False
   InterfaceIP         : 10.165.250.206
   InterfaceSubnetMask : 255.255.0.0
   ClusterPrimaryIP    :
   ClusterSubnetMask   :

   InterfaceName       : cluster
   NlbBound            : False
   Cluster             :
   DhcpEnabled         : False
   InterfaceIP         : 172.16.1.206
   InterfaceSubnetMask : 255.255.255.0
   ClusterPrimaryIP    :
   ClusterSubnetMask   :

I would like to use Powershell to set NlbBound to true. Needless to say setting the property doesn't work. e.g

   $x = Get-NlbClusterNodeNetworkInterface
   $x[1].nlbbound = $true
   $x = Get-NlbClusterNodeNetworkInterface
   echo $x[1].NlbBound
   False

I want to avoid having to explicitly set the property in the Network adaptor settings because this functionality will live in a script. I'd also like to avoid using WMI if possible.

According to the Get-Member cmdlet the NlbBound property is setible:

Get-Member -InputObject $x[1]

   TypeName: Microsoft.NetworkLoadBalancingClusters.PowerShell.NetworkInterface

Name                MemberType Definition
----                ---------- ----------
Equals              Method     bool Equals(System.Object obj)
GetHashCode         Method     int GetHashCode()
GetType             Method     type GetType()
ToString            Method     string ToString()
Cluster             Property   System.String Cluster {get;set;}
ClusterPrimaryIP    Property   System.String ClusterPrimaryIP {get;set;}
ClusterSubnetMask   Property   System.String ClusterSubnetMask {get;set;}
DhcpEnabled         Property   System.Boolean DhcpEnabled {get;set;}
InterfaceIP         Property   System.String InterfaceIP {get;set;}
InterfaceName       Property   System.String InterfaceName {get;set;}
InterfaceSubnetMask Property   System.String InterfaceSubnetMask {get;set;}
NlbBound            Property   **System.Boolean NlbBound {get;set;}**

Source: (StackOverflow)

WMI Network Load Balancing (NLB) - Enumerate multiple ClusterIP Addresses

I have some existing C++ COM code that uses the WMI MicrosoftNLB_Node class to get a single cluster ip address.

I have now added a second IP address to the cluster, and that seems to be working fine (in networking terms).

How can I enumerate all the Cluster IP addresses? None of the WMI NLB objects seem to support an array or other enumerable data item to get the multiple IP addresses.

I have used WMI Explorer to browse the available objects, but can't find one with the required attributes.


Source: (StackOverflow)

how to write a powershell script for load balancing using NLB

I am doing octopus deployment using team-city on servers that are load balanced. I want to write a powershell script so I can do the load balancing of servers in a powershell predeploy script before octopus deploy a site. Also then want to use post deploy script to put back the server. Any idea how can i write as new to powershell.
using teamcity, octopus, windows server12.

many thanks


Source: (StackOverflow)

Active-Active high availability design for Windows messaging service?

I'm trying to figure out what's the best way to design a active-active cluster that uses a replicated database. For network load balancing and failover, I can use Windows NLB. For database, I can use MySQL which can do master-master replication out of the box. This is the simple part.

Now my problem is how to program the messaging service, which is connected to a replicated database. What is the best way to go about designing it so that both services work with the same tables without conflict? On failure, the uncompleted transactions from the failed node must be assumed by the other node.

Here is how the messaging service works. Web clients will call the web service with a recipient and a message. The web service will insert the message into the database queue. When a specific condition is met, the message will be transmitted. This could happen within seconds or after a couple of days.

I've done extensive searches on the Internet but to no avail. Has anyone done something similar? Thanks.


Source: (StackOverflow)