RSS Subscription 122 Posts and 1,275 Comments

Exchange 2010 RPC Client Access Service and Multiple Sites

A common question I see out there is if the RPC Client Access Service (including Client Access Service Arrays) can access databases in other sites. The answer is, yes. Let’s take a look at a couple scenarios.

Scenario #1 – Full Site Failure

Let’s say you have a Client Access Server Array called array.domain.com.  Primary Site goes down.  As a part of the manual site switchover process, you must update the DNS records in your Primary Site to point to the CAS infrastructure at your DR Site.  One out of several DNS records you change will include the CAS Array. You change array.domain.com to point to DRSiteCAS instead of PrimarySiteCAS.  The client (after the DNS record flushes – recommended for TTL value to be 5 minutes for DNS records in site resilient solutions) will then start to connect to the DRSiteCAS which will then access the database in the DR Site.

Scenario #2 – Server Failure(s) in Primary Site and Disabling Automatic Activation for Databases and Servers

In the case where all database copies go down in the Primary Site, your databases can automatically failover to the DR Site as long as you allow automatic activation on the DR Servers (yes, you can turn off automatic activation on databases and servers) and as long as you still have Majority for your Quorum. In this scenario, the RPC Client Access (and array) can access the mailbox databases that are mounted in the DR Site.

Automatic Activation

As I just eluded to above, it is possible to turn off automatic activation on databases and servers. There is something called Database Activation Policy.  Let’s say you wanted to disable a specific database from being considered in the Automatic Activation Process.

You can use the following command to prevent the database from being considered in the Automatic Activation Process:

Suspend-MailboxDatabaseCopy -Identity DB1\MBX2 -ActivationOnly

This example resumes the copy of the database DB1 on the server MBX2 for automatic activation:

Resume-MailboxDatabaseCopy -Identity DB1\MBX2

This is also possible to do at the mailbox server level using the Set-MailboxServer cmdlet.  You can use the following command to prevent any databases on a specific mailbox server from being considered in the Automatic Activation Process:

Set-MailboxServer -Identity MailboxServer -DatabaseCopyAutoActivationPolicy Blocked

This example resumes all database copies on the mailbox server “MailboxServer” for automatic activation:

Set-MailboxServer -Identity MailboxServer -DatabaseCopyAutoActivationPolicy Unrestricted

Example

Let’s say we have 6 DAG Servers with 4 in the Primary Site and 2 in the DR Site with no modifications to the Automatic Activation Policy (DAG Servers in the DR Site can automatically mount databases).  Let’s say, we currently have a lack of funds for storage which prohibit the ability to have mailbox database copies on all servers.  So PrimarySiteMBX01 and PrimarySiteMBX02 in the Primary Site are mirrored in terms of mailbox database copies.  PrimarySiteMBX03 and PrimarySiteMBX04 in the Primary Site are mirrored in terms of database copies.  PrimarySiteMBX01 and PrimarySiteMBX02 are mirrored with SecondarySitMBX0102 in the DR Site and PrimarySiteMBX03 and PrimarySiteMBX04 are mirrored with SecondarySiteMBX0304 in the DR Site.

To make it a bit more clear, the following image shows database distribution.  You can see there are 6 nodes and 3 copies of each database.

Should PrimarySiteMBX01 and PrimarySiteMBX02 go down (as illustrated below), SecondarySiteMBX0102 can automatically mount the database because majority is still there for quorum.  In this case, the RPC Client Access Array in the Primary Site will still successfully be able to provide mailbox access to the databases mounted on SecondarySiteMBX0102 in the DR Site.  This is one of the nice things I like about Exchange 2010 High Availability, is that if your DAGs go down, you can allow the copy in the DR Site to automatically activate (provided the Database Activation Policy as described above allows it to automatically mount) whereas in Exchange 2007, you had to manually activate any SCR copy.

Exchange 2007 and Exchange 2010 Clusters both use Majority Node Set Clustering.  This means that 50% of your votes (server votes and/or 1 file share witness) need to be up and running.  With DAGs, if you have an odd number of DAG nodes in the same DAG (Cluster), you have an odd number of votes so you don’t have a witness.  If you have an even number of DAGs nodes, you will have a file share witness in case half of your nodes go down, you have a witness who will act as that extra +1 number.

So in this scenario, we have 6 votes from the servers plus 1 witness from the file share witness totaling 7 votes.  This means we can have up to 3 servers fail and our cluster will still be online.  This is because if you are in the scenario where we 7 votes, if 3 go down that leaves us with 4 votes which satisfies the 50% + 1 majority rule. Because of this, we still have majority and our quorum and cluster are still fully operational.

