<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.dirteam.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Dave Stork's IMHO : High Availability</title><link>http://blogs.dirteam.com/blogs/davestork/archive/tags/High+Availability/default.aspx</link><description>Tags: High Availability</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Simplifying the OWA URL with Citrix Netscaler</title><link>http://blogs.dirteam.com/blogs/davestork/archive/2012/12/24/simplifying-the-owa-url-with-citrix-netscaler.aspx</link><pubDate>Mon, 24 Dec 2012 12:16:00 GMT</pubDate><guid isPermaLink="false">4afa41f1-c118-406e-beda-ba054a9f6c33:6708</guid><dc:creator>dmstork</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.dirteam.com/blogs/davestork/comments/6708.aspx</comments><wfw:commentRss>http://blogs.dirteam.com/blogs/davestork/commentrss.aspx?PostID=6708</wfw:commentRss><description>&lt;p&gt;Next to Content Switching (which I recently &lt;a target="_blank" href="http://blogs.dirteam.com/blogs/davestork/archive/2012/12/21/loadbalancing-exchange-2010-with-citrix-netscaler-using-content-switching.aspx"&gt;wrote a post about&lt;/a&gt;), Citrix Netscalers can also do URL Rewrites. This enables us to simplify the OWA URL.&lt;/p&gt;  &lt;p&gt;First, be sure the Rewriting option is enabled by going into System, then Settings and choose Configure Basic Settings. Check the tick box for Rewrite&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.dirteam.com/blogs/davestork/image_31A98C97.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" width="238" height="244" src="http://blogs.dirteam.com/blogs/davestork/image_thumb_63A12D21.png"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;After this, first make an Rewrite Action by going to Rewrite&amp;gt;Actions and add an Action. Give it a comprehensive name and set the type to REPLACE. In the Expression the following should be used:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;http.REQ.URL&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;In the String expression for replacement text, the following value should be used:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;“/owa/”&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Be sure to type it in and not copy it from this blog, otherwise it could not workd correctly. The screenshot below shows the value as mentioned before. Click Create to create the Rewrite Action and click Close to close the window.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.dirteam.com/blogs/davestork/image_1598CDAC.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" width="386" height="420" src="http://blogs.dirteam.com/blogs/davestork/image_thumb_5C81F0A9.png"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now you can create a Rewrite Policy by going to Rewrite&amp;gt;Policies and then click add…&lt;/p&gt;  &lt;p&gt;Again, give it a sensible name and be sure the Action is set to the earlier created Rewrite Action (in the screenshot below Rewrite_Action_OWA). &lt;/p&gt;  &lt;p&gt;For the Expression, use the following:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;http.REQ.URL.EW(“/”)&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Again, type it and do not copy and paste. Finally, press Create and Close. This Rewrite Policy now checks for URL's which use the root path / and will replace it with /owa/.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.dirteam.com/blogs/davestork/image_3C66E3EC.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" width="387" height="239" src="http://blogs.dirteam.com/blogs/davestork/image_thumb_035006EA.png"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;But in order to make it happen, the policy has to be enabled somewhere. In this case I bind it to a Load Balancing Virtual Server already previously made (see &lt;a target="_blank" href="http://blogs.dirteam.com/blogs/davestork/archive/2012/12/21/loadbalancing-exchange-2010-with-citrix-netscaler-using-content-switching.aspx"&gt;this blog post&lt;/a&gt;). This has to be the Virtual Server which is responsible for (at least) Outlook Web Access.&lt;/p&gt;  &lt;p&gt;Open the Virtual Server, go to the Policies Tab and press the Rewrite (request) button. Right-click in the window and choose Insert Policy. Choose the previously made Rewrite Policy as shown below:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.dirteam.com/blogs/davestork/image_6334FA2C.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" width="391" height="373" src="http://blogs.dirteam.com/blogs/davestork/image_thumb_2A1E1D2A.png"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;And voila! Now every user entering &lt;a href="https://webmail.contoso.com/"&gt;https://webmail.contoso.com/&lt;/a&gt; will be directed to &lt;a href="https://webmail.contoso.com/owa/"&gt;https://webmail.contoso.com/owa/&lt;/a&gt; without a fuss! And because the policy triggers only on the root, directly using /owa, or /ecp for that matter, will also work.&lt;/p&gt;        &lt;p&gt;&lt;a href="http://blogs.dirteam.com/blogs/davestork/image_5C15BDB4.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" width="395" height="377" src="http://blogs.dirteam.com/blogs/davestork/image_thumb_50EC336A.png"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;How about HTTP to HTTPS redirection? &lt;/p&gt;  &lt;p&gt;That is not done via Rewrites, but there are more ways than one. Make a Load Balancing Virtual Server, listening on port 80 and as IP address the Virtual IP used for OWA. You do NOT check any services. Instead go to the Advanced Tab and in the Redirect URL enter HTTPS:// with the virtual IP used for Webmail. Press Create and close. Do remember to enable traffic over TCP port 80 towards the Netscaler, otherwise this won’t work. This is also described in the &lt;a target="_blank" href="http://community.citrix.com/download/attachments/37847055/NetScaler_Exchange2010.pdf"&gt;Netscaler Deployment guide&lt;/a&gt; and depicted in the image below:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.dirteam.com/blogs/davestork/image_02E3D3F5.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" width="401" height="383" src="http://blogs.dirteam.com/blogs/davestork/image_thumb_34DB747F.png"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you are also using Content Switching, you can also make a Content Switching Virtual Server accepting traffic on port 80 and again using the OWA Virtual IP. As a target the Load Balancing Virtual Server using port 443 should be used (that can be used multiple times as a target. Description how it was made in &lt;a target="_blank" href="http://blogs.dirteam.com/blogs/davestork/archive/2012/12/21/loadbalancing-exchange-2010-with-citrix-netscaler-using-content-switching.aspx"&gt;this blog post&lt;/a&gt;). This is shown in the image below:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.dirteam.com/blogs/davestork/image_29B1EA35.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" width="406" height="359" src="http://blogs.dirteam.com/blogs/davestork/image_thumb_0996DD78.png"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You should make duplicate Content Switching policies, as they can only be used once. The Expression however, is exactly the same as the Content Switching Policy used in the Content Switching Virtual Server using SSL. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.dirteam.com/blogs/davestork/image_3B8E7E02.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" width="405" height="193" src="http://blogs.dirteam.com/blogs/davestork/image_thumb_0277A100.png"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;Now every user will be directed to the correct URL, whether they use &lt;a href="http://webmail.contoso.com"&gt;http://webmail.contoso.com&lt;/a&gt;, &lt;a href="https://webmail.contoso.com/"&gt;https://webmail.contoso.com/&lt;/a&gt; or &lt;a href="http://webmail.contoso.com/owa/"&gt;http://webmail.contoso.com/owa/&lt;/a&gt; .&lt;/p&gt;&lt;img src="http://blogs.dirteam.com/aggbug.aspx?PostID=6708" width="1" height="1"&gt;</description><category domain="http://blogs.dirteam.com/blogs/davestork/archive/tags/Exchange/default.aspx">Exchange</category><category domain="http://blogs.dirteam.com/blogs/davestork/archive/tags/Exchange+2010/default.aspx">Exchange 2010</category><category domain="http://blogs.dirteam.com/blogs/davestork/archive/tags/Management/default.aspx">Management</category><category domain="http://blogs.dirteam.com/blogs/davestork/archive/tags/High+Availability/default.aspx">High Availability</category><category domain="http://blogs.dirteam.com/blogs/davestork/archive/tags/Load+Balancing/default.aspx">Load Balancing</category></item><item><title>Load balancing Exchange 2010 with Citrix Netscaler using Content Switching</title><link>http://blogs.dirteam.com/blogs/davestork/archive/2012/12/21/loadbalancing-exchange-2010-with-citrix-netscaler-using-content-switching.aspx</link><pubDate>Fri, 21 Dec 2012 17:45:00 GMT</pubDate><guid isPermaLink="false">4afa41f1-c118-406e-beda-ba054a9f6c33:6697</guid><dc:creator>dmstork</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.dirteam.com/blogs/davestork/comments/6697.aspx</comments><wfw:commentRss>http://blogs.dirteam.com/blogs/davestork/commentrss.aspx?PostID=6697</wfw:commentRss><description>&lt;p&gt;Next to &lt;a href="http://www.f5.com/" target="_blank"&gt;F5&lt;/a&gt;, &lt;a href="http://www.kemptechnologies.com/nl" target="_blank"&gt;KEMP technologies&lt;/a&gt; and a lot of other network load balancing vendors there’s also &lt;a href="http://www.citrix.com/products/netscaler-application-delivery-controller/overview.html" target="_blank"&gt;Citrix with it’s Netscaler brand&lt;/a&gt;. Especially when an environment also has Citrix servers, it could mean that well scaled Netscaler devices are present and can also be used for other purposes next to Citrix Secure Gateway access. Obviously Exchange 2010 comes to mind.&lt;/p&gt;  &lt;p&gt;Citrix already has a very helpful &lt;a href="http://community.citrix.com/download/attachments/37847055/NetScaler_Exchange2010.pdf" target="_blank"&gt;Netscaler Exchange 2010 deployment guide (PDF warning)&lt;/a&gt;. But unfortunately that guide is not always something one can implement exactly. For instance, in the guide Citrix uses an unique IP address for each separate protocol, which is not always possible if these are limited.&lt;/p&gt;  &lt;p&gt;However, all or most Netscalers also provide Content Switching and with this you only have to use one IP but also have optimized settings for persistence/affinity and time-out for all protocols using the same TCP port (HTTPS). For some background information around persistence for Exchange 2010,&lt;a href="http://blogs.technet.com/b/mikehall/archive/2012/09/05/why-the-correct-load-balancing-persistence-is-so-important-in-exchange-server-2010.aspx"&gt; check this article&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;First create the services as described in the Citrix Deployment guide. You make one per physical server for each specific service, like HTTP (Load Balancing&amp;gt;Services&amp;gt;Add&amp;gt;):&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.dirteam.com/blogs/davestork/image_5640CAF8.png"&gt;&lt;img width="406" height="287" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://blogs.dirteam.com/blogs/davestork/image_thumb_0E7F4211.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;When that is done you can create a Virtual Server for each different protocol, meaning OWA, ActiveSync, OAB, EWS etc. (Load Balancing&amp;gt;Virtual Servers&amp;gt;Add&amp;gt;). In this example, the OWA Service is shown with the specific Load Balancing method and persistence options (note that COOKIEINSERT requires SSL Offloading).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.dirteam.com/blogs/davestork/image_0355B7C7.png"&gt;&lt;img width="415" height="396" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://blogs.dirteam.com/blogs/davestork/image_thumb_07600599.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;But instead of entering an IP address, keep it emtpy and untick the “Directly Addressable” box.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.dirteam.com/blogs/davestork/image_6744F8DB.png"&gt;&lt;img width="415" height="396" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://blogs.dirteam.com/blogs/davestork/image_thumb_4729EC1E.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now you have to make sure Content Switching is enabled on you Netscaler. You can do that via System&amp;gt;Settings&amp;gt;Configure Basic Settings&amp;gt; Enable Content Switching.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.dirteam.com/blogs/davestork/image_0E130F1C.png"&gt;&lt;img width="238" height="244" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://blogs.dirteam.com/blogs/davestork/image_thumb_02E984D2.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;After this you can create Content Switching (CS) Policies via Content switching&amp;gt;Policies&amp;gt;Add…. For OWA I would check whether the specific hostname is requested in the HTTP request: HTTP.REQ.HOSTNAME.CONTAINS("webmail.contoso.com")&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.dirteam.com/blogs/davestork/image_06F3D2A4.png"&gt;&lt;img width="394" height="188" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://blogs.dirteam.com/blogs/davestork/image_thumb_4DDCF5A1.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You can build it with the expression builder via Configure… button and build the expression from there.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.dirteam.com/blogs/davestork/image_14C6189F.png"&gt;&lt;img width="398" height="234" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://blogs.dirteam.com/blogs/davestork/image_thumb_5BAF3B9C.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;When you’ve made the CS Policies, you can now make Content Switching servers via Content switching&amp;gt;Virtual Servers&amp;gt;Add…&lt;/p&gt;  &lt;p&gt;Now you can add the IP address the Netscaler has to respond to. This is also the Virtual IP (VIP) address you have to point your FQDN for OWA and other protocols towards.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.dirteam.com/blogs/davestork/image_0DA6DC27.png"&gt;&lt;img width="404" height="357" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://blogs.dirteam.com/blogs/davestork/image_thumb_548FFF24.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;In the CSW field (open per default), right click and choose “Insert Policy”. A drop down menu appears (as shown above), and every available CS policy is visible. Note that a policy can only be used once.&lt;/p&gt;  &lt;p&gt;In this case the previously made webmail.contoso.com policy is selected. Now select the target field and the different Load Balancing Virtual Servers are listed, in this case only VIP_Exchange_OWA.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.dirteam.com/blogs/davestork/image_3474F267.png"&gt;&lt;img width="409" height="362" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://blogs.dirteam.com/blogs/davestork/image_thumb_7B5E1564.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Select it and choose Yes in the corresponding question box,&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.dirteam.com/blogs/davestork/image_2D55B5EF.png"&gt;&lt;img width="400" height="110" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://blogs.dirteam.com/blogs/davestork/image_thumb_743ED8EC.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now every HTTP request on IP 172.16.0.205 with FQDN webmail.contoso.com will be directed to use the Load Balancing Virtual Service which uses two Client Access Servers previously defined as valid services.&lt;/p&gt;  &lt;p&gt;If you want to make another Load Balancing services for other protocols with other persistence timeout values, but with the same VIP, make another Contents Switching Policy and add it to the same Content Switching Virtual Server. However, you will have to point them to other Load Balancing targets, namely those with the optimal settings.&lt;/p&gt;  &lt;p&gt;For Autodiscover use the expression: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;HTTP.REQ.HOSTNAME.CONTAINS("autodiscover.contoso.com")&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;For ActiveSync use the expression:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;HTTP.REQ.HOSTNAME.CONTAINS("webmail.contoso.com") &amp;amp;&amp;amp; HTTP.REQ.URL.PATH.TO_LOWER.STARTSWITH("/microsoft-server-activesync")&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;For EWS, OAB and Outlook Anywhere you can change the ActiveSync expression with the URL Paths /ews, /oab and /rpc. If you don’t specify these specifically, they would just use the OWA Content Switching policy (as it is agnostic about the path in this case) and thus the same persistent values as those specified for OWA. I found that it is sufficient most times.&lt;/p&gt;  &lt;p&gt;Insert every CS Policy in the CS Virtual Server, and order them in the correct sequence. Note that &lt;a href="http://support.citrix.com/article/CTX117195" target="_blank"&gt;Netscalers checks policies with a lower priority value first and works up to higher values&lt;/a&gt; (first 10 and then 100). The protocols which would trigger with specific paths in it should come first, otherwise they would be triggered by our first policy and will not get the optimized load balancing rules. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.dirteam.com/blogs/davestork/image_3B27FBEA.png"&gt;&lt;img width="413" height="367" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://blogs.dirteam.com/blogs/davestork/image_thumb_6D1F9C74.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In the above example you can see the generic webmail.contoso.com policy has an OWA target and a priority of 100. Subsequent policies are ActiveSync (EAS), Autodiscover and Offline Address Book (OAB) each with a corresponding target and persistence settings.&lt;/p&gt;  &lt;p&gt;After implementation you can check whether the rules are (correctly) being used by watching the Hits column.&lt;/p&gt;  &lt;p&gt;So with Netscaler Content Switching you are able to still optimize persistence settings per protocol and still use one Virtual IP address for each HTTPS service. &lt;/p&gt;  &lt;p&gt;For these screenshots I’ve used the Citrix Netscaler Free trail virtual appliance which can be downloaded from &lt;a href="http://www.citrix.com"&gt;www.citrix.com&lt;/a&gt;. Note that for some of these settings you’ll also need SSL Offloading. The specific configuration and certificate selection (in the Content Switching Virtual Server for instance) is not shown.&lt;/p&gt;&lt;img src="http://blogs.dirteam.com/aggbug.aspx?PostID=6697" width="1" height="1"&gt;</description><category domain="http://blogs.dirteam.com/blogs/davestork/archive/tags/Exchange+2010/default.aspx">Exchange 2010</category><category domain="http://blogs.dirteam.com/blogs/davestork/archive/tags/Management/default.aspx">Management</category><category domain="http://blogs.dirteam.com/blogs/davestork/archive/tags/High+Availability/default.aspx">High Availability</category><category domain="http://blogs.dirteam.com/blogs/davestork/archive/tags/Load+Balancing/default.aspx">Load Balancing</category></item><item><title>Unable to change database path on Exchange 2010 in a DAG?</title><link>http://blogs.dirteam.com/blogs/davestork/archive/2011/11/02/unable-to-change-database-path-on-an-exchange-2010-in-a-dag.aspx</link><pubDate>Wed, 02 Nov 2011 18:19:00 GMT</pubDate><guid isPermaLink="false">4afa41f1-c118-406e-beda-ba054a9f6c33:5971</guid><dc:creator>dmstork</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.dirteam.com/blogs/davestork/comments/5971.aspx</comments><wfw:commentRss>http://blogs.dirteam.com/blogs/davestork/commentrss.aspx?PostID=5971</wfw:commentRss><description>&lt;p&gt;If you find yourself unable to change the database path of an Exchange 2010 database, check whether it is part of a DAG. See the screenshot for the missing option:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.dirteam.com/blogs/davestork/blog1_29AE289B.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="blog1" border="0" alt="blog1" width="392" height="185" src="http://blogs.dirteam.com/blogs/davestork/blog1_thumb_37806E96.png"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If so, you cannot move it. The solution is to remove all copies except the active. Now you can move the DB and Transaction log paths. &lt;/p&gt;  &lt;p&gt;Do note that you will have downtime! Changing the path requires a dismount and since you do not have the redundancy of a DAG, you will have to plan this in a service window.&lt;/p&gt;  &lt;p&gt;After you are finished, you can add Mailbox Copies. Be sure you have made the same drive changes to the other DAG members!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.dirteam.com/blogs/davestork/blog2_176561D9.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="blog2" border="0" alt="blog2" width="393" height="173" src="http://blogs.dirteam.com/blogs/davestork/blog2_thumb_1B6FAFAB.png"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Databases within a DAG need to be on the same drive letters and same unique path. It is tricky to change the location of the DB when you have to consider 15 other servers (DAG member maximum). The same drive configuration has to be present. &lt;/p&gt;  &lt;p&gt;Of course it is better to have the database locations correct right from the start, but unfortunately we don’t live in an ideal world. &lt;img style="border-bottom-style:none;border-left-style:none;border-top-style:none;border-right-style:none;" class="wlEmoticon wlEmoticon-winkingsmile" alt="Winking smile" src="http://blogs.dirteam.com/blogs/davestork/wlEmoticon-winkingsmile_2941F5A6.png"&gt;&lt;/p&gt;&lt;img src="http://blogs.dirteam.com/aggbug.aspx?PostID=5971" width="1" height="1"&gt;</description><category domain="http://blogs.dirteam.com/blogs/davestork/archive/tags/Exchange+2010/default.aspx">Exchange 2010</category><category domain="http://blogs.dirteam.com/blogs/davestork/archive/tags/Management/default.aspx">Management</category><category domain="http://blogs.dirteam.com/blogs/davestork/archive/tags/High+Availability/default.aspx">High Availability</category><category domain="http://blogs.dirteam.com/blogs/davestork/archive/tags/Question+of+the+day/default.aspx">Question of the day</category></item><item><title>Exchange, Load balancers and recommendations</title><link>http://blogs.dirteam.com/blogs/davestork/archive/2011/07/15/exchange-load-balancers-and-recommendations.aspx</link><pubDate>Fri, 15 Jul 2011 16:07:00 GMT</pubDate><guid isPermaLink="false">4afa41f1-c118-406e-beda-ba054a9f6c33:5878</guid><dc:creator>dmstork</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.dirteam.com/blogs/davestork/comments/5878.aspx</comments><wfw:commentRss>http://blogs.dirteam.com/blogs/davestork/commentrss.aspx?PostID=5878</wfw:commentRss><description>&lt;p&gt;This is a follow-up post to &lt;a href="http://blogs.dirteam.com/blogs/davestork/archive/2011/05/30/differences-in-exchange-load-balancing-recommendations-by-microsoft-and-vendors.aspx"&gt;Differences in Exchange Load Balancing recommendations by Microsoft and vendors&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This post refers to issues I discovered and were discussed in that post. I suggest reading the previous&amp;nbsp;article before reading this one. I also expect some experience with load balancers in combination with Exchange Server 2010.&lt;/p&gt;
&lt;p&gt;In the previous post I mentioned several discrepancies in the Exchange deployment guides from several Load balancing companies. I contacted them and pointed out their apparent discrepancies. Their responses were very cooperative, kudos to them!&lt;/p&gt;
&lt;p&gt;Due to time restrictions, I have not checked all deployment guides mentioned. Possibly later on &lt;img style="BORDER-BOTTOM-STYLE:none;BORDER-RIGHT-STYLE:none;BORDER-TOP-STYLE:none;BORDER-LEFT-STYLE:none;" class="wlEmoticon wlEmoticon-winkingsmile" alt="Winking smile" src="http://blogs.dirteam.com/blogs/davestork/wlEmoticon-winkingsmile_0A36ACBD.png"&gt;&lt;/p&gt;
&lt;h3&gt;Kemp Technologies&lt;/h3&gt;
&lt;p&gt;I have had intensive contact with &lt;a href="http://www.kemptechnologies.com"&gt;Kemp Technologies&lt;/a&gt; on mentioned discrepancies and other issues. This was during an implementation of two multi role Exchange Server 2010 boxes in a DAG with their virtual VLM-100, with clients using Outlook 2007 and Outlook 2010.&lt;/p&gt;
&lt;h4&gt;SNAT&lt;/h4&gt;
&lt;p&gt;I mentioned that they do not recommended SNAT as the setup for exchange. Unfortunately this was a misunderstanding in the terminology used. Microsoft Source NAT is not the same as current Kemp SNAT, it is however the same as L7 non-transparency. Kemp SNAT is when the source IP is changed to the VIP of the rule, not the real IP.&lt;/p&gt;
&lt;h4&gt;Static Ports&lt;/h4&gt;
&lt;p&gt;The wildcard rule, as mentions in the Kemp exchange deployment guide, did miss some additional clarification. Kemp agreed that it is a good practice to use static ports on the Exchange server. However, using a rule per port does have the disadvantage that clients can connect to different client access servers For all services needed by outlook MAPI RPC. A wildcard rule resolves this. &lt;br&gt;It is also important to note that specific port rule for the same VIP always has preference over the wildcard rule.&lt;/p&gt;
&lt;h4&gt;Idle Connection Timeout&lt;/h4&gt;
&lt;p&gt;Now, this wasn’t something I mentioned in my previous blog, but did have me busy for quite some time. It is also why it has taken a while to prepare this post.&lt;/p&gt;
&lt;p&gt;In their deployment guide Kemp states that the Idle Session Timeout values, should be around 20 seconds. Kemp explains this as they want the failover value to be as close to the DAG failover time, as that’s would be within 30 seconds. If the value was high, the user had to wait for the idle timeout to expire. But if it was to low, the client would reconnect multiple times. So, that value would be a trade off. &lt;/p&gt;
&lt;p&gt;Now, while deploying the load balancer with low values, users got warnings that their Outlook has re-established it’s connection to Exchange. Several times per minute. Next to that, the CPU of both Client Access Servers went to the roof and made the Exchange environment perform poorly. Increasing the value immediately showed improvement on performance. &lt;/p&gt;
&lt;p&gt;Other issues with low values presented themselves when opening the Global Address book on Outlook Online mode. First it failed with the message that it hadn’t a connection to Exchange, while the user was working without (many) problems. A second attempt worked perfectly. &lt;br&gt;This is probably due to the different port used by Outlook. Although a wildcard rule was used for Outlook MAPI RPC the Kemp Load Balancer, the timeout value will be valid per port and is not based on source IP.&lt;/p&gt;
&lt;p&gt;Kemp will address this in an upcoming update; the option will be available to kill not yet timed out connections whenever the real server has failed the Real Server check.&lt;/p&gt;
&lt;p&gt;Having said that, I must confess that I didn’t have any real troubles with Outlook clients (in online mode) having to wait for the timeout to reconnect. When I disabled one Real Server CAS, after a while the clients just reconnected and worked perfectly within seconds to a few minutes.&lt;/p&gt;&lt;p&gt;So, the trade-off Kemp mentions could be a non-issue. At least in the case of Outlook 2010 RTM in Online Mode with a single VLM-100. But I can see no drawback from killing idle connections to a failed Real Server.&lt;/p&gt;&lt;p&gt;Note (edit 20/07/2011): Disabling a Real server is not the same as a failure. New connections to Real Server will not be set up and exsisting connections will drain and end after (default) 300 seconds.&lt;/p&gt;
&lt;p&gt;In&amp;nbsp;any case, Timeout values for MAPI connections (i.e. Outlook) should be high (as in hours).&lt;/p&gt;
&lt;h3&gt;Loadbalancer.org&lt;/h3&gt;
&lt;p&gt;In my last post I would contact &lt;a href="http://www.loadbalancer.org"&gt;Loadbalancer.org&lt;/a&gt; regarding their deployment guide. And their response came quickly and &lt;a href="http://loadbalancer.org/pdffiles/Microsoft_Exchange_2010_Deployment_Guide.pdf"&gt;their updated Deployment Guide&lt;/a&gt; is already available.&lt;/p&gt;
&lt;h4&gt;Balancing Policy&lt;/h4&gt;
&lt;p&gt;They agreed with the Microsoft recommendation regarding using round robin instead of least weighed connection. They already have corrected their Exchange deployment guide, with a correct notation that it could take some time in order to let the load balancer evenly distribute the sessions.&lt;/p&gt;
&lt;p&gt;Another interesting note: During my contact with them, they let me know that they are working with Microsoft to get their product Exchange load balancer qualified. I do not have any experience with them, but more certified choices are always a good thing.&lt;/p&gt;
&lt;h3&gt;Coyote point&lt;/h3&gt;
&lt;p&gt;In between this and the previous post I was made aware of the &lt;a href="http://www.coyotepoint.com/"&gt;Coyote Point&lt;/a&gt; deployment Guide. Unfortunately they also had some discrepancies.&lt;/p&gt;
&lt;h4&gt;Balancing Policy&lt;/h4&gt;
&lt;p&gt;In their &lt;a href="http://www.coyotepoint.com/pdfs/11/DG_MSExchange2010_V1.1_0910.pdf"&gt;Exchange Deployment Guide v1.3&lt;/a&gt; they mention on page 9 that round robin actually isn't recommended. They actually note that Microsoft recommends least connections as balancing policy. Obviously, Microsoft has since changed its stance on this.&lt;/p&gt;
&lt;h4&gt;Network deployment&lt;/h4&gt;
&lt;p&gt;On the subject of Source NAT, Default Gateway or Direct Server Return, they advise dg or static routes ( page10) Although Microsoft recommends Source NAT, the coyote point does not recommend this. The reason is because Exchange needs the client IP addresses. That however is false. You do lose client IP information, but in some or even most cases this is more preferable than a major change in your network architecture, IMHO.&lt;/p&gt;
&lt;h4&gt;Persistence&lt;/h4&gt;
&lt;p&gt;Pages 20/21 discuss persistence, they do not recommend specific values but mention examples. They are however in the range of several hours, where Microsoft almost always recommends 1 hour as a rule of thumb. But the explanation is correct.&lt;/p&gt;
&lt;p&gt;They have responded to the issues I have raised and they are already in the progress of changing their recommendation to be in accordance with those from Microsoft. So if you use or are planning to use their products, keep this in mind.&lt;/p&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;Terminology, terminology, terminology.... Almost all companies have different definitions describing concepts and technology. This is quite unfortunate as it tends to elongate troubleshooting and support. I still would like to see that the Microsoft Load Balancing Qualification for Exchange contained the demand for explicitly defining terminology as used by Microsoft and by load balancing companies. Kemp technologies has stated that they are working to get the terminology in sync with Microsoft.&lt;/p&gt;
&lt;p&gt;Also, I cannot find a complete Technet article describing the same recommendations that where made in the &lt;a href="http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/EXL307"&gt;TechEd session EXL307&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;I also would like to see some sort of requalification of some sorts, I would be surprised that some of the deployment guides were based on older recommendations from Microsoft who has since changed due to customer responses and support calls. This would make this qualification much more valuable and leads to better understanding of load balancers by admins and technical specialists and a higher quality of Exchange 2010 high available deployments.&lt;/p&gt;
&lt;p&gt;And as a last recommendation: Don’t always believe what vendors say. Check, test and supply information to your load balancing vendor. I have had very good responses by all vendors I’ve contacted and they where very appreciative of my feedback.&lt;/p&gt;
&lt;h5&gt;Full disclosure&lt;/h5&gt;
&lt;p&gt;I have no legal or financial connection with the load balancing companies mentioned in this or the previous post. Kemp and possibly other vendors make unlimited trial load balancers available for personal testing purposes. These offers did not contain any strings attached.&lt;/p&gt;&lt;img src="http://blogs.dirteam.com/aggbug.aspx?PostID=5878" width="1" height="1"&gt;</description><category domain="http://blogs.dirteam.com/blogs/davestork/archive/tags/Exchange+2010/default.aspx">Exchange 2010</category><category domain="http://blogs.dirteam.com/blogs/davestork/archive/tags/High+Availability/default.aspx">High Availability</category></item><item><title>Differences in Exchange Load Balancing recommendations by Microsoft and vendors</title><link>http://blogs.dirteam.com/blogs/davestork/archive/2011/05/30/differences-in-exchange-load-balancing-recommendations-by-microsoft-and-vendors.aspx</link><pubDate>Mon, 30 May 2011 09:40:00 GMT</pubDate><guid isPermaLink="false">4afa41f1-c118-406e-beda-ba054a9f6c33:5761</guid><dc:creator>dmstork</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.dirteam.com/blogs/davestork/comments/5761.aspx</comments><wfw:commentRss>http://blogs.dirteam.com/blogs/davestork/commentrss.aspx?PostID=5761</wfw:commentRss><description>&lt;p&gt;*** See my followup here &lt;a href="http://blogs.dirteam.com/blogs/davestork/archive/2011/07/15/exchange-load-balancers-and-recommendations.aspx"&gt;Exchange, Load balancers and recommendations&lt;/a&gt;:&amp;nbsp;&lt;/p&gt;&lt;p&gt;At TechEd North America 2011 Andrew Ehrensing (Solution Architect form Microsoft) presented the session “Load Balancing with Exchange Server 2010” (EXL307) for which the video and slides can be found &lt;a href="http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/EXL307"&gt;here&lt;/a&gt;. It was an excellent session, a lot of useful information even if you don’t have to load balance with Exchange per se. &lt;/p&gt;  &lt;p&gt;For me it was an extra interesting session, as we just had implemented a load balancer with Exchange, which resulted in some issues (bad performance, third party monitoring software failed etc.). I already thought that our setup had some design flaws and was looking for configuration recommendations. Unfortunately, I couldn’t find any in-depth information on Microsoft TechNet, except for &lt;a href="http://technet.microsoft.com/en-us/library/ff625247.aspx"&gt;basic information&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;I will not go into the session in detail in this post (perhaps in another), but the session basically had the recommendation that in an One-arm Load Balancing setup Source NAT (SNAT) should be used, even with clients or servers in the same subnet. Alternatively putting the Load Balancer as Default Gateway (LBDG) is also a valid option. Direct Server Return (DSR) wasn’t advised, as you have to add a loopback adapter with the Virtual IP (VIP) to all CAS Exchange Servers behind that specific Load Balancer. SNAT is least intrusive to the configuration of your Exchange Servers.&lt;/p&gt;  &lt;p&gt;As I dug deeper in manuals and recommendations, I found discrepancies in the recommendations. Why is this important? It is a matter of getting adequate support. Do you get support from your vendor if you follow Microsoft recommendations, when they are different?&lt;/p&gt;  &lt;h3&gt;Kemp Technologies&lt;/h3&gt;  &lt;p&gt;In this specific case we were using a VLM-100 from Kemp Technologies and are quite happy with the value for money they supply. In previous situations we did not have any issues, but that were different environments. &lt;/p&gt;  &lt;p&gt;Digging deeper in the &lt;a href="http://www.kemptechnologies.com/fileadmin/content/downloads/documentation/5.1/LoadMaster-Manual.pdf"&gt;Kemp Manual&lt;/a&gt; (PDF) I found that they primarily recommended a Load Balancer as Default Gateway with optional DSR configured. As we had poor experiences with this setup and in this case we would be required to implement LBDG with DSR, instead we opted for SNAT. &lt;/p&gt;  &lt;p&gt;However, in the manual for basically the same scenario where Microsoft recommended SNAT, Kemp mentions SNAT does not make any sense and recommends LBDG and which in some cases implies DSR. See for references from the TechEd session video time code ~9:04 and ~19:00 and slides 7 and 15. Compare with page 12 of the Kemp Load Balancing manual.&lt;/p&gt;  &lt;p&gt;I contacted Kemp for this difference in stance, pointed them to the TechEd video and slides and am currently awaiting a call from their Developer team. I will update this post when I receive new information.&lt;/p&gt;  &lt;p&gt;During this mail exchange, they also pointed out that the static ports we configured could be changed to a wildcard Virtual Server (VS) on their load balancers. It would work better, was the motivation. Not very convincing IMHO, especially as Andrew in the same session pointed out that it is better to have static ports as this would putt less strain the load balancer (video time code 35m30s). This is also the configuration as Exchange MVP Henrick Walther has described in several blogposts, but &lt;a href="http://www.msexchange.org/articles_tutorials/exchange-server-2007/planning-architecture/uncovering-new-rpc-client-access-service-exchange-2010-part2.html"&gt;specifically in this one&lt;/a&gt;.&lt;/p&gt;  &lt;h3&gt;Other Vendors &lt;/h3&gt;  &lt;p&gt;Curious how other vendors recommend their product in combination with Exchange, I stumbled upon the &lt;a href="http://loadbalancer.org/pdffiles/Microsoft_Exchange_2010_Deployment_Guide.pdf"&gt;loadbalancer.org deployment guide for Exchange 2010&lt;/a&gt; (PDF). In this guide they recommend “Least Connection” as distribution method as Microsoft recommends plain Round Robin (see page 12). Also with reason: Microsoft found issues when a CAS server is re-introduced in the CAS Array and as Load Balancing “node”, it could be overwhelmed when using any weighted, least connection or similar method. (video time code 34m09s). I will contact loadbalancer.org on this issue shortly.&lt;/p&gt;  &lt;p&gt;I haven’t found any other discrepancies yet, but will update or follow up this post when an interesting difference comes to my attention. If you found one yourselves, feel free to mail or comment with specifics.&lt;/p&gt;  &lt;h3&gt;Conclusion&lt;/h3&gt;  &lt;p&gt;I did not check any of the other vendors and their recommendations. But this situation is very interesting as the products from Kemp Technologies are &lt;a href="http://technet.microsoft.com/en-us/exchange/gg176682.aspx"&gt;tested and qualified by Microsoft&lt;/a&gt;. Apparently that does not mean the recommendations have to correspond… I find that a bit disappointing and devalues the qualification IMHO.&lt;/p&gt;  &lt;h5&gt;Further Reading&lt;/h5&gt;  &lt;p&gt;&lt;a href="http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/EXL307"&gt;TechEd North America 2011 Load Balancing with Exchange Server 2010 (EXL307)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/library/ff625247.aspx"&gt;Understanding Load Balancing in Exchange 2010&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.msexchange.org/articles_tutorials/exchange-server-2007/planning-architecture/uncovering-new-rpc-client-access-service-exchange-2010-part1.html"&gt;Uncovering the new RPC Client Access Service in Exchange 2010&lt;/a&gt; (part1)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.msexchange.org/articles_tutorials/exchange-server-2010/high-availability-recovery/load-balancing-exchange-2010-client-access-servers-using-hardware-load-balancer-solution-part1.html"&gt;Load Balancing Exchange 2010 Client Access Servers using an Hardware Load Balancer Solution&lt;/a&gt; (part1)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.kemptechnologies.com/fileadmin/content/downloads/documentation/5.1/LoadMaster-Manual.pdf"&gt;Kemp Technologies Load Master Manual (PDF)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://loadbalancer.org/pdffiles/Microsoft_Exchange_2010_Deployment_Guide.pdf"&gt;LoadBalancer.Org Exchange Deployment Guide (PDF)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/exchange/gg176682.aspx"&gt;Exchange Server 2010 Load Balancer Deployment&lt;/a&gt; (Qualified Vendors and products)&lt;/p&gt;&lt;img src="http://blogs.dirteam.com/aggbug.aspx?PostID=5761" width="1" height="1"&gt;</description><category domain="http://blogs.dirteam.com/blogs/davestork/archive/tags/TechEd/default.aspx">TechEd</category><category domain="http://blogs.dirteam.com/blogs/davestork/archive/tags/Exchange+2010/default.aspx">Exchange 2010</category><category domain="http://blogs.dirteam.com/blogs/davestork/archive/tags/High+Availability/default.aspx">High Availability</category></item><item><title>Change in Exchange 2010 SP1 CAS static port configuration</title><link>http://blogs.dirteam.com/blogs/davestork/archive/2011/04/28/change-in-exchange-2010-sp1-cas-static-port-configuration.aspx</link><pubDate>Thu, 28 Apr 2011 09:49:30 GMT</pubDate><guid isPermaLink="false">4afa41f1-c118-406e-beda-ba054a9f6c33:5743</guid><dc:creator>dmstork</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.dirteam.com/blogs/davestork/comments/5743.aspx</comments><wfw:commentRss>http://blogs.dirteam.com/blogs/davestork/commentrss.aspx?PostID=5743</wfw:commentRss><description>&lt;p&gt;For those who are using Exchange 2010 DAG and a Network Load Balancer, note that there is a small difference between RTM and SP1. If you choose to use static ports for your Client Access Servers, for the Address Book Services you would edit the &lt;strong&gt;Microsoft.exchange.addressbook.service.exe.config&lt;/strong&gt; located in: “C:\Program Files\Microsoft\Exchange Server\V14\Bin”&lt;/p&gt;  &lt;p&gt;But with SP1 (directly installed or upgraded from RTM), the location has changed to the registry:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeRpc\ParametersSystem&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;You have to make a new REG_DWORD with the value “&lt;strong&gt;TCP/IP Port” &lt;/strong&gt;and the port number you want to use.&lt;/p&gt;  &lt;p&gt;The setting is &lt;em&gt;not automatically changed when upgrading to SP1&lt;/em&gt;, the ports will always be dynamically again. &lt;/p&gt;  &lt;p&gt;If you fail to change this, Outlook users fail to connect correctly to you Exchange environment and you could end up troubleshooting for some time (I know I have…). &lt;/p&gt;  &lt;p&gt;A lot of documentation out there for configuring static ports, was made for RTM and isn’t adjusted for SP1. So keep this in mind.&lt;/p&gt;  &lt;p&gt;Thanks to AlexisA for some checking and testing!&lt;/p&gt;  &lt;h5&gt;Further reading&lt;/h5&gt;  &lt;p&gt;&lt;a title="Uncovering the new RPC Client Access Service in Exchange 2010 (Part 2)" href="http://www.msexchange.org/articles_tutorials/exchange-server-2007/planning-architecture/uncovering-new-rpc-client-access-service-exchange-2010-part2.html"&gt;Uncovering the new RPC Client Access Service in Exchange 2010 (Part 2)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="Load Balancing Exchange 2010 Client Access Servers using an Hardware Load Balancer Solution (Part 1)" href="http://www.msexchange.org/articles_tutorials/exchange-server-2010/high-availability-recovery/load-balancing-exchange-2010-client-access-servers-using-hardware-load-balancer-solution-part1.html"&gt;Load Balancing Exchange 2010 Client Access Servers using an Hardware Load Balancer Solution (Part 1)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="Exchange 2010 SP1: Change to how static ports are assigned on a CAS server" href="http://blogs.msexchange.org/walther/2010/06/09/exchange-2010-sp1-change-to-how-static-ports-are-assigned-on-a-cas-server/"&gt;Exchange 2010 SP1: Change to how static ports are assigned on a CAS server&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="Exchange 2010 SP1 FAQ and Known Issues" href="http://blogs.technet.com/b/exchange/archive/2010/09/01/exchange-2010-sp1-faq-and-known-issues.aspx"&gt;Exchange 2010 SP1 FAQ and Known Issues&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.dirteam.com/aggbug.aspx?PostID=5743" width="1" height="1"&gt;</description><category domain="http://blogs.dirteam.com/blogs/davestork/archive/tags/Exchange+2010/default.aspx">Exchange 2010</category><category domain="http://blogs.dirteam.com/blogs/davestork/archive/tags/High+Availability/default.aspx">High Availability</category></item><item><title>Public Folders and the DAG</title><link>http://blogs.dirteam.com/blogs/davestork/archive/2010/11/23/public-folders-and-the-dag.aspx</link><pubDate>Tue, 23 Nov 2010 07:36:00 GMT</pubDate><guid isPermaLink="false">4afa41f1-c118-406e-beda-ba054a9f6c33:5431</guid><dc:creator>dmstork</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.dirteam.com/blogs/davestork/comments/5431.aspx</comments><wfw:commentRss>http://blogs.dirteam.com/blogs/davestork/commentrss.aspx?PostID=5431</wfw:commentRss><description>
&lt;p&gt;When realizing a High Available Exchange 2010 environment, you automatically going to use DAG (&lt;a href="http://technet.microsoft.com/en-us/library/dd979799.aspx" title="Understanding Database Availability Groups"&gt;Database Availabilty Groups&lt;/a&gt;). It is a different approach with previous versions of Exchange, who leverage server redundancy. DAG supplies us with mailbox database redundancy. &lt;/p&gt;
  
