Part 1: BizTalk High Availability Server Environment – Preparations

FOREWORD

Welcome! Most likely you’ve googled, binged, yahoo-ed in an attempt to find some more information with regards on how to setup a BizTalk High Availability environment. Probably you have run into the same issue, being; not finding a complete walkthrough covering prepping, installing and configuring the complete environment which includes

  • The actual required servers
    • Domain Controller
    • File Server
    • Clustered Servers for SQL
    • Clustered Servers for BizTalk2010

Well this is your lucky day; during the next few weeks I’ll be posting a multi-part series covering just all of the above and more. However please be aware that the walkthrough I’ll be posting is intended for a Lab Environment and is not intended to be used one-on-one while setting up your Acceptance or Production environment. Although you will find that most of the walkthroughs will assist you with doing so. So let’s get started with the first Part!

Preparing your Lab environment

Planning is an essential part when you want to create a BizTalk High Availability environment, so please make note of the following ‘recipe’ as it will list the required actions you need to perform in order to successfully set up your BizTalk High Availability Environment.

Global Network Environment overview

Below you will see a global overview with regards to the Lab Environment we will be creating.

clip_image002

As you can see it consists of the following servers:

  • Total of 6 Servers running Windows Server 2008 R2 SP1
    • 1 Domain Controller
    • 1 File Server which has
      • 6 disks available dedicated to Storage used within the SQL and BizTalk clusters
      • 2 file-shares
        • one used for obtaining Majority (for the clusters)
        • one used to store the IIS Shared Configuration files
    • 2 BizTalk Servers in a Cluster
    • 2 SQL Servers in a Cluster

One of the things you will notice is the fact that we will not use NLB for BizTalk (ah well I might cover this in another separate blog post in the near future). Not using an NLB brings a long some challenges, but more on that in a future post as well.

Groceries

Before we can actually start with installing the servers within our LAB environment, we need to make a list of all the requirements (Groceries) which will be needed; this way we will not run into any problems later on which might cause us to start all over. Note: As we are actually setting up a complete environment, I have chosen to virtualize everything; this includes SQL Server and as you might be aware it is actually not recommended to Virtualize SQL Server; but hey this is a Lab Environment… So what do you actually need?

Physical Machine Requirements

  • At least a Intel Core 2 Duo Processor (or similar)
  • 8 GB of internal memory
  • At least 130 GB of free disk space, preferably on a SSD
    • Domain Controller Server
      • Main Storage (OS) 20GB
    • SQL Server 1
      • Main Storage (OS & SQL) 20GB
    • SQL Server 2
      • Main Storage (OS & SQL) 20GB
    • BizTalk Server 1
      • Main Storage (OS & BTS) 20GB
    • BizTalk Server 2
      • Main Storage (OS & BTS) 20GB
    • File Server
      • Main Storage (OS) 20GB
      • Additional Storage DISK 1: 5GB
      • Additional Storage DISK 1: 5GB
  • Windows Server 2008R2 SP1 with Hyper-V Role enabled

Basic Software Requirements (download from MSDN)

  • Windows Server 2008 R2 SP1 Enterprise Edition
  • Windows Server 2008 Storage Server
    • We need the iSCSI_Software_Target_33 iso for our FileServer
  • SQL Server 2008 R2 (Developer) Enterprise Edition
  • BizTalk Server 2010 (Developer) Enterprise Edition,

Environment Basic Configuration

The following section will globally explain how to initially set up your servers, and lists other requirements which you should take into account (like IP Addresses)

Basic Configuration for Hyper-V Manager

  • 2 Virtual Network Adapters
    • One Internal only; ensure to assign a VLAN ID to it

      image

    • One External; ensure to assign a VLAN ID to it

      image

Basic Virtual Server Configurations

In total we will be creating 6 virtual machines; below you will find an overview on how I configured my different Virtual Servers

Hardware

hardware

image

NIC Configuration

Below information describing how I configured the NIC’s which have been assigned to each and every server

  • I’ve assigned a VLAN ID to the settings in the Hyper-V manager for each Virtual server, like this
    • Internal Network Adapter VLAN ID = 2

<a href="http://blog.brauwers viagra pharmacie france.nl/wp-content/uploads/2011/03/image3.png”>image

  • External Network Adatper VLAN ID = 1

image

  • In order to have Internet Access; I’ve bridged my actual NIC (on the host OS) with the Virtual ‘External Network Adapter’

image

IP Number reservations

During the installation & Configuration of the different clusters and servers there will be a need to assign IP Addresses below you will find an overview of all the IP Addresses I’ve used. In total I’ve used 10 IP addresses.

Windows Server 2008R2 IP Configuration

All servers run on Windows Server 2008R2 SP1 Enterprise and are joined to the dev.motion10.com domain. (The next part in these series will exactly explain how to setup a Domain Server). Below an overview of the assigned IP’s off each server.

image

I’ve only configured the TCP/IPv4 properties of the Internal Network Adapter (see Basic Configuration for Hyper-V Manager) and I disabled TCP/IPv6

