You'll want to do some testing, but if the RpcClientAccessArray attribute on the DBs is casarray1, then your clients will hit casarry2 and immediately want to redirect and connect to casarray1 even if it is down.Brian Day, Overall Exchange & AD Geek
MCSA 2000/2003, CCNA
MCITP: Enterprise Messaging Administrator 2010
Microsoft MVP, Exchange Server
We have configured the 3 IP address from primery site with priority 1 so it will never go to other 2 ip adresses as long as 1 of primery site IP is up.
But when all 3 Ip addreses from primery Site are down ( site failure) then it will go to 2 ip addreses from my secondary site and that is what i am trying to accomplish. So if they hit cassarray2 and connect to casarray1 then again they will be redirected to my secondary site. Is this Ok ? I will test this for sure but i was trying to get some opinion or expiriance about this kind of settings.
casarray2 10.10.10.100 - ip address of HW balancer
HW balancer is balancing to:
10.10.10.101 primary site priority 1
10.10.10.102 primary site priority 1
10.10.10.103 primary site priority 1
10.10.20.101 secondary site priority 2
10.10.20.102 secondary site priority 2
RPCClientAccessServer is set to casarray1 on all databases.DNS name that clients will use is casarray1.All database are ponting to casarray1 so user request will go to HW load balancer . IF any of primary site IP is up then CAS server in primary site will respond and connect the user to correct database. If all 3 IP adress in primary site are down then it will go to one of CAS servers in secondary site and make the connection.I know that i can do this with DNS change but i am trying to avoid this.Also i am trying to avoid using different load balancer for secondary site.In case of full DR in primary site ( including HW load balancer that is in primary site but different location) then my plan is to make DNS change and point casarray1 to one of secondary site CAS server.Casarray2 is not used at this moment but my plan was if I have database in future that has this value set for RPCClientAccessServer then to use the same logic as above.Majority of users are in primary site.
I think we have to manaully modify the RPCclientaccess value on the mailbox database when primay site is down.
If we do not have value set on RPCclientaccess, then it will always try to connect the first CAS server.If first CAS server fail, it will not try to connect to the other CAS servers.
Although we have set priority on HLB, it will not try to connect to those CAS server, if the CAS1(CAS array created in primary datacenter) is down, it will not failover to the CAS server in secondary datacenter.
CAS1 is DNS record pointing to HLB. All clients connecting to CAS1. In behind i am balancing CAS1 to 3 CAS servers in primary site ( priority 1) and 2 CAS servers in secondary site ( priority 2).
Clients are going to CAS1 and if all 3 CAS servers in primary site are down it will be redirected to CAS server in secondary site.
So CAS1 as per client perspective is not down even if all 3 CAS servers in primary site are down ( it will be redirected to secondary site CAS's).I am just trying to avoid changing CAS1 dns record to point to secondary site CAS server in case of CAS failure in primary site.
Are you trying to say that clients will somehow know that CAS1( all members in primary site) are down? My understading was that they will go to HLB and if they get response from some CAS server in behind everything is OK.
Please understand that we use RPCclientaccess parameter to let it know that which CAS it need to use. If you do not have value on RPCclientaccess on the database, then user in this database will try to use the first installed CAS to try to find the mailbox.
For your scenario, when 3 CAS servers in primary datacenter come down, it will not try to connect the other 2 CAS in seconday datacenter. Becasue, we set RPCclientaccess value as CAS1, it will always try to find CAS in CAS1 to connect to the mailbox.
Note: When you try to connect to the mailbox, it will try to connect to GC and find the user properties and find the value on homeMDB. After that, it will try to query the legacyExchangeDN value on database. value for legacyExchangeDN should contain the CAS server/CAS array there.
Well i have finally tested this scenario in production and it is working.
We have marked 3 primary site CAS servers as down in our HLB and Outlook connection was restored throw CAS server in secondary site.
So even if all 3 CAS servers are down it will go to CAS server in secondary site because CAS1 is a stupid IP address of VIP in HLB and the HLB is configured when 3 ip address in primary site are down to go to CAS servers in secondary site.
Thanks for posting this scenario here. We are just about to configure something similar. Just to be clear:
You have two cas arrays, with one in each site. Each cas array points to the same ip address of your HLB virtual server.
If you take down every CAS in the primary site cas array, all your clients are pointed to the secondary site via the HLB.
This scenario makes more sense than manually changing the RPCClientAccessServer parameter every time you need to failover. I suppose the only time you'd need to manually change something is if your loadbalancers were down for any reason. In that case, I'd probably change the DNS before I would rehome everyone's client access server.
Sorry for late answer. In case both of HLB dies ( we have HLB in cluster) then you have to make changes manually. For example in my DR procedures i am changing the DNS Host record that is pointing to HLB VIP address to point to one of CAS servers in DR site.If you have some HLB or WNLB there then you should point to that VIP address.