&lt;p&gt;When using a DAG the single point of entry for your clients and for all protocols (including MAPI RPC), is the &lt;a href="http://msexchangeteam.com/archive/2010/05/20/454964.aspx" title="Exploring Exchange 2010 RPC Client Access service"&gt;Client Access Array&lt;/a&gt; (or CAS Array). Essentially a DNS record pointing to a Load Balancer.&lt;/p&gt;
  
&lt;p&gt;A Hardware Load Balancer (HLB) is Microsoft's recommended way to enable redundancy and load balance this entry point (BTW: On &lt;a href="http://europe.msteched.com/" title="TechEd 2010 Europe"&gt;TechEd 2010 Europe&lt;/a&gt;, the Microsoft Exchange team mentioned that it does not recommend it’s own Windows NLB solution anymore). So, if a database or server fails, a failover occurs and the load balancer(s) redirects the traffic to a remaining Client Access Server. &lt;/p&gt;
  &lt;h4&gt;Wait, what? No Public Folder HA?&lt;/h4&gt;  
&lt;p&gt;This solution gives us MAILBOX database redundancy. If you still need Public Folders (PF), you are in a pickle. Clients do not connect to the Public Folders Database via de CAS Array; they directly connect to the server with a Public Folder Database defined in the Default Public Folder attribute of a Mailbox Database.&lt;/p&gt;
  
