Part 7 – BizTalk High Availability Server Environment –BizTalk 2010 Installation, Configuration and Clustering
So, finally we’ve reached the part in which we will actually install, configure and cluster BizTalk Server 2010. As mentioned in my previous posts; I assume you’ve followed all steps mentioned in the previous posts. Okay let’s get started!
Verify that MSDTC is configured
Before we can go ahead with the actual installation, we need to make sure that we’ve configured our MSDTC correctly. In order to do so we will need the following tool dtcping.exe, which can be downloaded here. Once you’ve downloaded dtcping, copy it over to all servers involved, in my case that would be
- SQL001
- SQL002
- BTS001
- BTS002
Time Saver Tip: Locally install dtcping.exe (it’s actually an self-extracting archive) and copy only the dtcping.exe application to your servers
Next we will start pinging all servers, and we will do this using the following matrix
Main Server | Partner DTC Server | |
BTS001 | SQL001 | Ensure that BizTalk node one is Active and SQL node one is Active |
BTS001 | SQL002 | Ensure that BizTalk node one is Active and SQL node two is Active (perform a failover) |
BTS002 | SQL002 | Ensure that BizTalk node two (perform a failover) is Active and SQL node one is Active |
BTS002 | SQL001 | Ensure that BizTalk node one is Active and SQL node two is Active (perform a failover) |
BTS001 vs SQL001
Logon to your main BizTalk node (in my case BTS001) and open the ‘Failover Cluster Manager’ do this by going to start and in the search box type ‘Failover Cluster Manager’ then hit ‘enter’
Ensure that your main BizTalk node is currently the owner
Now logon to your main SQL Server Node (in my case SQL001) and open the ‘Failover Cluster Manager’ do this by going to start and in the search box type ‘Failover Cluster Manager’ then hit ‘enter’
Ensure that your main BizTalk node is currently the owner Now go back to your main BizTalk Node (BTS001), and browse to the location in which you copied dtcping.exe and start it. The MSDTC Simulation screen will pop up, now enter the SQL Server Cluster Name in the box ‘Remote Server Name’, in my case that would be SQL2008.
Now go back to your main SQL Server Node (SQL001), and browse to the location in which you copied dtcping.exe and start it. The MSDTC Simulation screen will pop up, now enter the BTS Server Cluster Name in the box ‘Remote Server Name’, in my case that would be BTS2010.
Now go back to your main BizTalk Node (BTS001) and in the MSDTC Simulation windows. Click on the ‘PING’ button. Once you’ve clicked that button; ‘hurry’ over to your main SQL Server Node (SQL001) and in the MSDTC Simulation windows. Click on the ‘PING’ button. If everything goes right, you should see the following results in the MSDTC Simulation Window.
BTS001
Please refer to following log file for details:
C:UsersAdministrator.LABDownloadsBTS0013924.log
Invoking RPC method on SQL2008
RPC test is successful
++++++++++++RPC test completed+++++++++++++++
Please start PING from SQL2008 to complete the test
Please send following LOG to Microsoft for analysis:
Partner LOG: SQL0014040.log
My LOG: BTS0013924.log
++++++++++++Start Reverse Bind Test+++++++++++++
Received Bind call from SQL001
Trying Reverse Bind to SQL001
Reverse Binding success: BTS001–>SQL001
++++++++++++Reverse Bind Test ENDED++++++++++
++++++++++++Start DTC Binding Test +++++++++++++
Trying Bind to SQL001
Received reverse bind call from SQL001
Binding success: BTS001–>SQL001
++++++++++++DTC Binding Test END+++++++++++++
SQL001
++++++++++++Validating Remote Computer Name++++++++++++
Please refer to following log file for details:
C:UsersAdministrator.LABDownloadsSQL0014040.log
Please send following LOG to Microsoft for analysis:
Partner LOG: BTS0013924.log
My LOG: SQL0014040.log
Invoking RPC method on BTS2010
RPC test is successful
++++++++++++RPC test completed+++++++++++++++
++++++++++++Start DTC Binding Test +++++++++++++
Trying Bind to BTS001
Received reverse bind call from BTS001
Binding success: SQL001–>BTS001
++++++++++++DTC Binding Test END+++++++++++++
++++++++++++Start Reverse Bind Test+++++++++++++
Received Bind call from BTS001
Trying Reverse Bind to BTS001
Reverse Binding success: SQL001–>BTS001
++++++++++++Reverse Bind Test ENDED++++++++++
Please note; in case of an error.
- Ensure that MSDTC is configured correctly! (see previous blog posts)
- Ensure that your Firewall is turned of for your Domain Profile and Private Profile! (see previous blog posts)
Close both DTCPing applications once done.
Perform a manual Failover of the SQL Server
Logon to your main SQL Server node (in my case SQL001) and open the ‘Failover Cluster Manager’ do this by going to start and in the search box type ‘Failover Cluster Manager’ then hit ‘enter’ The Failover Cluster Manager windows will appear; in this window ‘right-click’ on your SQL Server Cluster Service and select ‘Move this service or application to another node’ –> ‘1 – Move to Node SQL002’
Confirm this action.
At this point you will failover your SQLCluster to your second node. Before continuing validate this, by checking the ‘Current Owner’
BTS001 vs SQL002
Now repeat the same steps as mentioned in the previous chapter BTS001 vs SQL001, the only difference now is; that you will start dtcping on your second SQL node (SQL002).
Perform a manual Failover of the BizTalk Server
Logon to your main BizTalk Server node (in my case BTS001) and open the ‘Failover Cluster Manager’ do this by going to start and in the search box type ‘Failover Cluster Manager’ then hit ‘enter’ The Failover Cluster Manager windows will appear; in this window ‘right-click’ on your BizTalk Server Cluster Service and select ‘Move this service or application to another node’ –> ‘1 – Move to Node BTS002’
Confirm this action.
At this point you will failover your BizTalk Cluster to your second node. Before continuing validate this, by checking the ‘Current Owner’
BTS002 vs SQL002
Now repeat the same steps as mentioned in the previous chapter BTS001 vs SQL001, the only difference now is; that you will start dtcping on your second BizTalk node, and your second SQL node (SQL002).
Perform a manual Failover of the SQL Server.
Logon to your main SQL Server node (in my case SQL001) and open the ‘Failover Cluster Manager’ do this by going to start and in the search box type ‘Failover Cluster Manager’ then hit ‘enter’ The Failover Cluster Manager windows will appear; in this window ‘right-click’ on your SQL Server Cluster Service and select ‘Move this service or application to another node’ –> ‘1 – Move to Node SQL001’. Confirm this change and validate that the SQL001 node is once again the ‘Current Owner’
BTS002 vs SQL001
Now repeat the same steps as mentioned in the previous chapter BTS001 vs SQL001, the only difference now is; that you will start dtcping on your second BizTalk node, and your main SQL node (SQL001).
Perform a manual Failover of the BizTalk Server
Logon to your main BizTalk Server node (in my case BTS001) and open the ‘Failover Cluster Manager’ do this by going to start and in the search box type ‘Failover Cluster Manager’ then hit ‘enter’ The Failover Cluster Manager windows will appear; in this window ‘right-click’ on your BizTalk Server Cluster Service and select ‘Move this service or application to another node’ –> ‘1 – Move to Node BTS001’. Confirm this change and validate that the BTS001 node is once again the ‘Current Owner’
Almost there!
Congratulations, at this point we have validated our MSDTC configuration and now we are almost ready for the actual BizTalk Installation.
Installing BizTalk
The steps mentioned below, need to be performed on both BizTalk servers, in my case BTS001 and BTS002
Time Saver Tip: You can install both servers simultaneously. However note that this can not be done when we are configuring BizTalk.
Prerequisites
Well before we can proceed with the installation we need to install 2 more pre-requisites if we want to install BAM and EDI functionality on our BizTalk servers as well. These prerequisites are:
- Microsoft SQL Server Data Transformation Services (DTS 2008) with SP1 or higher
- Microsoft Office Excel 2010
Installing Microsoft Office Excel 2010
Make sure that you’ve mounted your BizTalk Server 2010 Installation ISO file, this can be easily done from within the Hyper-V Manager. Simply ‘Right-Click’ on the BizTalk server in question and select ‘Settings’ Go to ‘IDE Controller 1’ and mount your media (see screenshot below)
Once you’ve mounted the Microsoft Office 2010 DVD, run the installer. On the ‘Choose the installation you want screen’ select ‘Customize’ Now only install Microsoft Excel, you’re screen should look similar to the following screenshot:
Once done select ‘Install Now’ and finally ‘Close’ the installation.
and select ‘New Installation or add features to an existing installation’
Installing Microsoft SQL Server Data Transformation Services (DTS 2008)
Well we’re almost done, but we need to install ‘Microsoft SQL Server Data Transformation Services (DTS 2008) with SP1 or higher, if we want to configure and use BAM functionality. So let’s do this now.
Make sure that you’ve mounted your BizTalk Server 2010 Installation ISO file, this can be easily done from within the Hyper-V Manager. Simply ‘Right-Click’ on the BizTalk server in question and select ‘Settings’
Go to ‘IDE Controller 1’ and mount your media (see screenshot below)
Once you’ve mounted the SQL Server 2008 R2 DVD, run the installer and select ‘New Installation or add features to an existing installation’
Follow the onscreen instructions. Once you reach the ‘Setup Role’ screen select ‘SQL Server Feature Installation’. Once done select ‘Next’
On the ‘Feature Selection’ screen ensure to check the following features
- Client Tools Connectivity
- Management Tools – Basic
- Management Tools – Complete
Click ‘next’ and follow the onscreen instructions.
BizTalk 2010
Now logon to one of the servers on which you want to install BizTalk, in my case I will start off with BTS001.
Make sure that you’ve mounted your BizTalk Server 2010 Installation ISO file, this can be easily done from within the Hyper-V Manager. Simply ‘Right-Click’ on the BizTalk server in question and select ‘Settings’ Go to ‘IDE Controller 1’ and mount your media (see screenshot below)
(Repeat these steps for your second BizTalk Server)
Start the installation, by running ‘Setup.exe’ from the BizTalk Installation DVD. An installation screen will appear, in this screen select ‘Install Microsoft BizTalk Server 2010’.
On the Customer Information Screen, enter the required information and press ‘next’
Accept the License agreement and press ‘Next’
Choose whether you want to participate in the ‘Customer Experience Improvement Program’ and press ‘Next’
On the ‘Component Installation’ screen, check all items you can and press ‘Next’
I was able to check all with exception of; Developer Tools and SDK, MQSeries Agent, Windows Sharepoint Services Adapter as I did not install the pre-requisites for them.
On the ‘Redistributable Prerequisites’ screen, select your preferred option. I’ve selected ‘Automatically install the redistributable prerequisites from a CAB file’ which I downloaded previously (click here) and press ‘Next’
On the ‘Summary Screen’ press ‘Install’
Installation will now start, during the installation you will be prompted for ‘Updates’, choose the preferred option and press ‘next’
Click finish to Quit the installation and ensure that the option ‘Launch BizTalk Server Configuration’ is not checked.
Installing Microsoft BizTalk Adapters
The steps mentioned below, need to be performed on both BizTalk servers, in my case BTS001 and BTS002 Continue the installation, by running ‘Setup.exe’ from the BizTalk Installation DVD. An installation screen will appear, in this screen select ‘Install Microsoft BizTalk Adapters’.
A new window will appear, select ‘Step 1: Install Microsoft WCF Lob Adapter SDK’ and follow the onscreen instructions.
When you reach the ‘Choose Setup Type’ screen, select ‘Complete’
Click on ‘Install’
Installation will now start, during the installation you will be prompted for ‘Updates’, choose the preferred option and press ‘Ok’
Click ‘Finish’
On the ‘Adapter Installation Window’, note the warning which can be ignored and select ‘Step 2: Install Microsoft BizTalk Adapter Pack’
Follow the onscreen instruction and once you reach the ‘Choose Setup Type’ screen, select ‘Complete’ .
Click on ‘Install’
Installation will now start, during the installation you will be prompted for ‘Updates’, choose the preferred option and press ‘Ok’
Another window will pop up, asking if you want to join ‘The Customer Experience Improvement Program’; select either option and press ‘ok’
Click on ‘Finish’
On the ‘Adapter Installation Window’, select ‘Step 3: Install Microsoft BizTalk Adapter Pack (x64)’ and follow the onscreen instructions. I will not list them again as they are similar to the previous instructions.
On the ‘Adapter Installation Window’, select ‘Step 4: Install Microsoft BizTalk Adapters for Enterprise Applications’ and follow the onscreen instructions. I will not list them again as they are similar to the previous instructions.(when asked for the Setup type; select ‘Complete’
During the installation of step 4, you might get a few warnings, indicating that an adapter was already installed. Just press ‘Ok’ and continue. At this point you installed all adapters, so press ‘Exit’
Note: We will not install the ‘Microsoft AppFabric Connect’ feature; in a later blog post however I might get back to this Before we can proceed with configuring BizTalk Server, we need to epeat the above mentioned steps on your other BizTalk Server node (my case BTS002)
Configuring BizTalk on the Main Node
Once you’ve installed BizTalk on both servers. Logon to your main BizTalk Node, and click on ‘Start’ –> ‘All Programs’ –> ‘Microsoft BizTalk Server 2010’ –> ‘BizTalk Server Configuration’
On the ‘Microsoft BizTalk Server 2010 Configuration’ screen, select ‘Custom Configuration’, fill out
- The Database server name (point it to your SQL Cluster!), in my case ‘SQL2008BIZTALK2010’
- Enter the username and password for the BizTalk Untrusted Service, in my case ‘LABsrvc-bts-untrusted’
Once done, press Configure.
Enterprise SSO Configuration
At this point the main configuration screen will appear. Select ‘Enterprise SSO’
Select ‘Enable Enterprise Single Sign-On on this computer’ and select ‘Create a new SSO System’
Now, add the correct Service Accounts and Windows Accounts; in my case:
- Enterprise Single Sign-On Service Account: LABsrvc-bts-sso
- SSO Administrator(s) group: LABSSO Administrators
- SSO Affiliate Administrator(s)
Note the warning: Ignore this warning, as it is most likely a ‘refreshing issue’ as it states that I am using a local SSO Administrator group, which I am not
Select ‘Enterprise Single Sign-On Secret Backup’
Enter the details and store the backup file on a Secure Place. I’ve used the Clustered Disk named’ ‘Data_Store’
Now Click on ‘Apply Configuration’
Verify the settings on the ‘Summary Screen’ and press ‘Next’
Click Finish
Group Configuration
Select ‘Group’
Check ‘Enable BizTalk Server Group on this Computer’ and select ‘Create a new BizTalk Group’
Now, add the correct BizTalk Administrative Roles; in my case:
- BizTalk Administrators Group: LABBizTalk Server Administrators
- BizTalk Operators Group: LABBizTalk Server Operators
- BizTalk B2B Operators Group: LABBizTalk Server B2B Operators
Now Click on ‘Apply Configuration’
Verify the settings on the ‘Summary Screen’ and press ‘Next’
Click Finish
BizTalk Runtime Configuration
Select ‘BizTalk Runtime’
Check ‘Register the BizTalk Server runtime components’
Check ‘Create In-Process Host and Instance’.
For Host Name enter: Processing_Host
Check ‘Create Isolated Host and Instance’ and check ‘Trusted’ right below it
For Isolated Host name enter: Isolated_Host
Ensure that both 32-bit only checkboxes are checked
Now, assign the correct Windows Services and Groups ; in my case:
- BizTalk Host Instance Account: LABsrvc-bts-untrusted
- Biztalk Isolated Host Instance Account: LABsrvc-bts-trusted
- Biztalk Host Users Group: LABBizTalk Applications Users
- Biztalk Isolated Host Users Group: LABBizTalk Isolated Host Users
Now Click on ‘Apply Configuration’
Verify the settings on the ‘Summary Screen’ and press ‘Next’
Click Finish
Business Rules Engine Configuration
Select ‘Business Rules Engine’
Check ‘Enable Business Rules Engine on this computer’
Now, add the correct Windows Service; in my case:
- Rule Engine Update Service : LABsrvc-bts-rule-engine
Now Click on ‘Apply Configuration’
Verify the settings on the ‘Summary Screen’ and press ‘Next’
Click Finish
BAM Tools Configuration
Select ‘Bam Tools’
Check ‘Enable Business Activity Monitoring tools’
Now, add the correct ‘Server Name (SQL Cluster); in my case: SQL2008BIZTALK2010
Now Click on ‘Apply Configuration’
Verify the settings on the ‘Summary Screen’ and press ‘Next’
Click Finish
BAM Alerts Configuration
We will skip these for now.
In a future post I might come back to these and configure it. However in case you need it installation is quite straight forward, you only need to make sure to install the pre-requisites
BAM Portal Configuration
Select ‘Bam Portal’
Check ‘Enable BAM Portal’
Now, add the correct Windows Service Accounts ; in my case:
- BAM Management Web Service user: LABsrvc-bts-bam
- BAM Application Pool Account: LABsrvc-bts-bam-ap
Next add the correct Windows Group; in my case:
BAM Portal Users: LABDomain Users
Finally select the BAM Portal Web site, in my case
Bam Portal Web Site: Default Web Site
Now Click on ‘Apply Configuration’
Verify the settings on the ‘Summary Screen’ and press ‘Next’
Click Finish
BizTalk EDI/AS2 Runtime Configuration
Select ‘BizTalk EDI/AS2 Runtime’
Check all options.
Now Click on ‘Apply Configuration’
Verify the settings on the ‘Summary Screen’ and press ‘Next’
Click Finish
Export the configuration
Now click on Export Configuration
Save it the file (I’ve saved it on a cluster disk)
Configuring BizTalk on the Second Node
Before we start with configuring BizTalk on the Second Node, we will first perform a failover of the BizTalk Cluster such that all resources are available to our second node. Logon to your second BizTalk Node (in my case BTS002) and open the ‘Failover Cluster Manager’ do this by going to start and in the search box type ‘Failover Cluster Manager’ then hit ‘enter’
Ensure that the main BizTalk node (BTS001) is the current owner
Now fail this cluster over, so that the second node becomes the owner. ‘Right-click’ on your BizTalk Server Cluster Service and select ‘Move this service or application to another node’ –> ‘1 – Move to Node BTS002’
Confirm this action
Verify once all resources are back online that current owner is the Second BizTalk Node (BTS002).
Now click click on ‘Start’ –> ‘All Programs’ –> ‘Microsoft BizTalk Server 2010’ –> ‘BizTalk Server Configuration’
On the ‘Microsoft BizTalk Server 2010 Configuration’ screen, select ‘Custom Configuration’, fill out
- The Database server name (point it to your SQL Cluster!), in my case ‘SQL2008BIZTALK2010’
- Enter the username and password for the BizTalk Untrusted Service, in my case ‘LABsrvc-bts-untrusted’
Once done, press Configure.
Enterprise SSO Configuration
At this point the main configuration screen will appear. Select ‘Enterprise SSO’
Select ‘Enable Enterprise Single Sign-On on this computer’ and select ‘Join an existing SSO system’
Now, verify that the configurations are correct (should point to the same database as mentioned in the previous chapter) and add the correct Service Accounts; in my case:
- Enterprise Single Sign-On Service Account: LABsrvc-bts-sso
Now Click on ‘Apply Configuration’, verify the settings on the ‘Summary Screen’ ,press ‘Next’ followed by ‘Finish’
Group Configuration
Select ‘Group’
Check ‘Enable BizTalk Server Group on this Computer’ and select ‘Join an existing BizTalk Group’ and verify that the configurations are correct (should point to the same databases as mentioned in the previous chapter)
Now Click on ‘Apply Configuration’, verify the settings on the ‘Summary Screen’ ,press ‘Next’ followed by ‘Finish’
BizTalk Runtime Configuration
Select ‘BizTalk Runtime’
Check ‘Register the BizTalk Server runtime components’
Check ‘Create In-Process Host and Instance’.
For Host Name enter: Processing_Host (ignore warning)
Check ‘Create Isolated Host and Instance’ and check ‘Trusted’ right below it
For Isolated Host name enter: Isolated_Host (Ignore the warning)
Ensure that both 32-bit only checkboxes are checked
Now, assign the correct Windows Services and Groups ; in my case:
- BizTalk Host Instance Account: LABsrvc-bts-untrusted
- Biztalk Isolated Host Instance Account: LABsrvc-bts-trusted
- Biztalk Host Users Group: LABBizTalk Applications Users
- Biztalk Isolated Host Users Group: LABBizTalk Isolated Host Users
Now Click on ‘Apply Configuration’, Verify the settings on the ‘Summary Screen’ ,press ‘Next’ and end with ‘Finish’
Business Rules Engine Configuration
Select ‘Business Rules Engine’
Check ‘Enable Business Rules Engine on this computer’ and verify that the configurations are correct (should point to the same databases and should use the correct account as mentioned in the previous chapter)
Now Click on ‘Apply Configuration’. Verify the settings on the ‘Summary Screen’ ,press ‘Next’ and end with ‘Finish’
BAM Tools Configuration
Select ‘Bam Tools’
Check ‘Enable Business Activity Monitoring tools’ and verify that the configurations are correct (should point to the same databases as mentioned in the previous chapter)
Now Click on ‘Apply Configuration’. Verify the settings on the ‘Summary Screen’ ,press ‘Next’ and end with ‘Finish’
BAM Alerts Configuration
We will skip these for now.
In a future post I might come back to these and configure it. However in case you need it installation is quite straight forward, you only need to make sure to install the pre-requisites
BAM Portal Configuration
Select ‘Bam Portal’
Check ‘Enable BAM Portal’
Now Click on ‘Apply Configuration’. Verify the settings on the ‘Summary Screen’ ,press ‘Next’ and end with ‘Finish’
BizTalk EDI/AS2 Runtime Configuration
Select ‘BizTalk EDI/AS2 Runtime’
Check ‘Enable BizTalk EDI/AS2 Runtime on this computer; (other options are greyed out).
Now Click on ‘Apply Configuration’. Verify the settings on the ‘Summary Screen’ ,press ‘Next’ and end with ‘Finish’
Export the configuration
Now click on Export Configuration
Save it the file (I’ve saved it on a cluster disk)
Failover Back to your main BizTalk Node
Open the ‘Failover Cluster Manager’ do this by going to start and in the search box type ‘Failover Cluster Manager’ then hit ‘enter’
Ensure that the main BizTalk node (BTS002) is the current owner
Now fail this cluster over, so that the second node becomes the owner. ‘Right-click’ on your BizTalk Server Cluster Service and select ‘Move this service or application to another node’ –> ‘1 – Move to Node BTS001’
Confirm this action
Verify once all resources are back online that current owner is the Main BizTalk Node (BTS001).
Setting Up BizTalk
We’ll now that we’ve installed and configured BizTalk it’s time to finish up our BizTalk Cluster.
Clustering our Single Sign On Service
Ensure you’re logged on to the BizTalk Server node which is currently the owner; in my case this is BTS002. Once logged open up one of the best editors in the world called notepad. In notepad copy and paste the following code
<sso>
<globalInfo>
<secretServer>SSOCLUSTER</secretServer>
</globalInfo>
</sso>
change the SSOCLUSTER value in the <secretServer> xml-tag to the name of your BizTalk Server Cluster. In my case this would be ‘BTS2010’
Save this file to disk (I saved it to c:tmp) and name it ‘SSO_Secret_Server.xml’
Once stored open up a command prompt do this by going to start and typing ‘CMD’ into the search box followed by hitting ‘Enter’
A command prompt box will open; At this command prompt, change to the Enterprise SSO installation folder. In my case I typed “c:Program FilesCommon FilesEnterprise Single Sign-On”
Now enter the following command ‘ssomanage –updatedb <SSO_Secret_Server.xml location> (my case ssomanage –updatedb “c:tmpSSO_Secret_Server.xml”) hit ‘enter’ and once done close the window.
Open the ‘Failover Cluster Manager’ do this by going to start and in the search box type ‘Failover Cluster Manager’ then hit ‘enter’
In the ‘Failover Cluster Manager’ right click on your BizTalk Cluster Service (in my case BTS2010) and select ‘Add a resource’ –> ‘4 – Generic Service’
On the ‘Select Service window’, select ‘Enterprise Single Sign On Service’ and press ‘Next’
On the ‘Confirmation’ screen press ‘Next’
On the ‘Summary’ screen press ‘Finish’
Now in the main pane; you will see that the ‘Enterprise Single Sign-On Service’ is added as a resource.
Right click on it and select ‘properties’
On the ‘General’ Tab; ensure to check ‘Use Network Name for computer name’
Confirm this action by click ‘Yes’
Click on ‘Ok’ on the ‘Information Screen’
Go to the ‘Dependencies’ Tab, add the following depended resources and once done press ‘apply’
- name (in my case BTS2010)
- dtc resource (in my case MSDTC-BTS2010)
Now start the SSO resource by right-clicking on it and selecting ‘Bring this resource online’
Once this resource is online, right click on the BizTalk Cluster Service and select ‘Move this service or application to another node’ –> ‘1 – Move to node BTS002’
Confirm the action
Now log on to the BizTalk node you just failed over to (in my base BTS002). On that server open a command prompt do this by going to start and typing ‘CMD’ into the search box followed by hitting ‘Enter’
A command prompt box will open; At this command prompt, change to the Enterprise SSO installation folder. In my case I typed “c:Program FilesCommon FilesEnterprise Single Sign-On”
Now enter the following command ‘ssoconfig –restoresecret <RestoreFile (Backup of your SSO Secret you saved earlier)> (my case ssoconfig –restoresecret “f:SSO SecretSSO7884.bak”)
Hit enter,and enter the Secret Password and hit enter
You should see the following message
In case you receive an adapter, ensure that you followed all steps as mentioned above!
Modify the BizTalk Application Configuration
In order to optimize the throughput with regards to HTTP based send ports, we need to add a configuration section to both our BTSNTSvc.exe.config and BTSNTSvc64.exe.config files which can be found in the installation directory if BizTalk. (in my case “C:Program Files (x86)Microsoft BizTalk Server 2010”) So open-up windows explorer and browse to your BizTalk installation directory and upon BTSNTSvc.exe.config by right clicking it and selecting ‘open with…’ –> ‘notepad’ (if notepad is not visible, select ‘Choose default program… and select then notepad’)
Now add the following code section just above the </configuration> closing tag and save the file.
<system.net>
<connectionManagement>
<add address="*" maxconnection="25" />
</connectionManagement>
</system.net>
Once done, your file should look something like this:
One of the standard settings which come with a BizTalk Installation is the setting which indicated the maximum connections allowed for HTTP based send adapters. This setting is by default set to Now repeat this step for the BTSNTSvc64.exe.config Once done, log on to your other BizTalk server and repeat the above mentioned steps.
Adding BizTalk Hosts
At this point we are ready to finally open up the BizTalk Administrator and finish our BizTalk Cluster So let’s get Started. First of all log on to your active BizTalk Node and open the BizTalk Administrator Console. You can find it by going to ‘Start’ –> ‘All Programs’ –> ‘Microsoft BizTalk Server 2010’ and clicking on ‘BizTalk Server Administrator’
In the BizTalk Server Administration Console, expand the ‘BizTalk Server Node’, expand ‘BizTalk Group’, expand ‘Platform Settings’ and select ‘Hosts’
In the main pane, you should now see two Hosts (these hosts have been created while we configured BizTalk earlier on).
We now will add a few more hosts, beings
- Send_Host
- Receive_Host
- Tracking_Host
- Legacy_Host
- x64_Host
Adding a new host is quite simple; just right-click on the main pane and select ‘New’ –> ‘Host’
On the Host Properties screen, change/add the following properties. Once done click on ‘Ok
Name: Send_Host Type: In_Process Options: 32-bit only Track Windows group: <add your BizTalk Application Users Group>
On the Host Properties screen, change/add the following properties. Once done click on ‘Apply’
Name: Receive_Host Type: In_Process Options: 32-bit only Windows group: <add your BizTalk Application Users Group>
On the Host Properties screen, change/add the following properties. Once done click on ‘Ok’
Name: Tracking_Host Type: In_Process Options: 32-bit only and Check Allow Host Tracking Windows group: <add your BizTalk Application Users Group>
On the Host Properties screen, change/add the following properties. Once done click on ‘Ok’
Name: Legacy_Host Type: In_Process Options: 32-bit only Windows group: <add your BizTalk Application Users Group>
On the Host Properties screen, change/add the following properties. Once done click on ‘Ok’
Name: x64_Host Type: In_Process Options: 32-bit only DO NOT CHECK! Windows group: <add your BizTalk Application Users Group>
Now double click on the ‘Processing Host’ and remove the check in front of ‘Allow Host Tracking’ and click ok.
A warning pops up indicating that a restart is required of the associated host instances, press ‘Ok’.
Adding BizTalk Host-Instances
First of all log on to your active BizTalk Node and open the BizTalk Administrator Console. You can find it by going to ‘Start’ –> ‘All Programs’ –> ‘Microsoft BizTalk Server 2010’ and clicking on ‘BizTalk Server Administrator’
In the BizTalk Server Administration Console, expand the ‘BizTalk Server Node’, expand ‘BizTalk Group’, expand ‘Platform Settings’ and select ‘Host Instances’
You should see, four host-instances; and you should notice that we have 2 exactly the same host instances on both BizTalk Server instances.
Adding a new host instance is quite simple; just right-click on the main pane and select ‘New’ –> ‘Host Instance’
On the Host Instance Properties screen, select the following:
Host Name: Legacy_Host Server: BTS001
Now click on ‘Configure’
On the ‘Logon Credentials’ screens enter the details of the windows service account you want this host instance to execute with (the Untrusted BizTalk Service Account in AD), in my case this will be LABsrcv-bts-untrusted. Once done press ‘OK’ and once more ‘OK’
Now repeat the above steps, but this time on the ‘Host Instance Properties’ screen select ‘BTS002’ for the server propery
Note: Don’t forgot to hit configure and enter the service credentials
Repeat the above mentioned steps for the remaining other hosts, being:
- Tracking_Host
- Send_Host
- Receive_Host
- x64_Host
Once done, your main pane should look similar to the image below
Adding the correct Host Instances to the Adapters
First of all log on to your active BizTalk Node and open the BizTalk Administrator Console. You can find it by going to ‘Start’ –> ‘All Programs’ –> ‘Microsoft BizTalk Server 2010’ and clicking on ‘BizTalk Server Administrator’
In the BizTalk Server Administration Console, expand the ‘BizTalk Server Node’, expand ‘BizTalk Group’, expand ‘Platform Settings’ and expand the ‘Adapters’ node
Click on the ‘File’ Adapter, and then right-click in the main-pane and select ‘New’ –> ‘Send Handler’
On the ‘File – Adapter Handler Properties’ For Host name select Send_Host and ensure to check ‘Make this the default Handler’. Once done press ‘Ok’
A warning will pop-up, just read it and click “ok”
Right-click in the main-pane once more and select ‘New’ –> ‘Receive Handler’
On the ‘File – Adapter Handler Properties’ For Host name select ‘Recieve_Host’. Once done press ‘Ok’
A warning will pop-up, just read it and click “ok”
In the main-pane right click on ‘Processing_Host’ for the direction ‘Send’ and select ‘Delete’
Confirm the ‘Deletion’ by selecting ‘Yes’
Note the ‘warning’ and press ‘Ok’
In the main-pane right click on ‘Processing_Host’ for the direction ‘Receive’ and select ‘Delete’
Confirm the ‘Deletion’ by selecting ‘Yes’
Note the ‘warning’ and press ‘Ok’
Now repeat the above steps for the following adapters, but note the host_names as listed below
Adapter | Send Host Name | Receive Host Name | Remarks |
FTP | Legacy_Host (make default) | Legacy_Host | Delete Processing_Host entries |
HTTP | Send_Host (make default) | No change | Delete Processing_Host entries |
MQSeries | Send_Host (make default) | Receive_Host | Delete Processing_Host entries |
MSMQ | Send_Host (make default) | Receive_Host | Delete Processing_Host entries |
POP3 | Not Applicable | Legacy_Host | Delete Processing_Host entries |
SMTP | Legacy_Host (make default) | Not Applicable | Delete Processing_Host entries |
SOAP | Legacy_Host (make default) | No Change | Delete Processing_Host entries |
SQL | Can’t delete Receive Processing_Host entries as they are used (see note below) | ||
WCF-BasicHTTP | Send_Host (make default) | No Change | Delete Processing_Host entries |
WCF-Custom | Send_Host (make default) | Receive_Host | Delete Processing_Host entries |
WCF-CustomIsolated | Not Applicable | No Change | |
WCF-NetMsmq | Send_Host (make default) | Receive_Host | Delete Processing_Host entries |
WCF-NetNamedPipe | Send_Host (make default) | Receive_Host | Delete Processing_Host entries |
WCF-NetTcp | Send_Host (make default) | Receive_Host | Delete Processing_Host entries |
WCF-WSHttp | Send_Host (make default) | No Change | Delete Processing_Host entries |
Windows SharePoint Services | Send_Host (make default) | No Change | Delete Processing_Host entries |
Note: In order to delete the Receive Processing_Host, we first need to change the binding of the receive locations of the ‘Biztalk EDI Application’, in order to do so. Click on ‘Applications’ –> <All Artifacts>’ –> and select ‘Receive Locations’.
Perform the following actions for all receive locations visible in the main pane Double click receive-location and change the Receive handler to: Receive_Host and click ‘Ok’
Now go back to the SQL Adapter and delete the ‘Processing Host’
Clustering BizTalk Server Hosts
At this point we are almost done with our tasks in the BizTalk Server Administration Console. The one thing which we now need to do is actually cluster the hosts. In the BizTalk Administration Console, click on the Hosts node
Perform the following actions for all hosts, with exception of the Isolated_Host Right Click on a host and select ‘Cluster’
Select the Cluster Resource Group to use, in my case ‘BTS2010’
Select ‘Ok’ Once you’re done; you should see the that the ‘Clustered’ Column says yes for all hosts except for the ‘Isolated Host’ as out Isolated Host can not be clustered (but we’ve taken care of this in a previous step when we’ve clustered IIS )
At this point we are almost done, we only need to verify everything in our Cluster Failover Manager and add some dependencies.
Verifying our BizTalk Cluster Resources and adding dependencies
At this point we are almost done, we only need to verify everything in our Cluster Failover Manager and some dependencies to the just clustered hosts Open the ‘Failover Cluster Manager’ do this by going to start and in the search box type ‘Failover Cluster Manager’ then hit ‘enter’
In the Failover Cluster Manager, select your BizTalk Cluster Service and notice all the BTSSvc$…. resources added
Well, for all these resources we will add a few dependencies. So let’s get started. ‘Right Click’ on the first BTSSvc$… resource and select ‘properties’
On the properties screen select the ‘Dependencies’ Tab and add the following dependencies and once done click ‘Ok’
- MSDTC (in my case ‘MSDTC-BTS2010’)
- Enterprise Single Sign-On Service
Repeat the above mentioned step, for all other BTSSvc$… resources.
Closing note
Congratulations, at this point you’ve created a complete BizTalk High Availability Environment. Well it took some time and effort, but hey you accomplished it 🙂 and that at least deserves a congratulation. So what’s up next you might be wondering, well most likely I won’t be posting a new article pretty soon as I am currently involved in reviewing one of the upcoming BizTalk 2010 books and this takes up more time than I initially expected 🙂 But hey, isn’t that with all the things we ‘developers’ do 😉 Anyway, if you have any suggestions on future article with regards to BizTalk, Programming in general or anything else; well just drop me a note [email protected] or try to contact me on Twitter (ReneBrauwers). Well it has been a pleasure and it took me quite some time (avg 10hrs per post) to put all these posts together so I really hope that one of these posts or all have or can help you in anyway. If you have any questions or feedback please feel free to leave a comment and I’ll try to address them. So until the next time and don’t forget to check back regularly for new posts (or even better just follow me in Twitter as I’ll tweet whenever there is a new blogpost 🙂 Cheers René