image

Note: all servers will use the 255.255.255.0 Subnet and have 192.168.8.1 configured as default gateway and Preferred DNS Server. The only exception to this is the Domain Server (actually 192.168.1.1) I did not configure a default gateway nor a preferred DNS server for it.

Cluster & Cluster Resource reserved IP Addresses

All servers run on Windows Server 2008R2 SP1 Enterprise and are joined to the dev.motion10 domain. (The next part in these series will exactly explain how to setup a Domain Server). Below an overview of the assigned IP’s off each server.

SQL Server Failover Cluster

Please note that below mentioned information, at this point, might look like abracadabra but this will be cleared up in one of the future parts which deals with configuring the SQL Failover cluster

image
Please note: The above screenshot is taken of a different cluster as the one mentioned throughout these articles, but it should give you an expression of what a Failover Cluster looks like
BizTalk Server Failover Cluster

Please note that below mentioned information, at this point, might look like abracadabra but this will be cleared up in one of the future parts which deals with configuring the BizTalk Failover cluster

image

Please note: The above screenshot is taken of a different cluster as the one mentioned throughout these articles, but it should give you an expression of what a Failover Cluster looks like

Closing Note

Well this part mostly focused on the different ingredients you will need in order to setup your BizTalk High Availability environment. In the next part we will be setting up our DOMAIN Controller and I’ll show how to hook all your servers up to this domain. I hope you enjoyed reading this post, and feel free to leave any comments or remarks. No one is perfect…

Cheers

René

15 comments

  1. Hi Rene.

    Great series of articles you have posted on “BizTalk High Availability Server Environment”.

    I have just been able to look at some of the posts on this series though, namely parts 1,3,6 and 7. I’m not able to find the ones missing in this series. Have tried search on your site and using Google search but with no luck.

    Could you please make the links to the others available as well, maybe linking the articles together? It would be much appreciated!

    Thanks, and keep up the good work!

  2. Thanks a million 🙂
    Your effort is much appreciated…
    I found every information and screenshot extremely helpful…

  3. Thanks a million 🙂
    Your effort is much appreciated…
    I found every information and screenshot extremely helpful…

  4. Hello Rene.

    Thanks very much for the articles. I have a question about the Biztalk Server Cluster, can the Biztalk hosts be configured as Active/Active mode? I understand the database cluster has to be Active/Passive, but it would be a waste of license if the Biztalk cluster is configured as Active/Passive as well.

    Thanks
    Danny

  5. Hello Rene.

    Thanks very much for the articles. I have a question about the Biztalk Server Cluster, can the Biztalk hosts be configured as Active/Active mode? I understand the database cluster has to be Active/Passive, but it would be a waste of license if the Biztalk cluster is configured as Active/Passive as well.

    Thanks
    Danny

  6. Hello, Rene

    Thank you for the great article. We have built out a clustered BizTalk environment in Development using your article. We plan to move to Production soon.

    I have a question about deploying BizTalk applications. What is the process in a clustered BizTalk environment?? Do you deploy the application to Node 1, then failover, and deploy the application to Node 2?? We are seeing an issue with the application assembly changes between the 2 nodes, without deploying to both nodes in the cluster. We expected that in a cluster, 1 deployment would be sufficient, but this is not the case.

    Thank you,

    Devin

    1. Hi Devin,

      BizTalk requires application binaries and certain other artifacts to be installed on every BizTalk server that runs the application. Meaning you install the msi on both servers, however the application should only be installed on one server. Reason behind this is that the BizTalk application, its port bindings, rule policies etc should only be registered once in the BizTalk databases.

      So yup you need to deploy to both servers.

      1. Run the exported MSI file on each server in the target environment.
      2. Import this MSI file, on the active node, through the Admin console by selecting Import MSI on the context menu.

      Cheers

  7. Hello, Rene

    Thank you for the great article. We have built out a clustered BizTalk environment in Development using your article. We plan to move to Production soon.

    I have a question about deploying BizTalk applications. What is the process in a clustered BizTalk environment?? Do you deploy the application to Node 1, then failover, and deploy the application to Node 2?? We are seeing an issue with the application assembly changes between the 2 nodes, without deploying to both nodes in the cluster. We expected that in a cluster, 1 deployment would be sufficient, but this is not the case.

    Thank you,

    Devin

    1. Hi Devin,

      BizTalk requires application binaries and certain other artifacts to be installed on every BizTalk server that runs the application. Meaning you install the msi on both servers, however the application should only be installed on one server. Reason behind this is that the BizTalk application, its port bindings, rule policies etc should only be registered once in the BizTalk databases.

      So yup you need to deploy to both servers.

      1. Run the exported MSI file on each server in the target environment.
      2. Import this MSI file, on the active node, through the Admin console by selecting Import MSI on the context menu.

      Cheers

Leave a Reply

Your email address will not be published. Required fields are marked *

WordPress spam blocked by CleanTalk.