&lt;p&gt;You can have duplicate Public Folder Databases via PF Replication, but there is no automatic PF Server failover! This could be catastrophic for your SLA, as Outlook 2003 (&lt;a href="http://msexchangeteam.com/archive/2010/04/23/454711.aspx" title="Common Client Access Considerations for Outlook 2003 and Exchange 2010"&gt;supported in combination with Exchange 2010&lt;/a&gt;) requires Public Folders to operate correctly or operate at all! Luckily, Outlook 2007 &amp;amp; 2010 do operate, but it is possible that they don’t have Public Folder access during a failover.&lt;/p&gt;
  
&lt;p&gt;So, what options do I have? Upgrading Outlook off course, which has a lot of other benefits. When your clients aren’t the bottleneck, move the Public Folder functionality to other products (SharePoint for instance).&lt;/p&gt;
  &lt;h4&gt;Those pesky legacy apps…..&lt;/h4&gt;  
&lt;p&gt;But what, if you are stuck with Outlook 2003? Or going to discontinue Public Folders, but just not at the moment? Or other reasons I didn’t think of?&lt;/p&gt;
  
&lt;p&gt;You can script some form of HA into it, at least your users don’t have to wait for admin intervention. I have a customer who uses a DAG and has Outlook 2003, which cannot be upgraded quickly. In this case a &lt;a href="http://blogs.dirteam.com/controlpanel/blogs/"&gt;&lt;/a&gt;&lt;a href="http://www.ogd.nl/"&gt;coworker&lt;/a&gt; made a Exchange Management Shell script which checks every x minutes whether the &lt;a href="http://technet.microsoft.com/en-us/library/bb629522.aspx" title="Change the Default Public Folder Database for a Mailbox Database"&gt;Default Public Folder Attribute&lt;/a&gt; of a Mailbox Database is referring to the same server (i.e. the server on which the Active copy reside, is logically not in a failed state). This results that when a failover occurs, within defined minutes the attribute will be changed to a server which is still operational. It’s dirty, but it works.&lt;/p&gt;
  