Now when exactly would we have to do a manual switchover?  Well, there’s a couple cases.  The first would be if your Primary Datacenter has a complete outage.  This may be due to power failure, environmental disaster, etc…  The other is because all Primary Datacenter DAG members go down or just enough servers go down (again, 50% + 1 voters must be up which means if we lose more than 3 machines (includes FSW), our entire cluster goes offline.  In this case, you’ll have to do a manual datacenter switchover.  You’ll move over all services to the secondary datacenter including changing the RPC Client Access Server FQDN to point to the single CAS Server or the standby VIP that publishes RPC across multiple Secondary Datacenter CAS Servers.

  • Share/Bookmark

This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.

18 Responses to “Exchange 2010 RPC Client Access Service and Multiple Sites”

  1. [...] Exchange 2010 RPC Client Access Service and Multiple Sites | Elan … [...]

  2. [...] Service and Multiple Sites | Elan Shudnow’s Blog Posted on March 5, 2010 by johnacook http://www.shudnow.net/2010/03/04/exchange-2010-rpc-client-access-service-and…; Possibly related posts: (automatically generated)Uncovering the new RPC Client Access Service in [...]

  3. [...] Exchange 2010 RPC Client Access Service and Multiple Sites | Elan Shudnow’s Blog [...]

  4. [...] Service and Multiple Sites | Elan Shudnow’s Blog Posted on March 8, 2010 by johnacook http://www.shudnow.net/2010/03/04/exchange-2010-rpc-client-access-service-and…; Possibly related posts: (automatically generated)Uncovering the new RPC Client Access Service in [...]

  5. on 10 Apr 2010 at 7:02 ambiblo

    Hi Elan;Thanks for great article.

    I just have a question about cas server in multiple active directory scenario.

    I have two sites exchange 2010.Both of them has cas and mailbox server.But only sitea cas server is internet facing.So i enabled outlook anywhere on sitea cas server.If a site a user tries to connect from external, outlook anywhere working fine.

    On the other hand because of siteb cas server is intranet facing, i set the authentication method integrated authentication instead of fba.So When a siteB user make a owa attempt, siteA cas server prxying this attemp to the intranet cas server.

    By the way i installed a certificate from local ca to the siteA Cas Server.And no certificate for siteB cas server.Just default ceritificate.

    But i need to know that, what happens when siteB user tries to connect outlook anywhere.He will find the siteA cas server.But this SiteA cas server will not proxy this connection attempt for rpc.

    Is this SiteA internet-facing cas server will communicate directly siteb mailbox server for siteb user?

    Or when a customer has 2 active directory sites and only one internet facing cas server, how will i configure outllok anywhere for both sites?

  6. on 10 Apr 2010 at 12:36 pmeshudnow

    The Internet Facing CAS SErver for Outlook Anywhere will make a direct Mailbox Server connection. Look at the following article at the Summary of Client Access Methods at the bottom:http://technet.microsoft.com/en-us/library/bb3107...

    You will see that Outlook Anywhere doesn't do any proxying but it does make a direct Mailbox Server connection via RPC.

    Autodiscover is smart enough to assign the FQDN of the Internet Facing CAS Server even if they are in an intranet facing site as the Outlook Anywhere Endpoint for a user's Outlook 2007/2010 profile. In fact, if you had 5 internet facing sites and 5 intranet facing sites around the world, Autodiscover is even smart enough to look at your AD Sites and look at your Site Link architecture to determine whcih is the closest Internet Facing Site to assign to the non-internet facing user's Outlook profile.

  7. on 10 Apr 2010 at 6:14 pmbiblo

    Thanks for info.I have only one internet facing cas and one intranet facing cas on another site.
    I didn't configure autodiscover on external dns.But clients rpc over https configuration tabs are configured to use my internet facing cas.
    You mean that , with this kind of configuration there is no additional step , users from siteb will use sitea cas server as outlook anywhere, and this sitea cas server will directly comminicate siteb mailbox server?

    Well, do ı have to configure intranet cas server to use my certificate or it doesn't matter? Only internet facing cas must be configured with this certificate?

  8. on 11 Apr 2010 at 2:24 pmeshudnow

    Well, again, look at that article. It talks about EVERY service in an internet facing and non-internet facing situation. The Outlook Anywhere will do a direct connection but all the other services do CAS to CAS proxying which means that certificates are indeed important. Clients connect via Autodiscover to the Internet Facing Sites, get the ExternalURL property of your Internet Facing CAS Servers, then HTTP Services (other than Outlook Anywhere) will proxy to the non-internet facing CAS via the InternalURL. This means that the certificate in the non-internet facing CAS Site must contain the InternalURL FQDN.

  9. on 11 Apr 2010 at 5:45 pmbiblo

    thanks.i'll give it a try tomorrow.

  10. on 13 Apr 2010 at 6:29 ambiblo

    Hello again elan.
    It works great thanks alot.I have another interesting question.
    —–
    i have two sites.
    Each site has exc 2010 mailbox and cas server.Only one cas server is internet -facing.
    When a site1 user(mailbox is resides on site1) goes to site2 location and logon to this domain, his outlook connection status showing site1 cas server for directory and mail.
    is this normal? i would now that when a user goes toı another site that has cas server, all outlook connections goes over this site’s local cas server.
    But in my environment according to outlook connections status, each client connecting their mailboxes which resides on different site, over remote their cas server.—

  11. on 19 May 2010 at 11:27 amBruce

    Hi Elan;Thanks for great article.

    I just have a question about cas server in multiple active directory scenario.

    I have two sites exchange 2010.Both of them has cas and mailbox server.But only sitea cas server is internet facing.So i enabled outlook anywhere on sitea cas server.If a site a user tries to connect from external, outlook anywhere working fine.

    On the other hand because of siteb cas server is intranet facing, i set the authentication method integrated authentication instead of fba.So When a siteB user make a owa attempt, siteA cas server prxying this attemp to the intranet cas server.

    By the way i installed a certificate from local ca to the siteA Cas Server.And no certificate for siteB cas server.Just default ceritificate.

    But i need to know that, what happens when siteB user tries to connect outlook anywhere.He will find the siteA cas server.But this SiteA cas server will not proxy this connection attempt for rpc.

    Is this SiteA internet-facing cas server will communicate directly siteb mailbox server for siteb user?

    Or when a customer has 2 active directory sites and only one internet facing cas server, how will i configure outllok anywhere for both sites?

  12. on 27 May 2010 at 11:46 amUna

    Hi Elan,

    I have a question regarding CAS Array failure. If a CAS in site A or, if you're very unlucky, all servers in your CAS array fail at the same time in site A but your active mailboxes are still on servers located in site A. What will happen to the outlook clients? They are configured for cached mode so they'll have access to historical data but will lose their RPC connection but Public folders should still be ok?

    My question is, in order to utilise the CAS or CAS Array in site B, will you have to fail over the active databases to site B and reconfigure the RPC Client Access endpoint to be the active databases in site B? Using Autodiscover the clients will then reconnect to the CAS / CAS Array in site B?

    Alternate solution is to configure Outlook to connect using HTTP on slow connections and update external DNS to point to CAS/CAS array in site B? The second option obviously ensures access for remote users too but wondering about option 1 as well.

    Many Thanks
    Una

  13. on 24 Jun 2010 at 1:55 amAbdulAziz

    in each AD site where you have a mailbox role, you need to have a CAS server/array. So if none of the CAS servers are available in an AD site, Outlook client will fail to connect.

    Therefore, as you've mentioned, the DAG will need to be failed over and the Site A CAS array DNS record pointed to the CAS array in Site B. Since the outlook profile is configured to connect to Sie A CAS array, once the DNS cache is flushed (say after 5 minutes), Outlook should start connecting via CAS in Site B using the same namespace.

  14. on 26 Jun 2010 at 3:50 amyuryk

    Hi Elan,
    Thanks for a great post – but I do have one question.
    You've started talking about what happens if my entire primary datacenter fails – the question is what happens to the SecondarySiteMBX0102 (in this case)?
    I mean, it loses conenction the the FWS and to the other active roles – wouldnt he auto mount the DB's?
    and lets make it even more complicated – lets say that the primary datacenter is still active, but connection between the two sites is down – would i have a brain split?

  15. on 29 Jun 2010 at 4:39 pmeshudnow

    The Secondary Site will lose Quorum. Remember, in a Majority Node Set Cluster Mode, in order for the cluster service to be operational, you need to have (n / 2) + 1 nodes to be operational which includes the FSW. n stands for number of Mailbox Server Nodes. You'll always have the FSW and the majority of the nodes in the primary. Because of this, if the Primary Site goes offline, the entire cluster goes offline which includes the secondary site. This will require manual failover to the secondary site. The same happens for WAN outage. The secondary site doesn't have majority so its cluster services begin to fail.

  16. on 02 Jul 2010 at 3:11 amFrost

    wonderful post.

    I have a scenario now and i sincerely hope you can help me.
    A forest with multiple domains and i have an exchange server 2010 in Singapore with 2 hub/cas in a NLB and 2 mailbox servers. And these Exchange servers serves the Asia Pacific region users from different AD site. i have created a new array:
    new-ClientAccessArray -name SingaporeCAS -fqdn cas.singapore.domain.com -Site Singapore

    However, I have Malaysia AD site (and others), what do i need to do so that they can those users can point to the server for autodiscover and automatically map those users at Malaysia to the CAS array server?

    Thank you.

  17. on 02 Jul 2010 at 1:49 pmElan Shudnow

    So the way the user's connect to their RPC Client Access Array is what is stamped on their database. You can see what I mean here: http://www.shudnow.net/2010/04/18/creating-databa...

    So if you have a single DAG and you want to host active databases in both, just create two RPC Client Access Arrays and for the databases that will live in a specific site, just stamp those specific databases with the correct RPCClientAccessServer Parameter.

    You can also look into something called Autodiscover Site Affinity if you want to scope requests for a specific location to specific CAS Servers. I also blogged about that topic here: http://www.shudnow.net/2008/08/24/configuring-exc...

  18. on 04 Jul 2010 at 8:32 pmyuryk

    Got it, I also just read your post about DAC which also helps to figure it out.
    Thanks!

Trackback this post | Feed on Comments to this post

Leave a Reply