&lt;p&gt;I’ve added this script to this post for educational purposes, just scroll all the way down. Due to security reasons, the extention is now TXT. Just rename it to PS1. Furthermore this script currently only works with a two server DAG. This is published as is, use with caution and no guarantees are given etc. etc.. Use at your own risk.&lt;/p&gt;
  &lt;h4&gt;But..&lt;/h4&gt;  
&lt;p&gt;But before you get scared using this script, there is good news! During TechEd 2010 Europe Ross Smith (Microsoft Exchange team) announced that in Service Pack 1 Rollup Update 2 this issue will be addressed via an alternate server tag! The finer pointers are not clear yet and they didn’t mention a release date, but: &lt;a href="http://workinghardinit.wordpress.com/2010/11/17/exchange-2010-sp1-public-folder-high-availability-returns-with-roll-up-2/"&gt;there was much rejoicing&lt;/a&gt;. &lt;/p&gt;
    
&lt;p&gt;PS1: Well, I already had prepared a draft blog post but decided to postpone publishing after TechEd…. None the less, this script could still be helpful for the time being.&lt;/p&gt;
  
&lt;p&gt;PS2: thanks FrodoB for the script.&lt;/p&gt;
  &lt;h4&gt;Further Reading&lt;/h4&gt;  
&lt;p&gt;&lt;a href="http://workinghardinit.wordpress.com/2010/11/17/exchange-2010-sp1-public-folder-high-availability-returns-with-roll-up-2/"&gt;Exchange 2010 SP1 Public Folder High Availability Returns with Roll Up 2&lt;/a&gt;&lt;/p&gt;
  
&lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/library/dd979799.aspx"&gt;Understanding Database Availability Groups&lt;/a&gt;&lt;/p&gt;
  
&lt;p&gt;&lt;a href="http://msexchangeteam.com/archive/2010/05/20/454964.aspx"&gt;Exploring Exchange 2010 RPC Client Access service&lt;/a&gt;&lt;/p&gt;
  
&lt;p&gt;&lt;a href="http://msexchangeteam.com/archive/2010/04/23/454711.aspx"&gt;Common Client Access Considerations for Outlook 2003 and Exchange 2010&lt;/a&gt;&lt;/p&gt;
  
&lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/library/bb629522.aspx"&gt;Change the Default Public Folder Database for a Mailbox Database&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.dirteam.com/aggbug.aspx?PostID=5431" width="1" height="1"&gt;</description><enclosure url="http://blogs.dirteam.com/blogs/davestork/attachment/5431.ashx" length="4606" type="text/plain" /><category domain="http://blogs.dirteam.com/blogs/davestork/archive/tags/Exchange+2010/default.aspx">Exchange 2010</category><category domain="http://blogs.dirteam.com/blogs/davestork/archive/tags/High+Availability/default.aspx">High Availability</category><category domain="http://blogs.dirteam.com/blogs/davestork/archive/tags/Outlook/default.aspx">Outlook</category></item></channel></rss>