BizTalk Server 2006 Virtual Multi-Box Install
Introduction
One of the great improvements in BizTalk Server 2006 was the ease of the installation and configuration of a developer machine install. Whilst single box installs are now relatively simple, there is still quite a challenge in installing BizTalk Server in a multi-server environment. This article will run through a basic multi server installation of BizTalk Server 2006 using Virtual PC to host the servers.
It’s worth running through a multi server installation using Virtual PC before trying it with real hardware. Using undo disks across multiple virtual machines means you can roll back and try again if the configuration fails, which is a definite time saver. If you want to try this at home, you’ll need basic knowledge of BizTalk 2004 or 2006 single box installation, along with installing all the other server products that go with it. A basic knowledge of creating an Active Directory domain, and creating domain users and groups is good to have too.
I have bullet pointed a few of the setup tasks, but as this is a BizTalk lab, not an Active Directory, IIS, or Windows Server lab, so you’ll have to forgive me for not detailing these too well (there’s plenty of documentation out there for these tasks anyway, right?).
Simplified Install
This lab will focus on the installation of the core BizTalk Server components:
Enterprise SSO
BizTalk Group
BizTalk Runtime
MSMQT
Business Rules Engine
Software Used for this Lab
For this lab, I used the software listed below.
Microsoft Virtual PC 2004 with SP1
Windows Server 2003 Standard Edition with SP1
SQL Server 2005 Developer Edition
BizTalk Server 2006 Developer Edition
I found the best option was to download the ISO files for these from MSDN, which saves swapping CDs.
Using Microsoft Virtual PC
I used Microsoft Virtual PC to host the virtual machines for this setup, it works well, and it’s now free to use. Virtual Server or other products may also work fine.
Cunning Use of Undo Disks
If your first BizTalk multi-box install goes anything like my first attempt, you will be glad of the ability to create undo disks in Virtual PC. For the configuration stages, I usually set undo disks on all the VPC images, then run the configuration, and skip changes if anything went wrong. It’s much easier to run the configuration from a clean setup than to have to manually delete all the databases.
Virtual Machine Settings, RAM and HD Requirements
If you have a gig of ram, you should just be able to have three virtual machines running at the same time, provided you set the ram for each VM accordingly. I’ve found using two gigs of RAM gives much better results.
Here’s a rough guide to how you should set the VM ram.
If you have…
Then…
2 GB
Use 512 MB for each virtual machine
1 GB
Use 256 MB for each virtual machine
Less than 1 GB
Buy more RAM
I ran this lab with 2 gig ram, and used 512 for each VM. This meant the VMs were running pretty slowly, but it was fine for functionally testing the install.
You’ll also need about 10 - 15 GB hard disk space for the virtual machines. I found that using an external USB2 hard drive gave me more performance than using the internal drive on my laptop.
Local Only Networking
As we are creating a domain for the BizTalk server group, it’s best to work with local only networking on all the VMs. This means it’s easy to set a static IP address for the domain controller VM, and have the other servers use it for DNS and DHCP.
Multi-Box Install Overview
In this lab, I went for the simplest option of a three server configuration, one for Active Directory, SQL Server, and SSO Master Secret Server, and two BizTalk boxes.
ServerName
Description
ADSQL
Active directory server hosting the BizTalk domain user accounts and groups, also hosts SQL server and the SSO Master Secret Server.
BizTalk1
First BizTalk Server to be installed, the Create Group configuration is run on this server.
BizTalk2
Second BizTalk server to be installed, the Join Group configuration is run here.
I placed the SSO Master Secret Serve on the ADSQL Server, as the latest documentation is recommending that in small deployments (where you don’t have a separate cluster for the Master Secret Server), you can have it installed on the same cluster that is hosting the SQL Server.
Creating a Base Image
To save some time installing Windows Server three times, I created a base image that I could copy, SysPrep, and use for the other server installs. To create a base image:
Install Windows Server 2003 With SP1
Install Virtual Machine Additions
We can now SysPrep this image to create our servers.
Using SysPrep
The SysPrep tool is used to rename the virtual machine, and ensure that all the security identifiers are replaced in the operating system. If we just rename the machine in the computer properties, we may well run into DTC problems when we attempt to create the BizTalk group using the BizTalk configuration wizard.
The file sysprep.exe is located in the CAB file DEPLOY.CAB in the SUPPORT\TOOLS folder of the windows install disk.
Run SysPrep on the base image to seal it:
Create a folder C:\Install\Sysprep on the VPC installation
Copy the contents of DEPLOY.CAB to C:\Install\Sysprep
Run sysprep.exe
In the main dialog box, click Reseal
You can then create your servers for the multi-box install starting from this image. Note that you have to enter the key for Windows Server 2003 so keep it handy.
I’ve also tried using the NewSid tool to rename VPCs, but this tends to cause problems with DTC when configuring the BizTalk Servers.
Installing the AD/SQL Server
The first server to install is the Active Directory and SQL Server. This will host the BizTalk domain user accounts and groups, and also the BizTalk Server databases. As this server would be a SQL Server cluster in the real world, the Enterprise Single Sign on Master Secret Server will also be hosted on this server.
Create and Activate the VM
Make a copy of the base image hard disk file (VHD), rename it to ADSQL Hard Disk.vhd.
Create a Virtual Machine named ADSQL which uses this drive, set the RAM according to the RAM on your host machine.
Set the Networking property to Local Only
Start the Virtual Machine
When the VM starts, it will enter Mini Setup, you will have to enter your key, set the password, and set the time zone. Accept all the other settings as default.
Install Active Directory
When the image starts, you are ready to install Active Directory. The following procedure will install Active Directory, DHCP, and DNS.
Set the VM to have a static IP address of 192.168.0.1 (Control panel, Network Connections, Local Area Connection, Properties, TCP/IP, Properties, Use 192.168.0.1 for the IP address, and the DNS server).
Run Manage Your Server, and click Add or Remove a Server Role
Select Typical configuration for a first server, and enter biztalk.local as the domain name
Accept all the defaults, selecting No, do not forward queries for the DNS page
When the install is almost complete, the VM will restart and finish the install
Install SQL Server 2005
Perform a basic installation of SQL Server 2005, selecting SQL Server Database Services and Workstation components, Books Online and Development tools. Use the Local System account as the Service Account, and select SQL Server Agent to start at the end of the setup. This will take a while, and you will be prompted to change discs half way through the process.
Whilst the SQL Install is running, you can also:
Configure the domain users and groups
Create, activate, and install BizTalk1
Create, activate, and install BizTalk2
The BizTalk configuration requires SQL Server to be running.
Configure SQL Server for Remote Connections
In order for the BizTalk servers to connect to SQL Server, remote connections need to be enabled.
Run SQL Server Surface Area Configuration
Select Surface Area Configuration for Services and Connections
On the Database Engine, enable local and remote connections for both protocols
Restart the database engine
Creating the BizTalk Domain Users and Groups
As we are working in a multi-box environment, we will need to create the active directory users and groups. We will also need to create memberships for some of the accounts in the relevant groups.
Use the Active Directory Users and Computers tool for these tasks; it’s in Administrative Tools on the start menu.
Create a BizTalk Organizational Unit
To keep things tidy, we will place all the BizTalk users and groups in an ou (Organizational Unit).
Create a new Organizational Unit named biztalk to the biztalk.local domain.
Create the Users
The users are required for the various BizTalk services. I used the same password for all the users, and kept it in a txt file on the desktop so I could copy-paste it when I needed to. (Not good to do in production though). I also copy-pasted the user and group names, you can do this from this article.
Create an organizational unit (ou) names biztalk, and the users and groups in this ou.
For each user:
Paste the username into FirstName, and User logon name
Paste the password in both password boxes
Uncheck User must change password…, check User cannot change password, and Password never expires
User
Description
SsoService
Enterprise Single Sign-On service account
BizTalkHost
BizTalk Server host service account
BizTalkIsoHost
BizTalk Server isolated host account
ReuService
The Business Rules Engine update Service
Create the Groups
Copy-paste the group names to create the following groups in the biztalk ou.
Add the relevant users to the groups.
Group
Members
Description
SSO Administrators
Administrator
SsoService
Group for administrating SSO
SSO Affiliate Administrators
Group for administrating SSO
BizTalk Server Administrators
Administrator
BizTalk administration users
BizTalk Server Operators
BizTalk operation users
BizTalk Application Users
BizTalkHost
BizTalk in process host instances
BizTalk Isolated Host Users
BizTalkIsoHost
BizTalk out of process host instances
These groups will be used for the security configuration of the BizTalk Server databases.
Configure DTC
In order for BizTalk to run against the databases on a remote SQL server, you will need to configure the DTC options.
In the Add or Remove Programs section of the control panel, select Add/Remove Windows Components
Select Enable network COM+ access and Enable network DTC access
Restart the server
Install and Configure Enterprise Single Sign-On Master Secret Server
The SSO Master Secret server will be installed on the ADSQL Server. In a production environment, the SQL Server would probably be hosted on a clustered server, it is also possible to host the Master Secret Server in the same cluster as the SQL Server hosting the BizTalk databases.
Run the BizTalk Server Installation
On the Installation options, select ESSO Administration module and ESSO Master Secret Server only
After the installation, launch Configuration, and select Custom Configuration
Configure the SSO Service to create a new SSO System
Use the SSO Service domain account (BIZTALK\SsoService)
Set the SSO groups to BIZTALK\SSO Administrators and BIZTALK\SSO Affiliate Administrators respectively
Set a password and reminder for the Master Secret backup
Apply the configuration
Use Event Viewer to verify the ENTSSO service has started successfully
Install the First BizTalk Server
Make a copy of the base image hard disk file (VHD), rename it to BizTalk1 Hard Disk.vhd.
Create a Virtual Machine named BizTalk1 which uses this drive, set the RAM according to the RAM on your host machine.
Set the Networking property to Local Only
Start the Virtual Machine
Complete the mini-setup, using BIZTALK1 as the computer name
Install BizTalk Server 2006
As we are using local networking, we will need to download the BtsRedistXpEN32.cab file in order to install the BizTalk prerequisites. To save a bit of drive space I created a compressed folder named Install, and copied the Bts Install files and the CAB file into it.
These are the options I selected:
Documentation
Server Runtime (without Base EDI Adapter)
Administration Tools
Additional Software / Business Rules Components
Copy the Image to create BizTalk2
We can now make a copy of BizTalk1 Hard Disk.vhd, and rename it to BizTalk2 Hard Disk.vhd, this will allow us to SysPrep this image to create BizTalk2.
Shut down BizTalk1
Make a copy of BizTalk1 Hard Disk.vhd
Rename the copy BizTalk2 Hard Disk.vhd
Join the biztalk Domain
Use My Computer – Properties – Computer Name to join the biztalk domain.
Configure DTC
In order for BizTalk to run against the databases on a remote SQL server, you will need to configure the DTC options.
In the Add or Remove Programs section of the control panel, select Add/Remove Windows Components
Select Enable network COM+ access and Enable network DTC access
Restart the server
Creating the BizTalk Group
Set Undo Disks
Now it the time to use the undo disks, if things go bad, it’s great to be able to roll back to how things were before, and have another try.
Shut down VMSQL and BIZTALK1
Enable undo disks on both VMs
Start VMSQL
Start BIZTALK1
Logon to BizTalk1 as the BIZTALK domain administrator (BIZTALK\Administrator).
Configure BizTalk1
In order to access the domain accounts, you will need to logon to BizTalk1 as the BizTalk domain administrator (BIZTALK\Administrator).
Run Configuration from the BizTalk 2006 menu, and select Custom configuration.
Configure BizTalk as follows:
Section
Tasks
Enterprise SSO
Enable ESSO
Join an existing SSO system
Database Server Name – ADSQL
Set the account name to BIZTALK\SsoService
Enterprise SSO Secret Backup
No changes
Group
Enable BizTalk Server Group on this computer
Create a new BizTalk Group
Database Server Name – ADSQL (3 databases)
Set the group names to BIZTALK\BizTalk Server Administrators and BIZTALK\BizTalk Server Operators
BizTalk Runtime
Register BizTalk Server runtime components
Create BizTalk In-Process Host and Host Instance
Create BizTalk Isolated Host and Host Instance
Set the account names to BIZTALK\BizTalkHost and BIZTALK\BizTalkIsoHost)
Set the group names to BIZTALK\BizTalk Application Users and BIZTALK\BizTalk Isolated Host Users
MSMQT
No changes
Business Rule Engine
Enable Business Rules Engine on this computer
Database Server Name – ADSQL
Set the account name to BIZTALK\ReuService
HWS Runtime
No changes
BAM Tools
No changes
BAM Alerts
No changes
Export Configuration
BizTalk 2004 provided the option to save the configuration file after completing the Wizard. BizTalk 2006 allows you to export, and import configuration files, which means you can re-use your create group configuration settings for using when you join the group on the second server. Better still, you can leave the passwords out of the configuration, meaning configuration files can be distributed without them containing sensitive information. This allows an administrator to import the configuration, set the passwords, and then configure the server, ensuring that the users, groups, and database settings are consistent.
Apply configuration
Apply the configuration. This is the most likely point of failure in this lab (hence the undo disks). If things go bad, take a while to look at the problem, and check that you have completed the setup of the servers correctly.
Checklist
DTC Settings Enabled
Verify Configuration
Check the Application section of the Windows Event log, there should be lots of Information entries, and no errors or warnings relating to BizTalk or ESSO.
Start the BizTalk Server administration console and verify the BizTalk Server host instance is started.
Try stopping and starting the host instance.
Configure the BizTalk2
The second BizTalk server will be configured with the “Join Group” option.
Activate the Image and Join the Domain
Create a Virtual Machine based on BizTalk2 Hard Disk.vhd, ensure that you have selected Local Only networking
Start the VM, and then run SysPrep.
Start the VM again, and complete the mini-setup, using BIZTALK2 as the computer name.
Join BizTalk2 to the BIZTALK domain
Restart BizTalk2, and log on as the BIZTALK domain administrator (BIZTALK\Administrator).
Configure BizTalk2
As you have already configured BizTalk1, and exported the configuration file, you can use this file for the basic settings of the BizTalk2 configuration. When you import this configuration file, you will need to set some of the options, and set the passwords for the accounts.
Ensure you are logged on as the BIZTALK domain administrator (BIZTALK\Administrator).
Copy the configuration file to BizTalk2
Start the BizTalk Configuration application
Import the configuration file
Use the “Join Group” option in the configuration section
The configuration for BizTalk2 will run much faster than for BizTalk1, as the BizTalk databases have already been created on ADSQL.
Troubleshooting
Hopefully I’ve covered all the important points to get up and running with a multi-box install. But there are bound to be issues that people will hit. Some of the common ones are:
DTC Configuration Issues – Check the settings. Sometimes it may help configure the servers as application servers, (adds IIS and DTC functionality), as this seems to set the correct DTC settings.
SID Conflicts – If the virtual images are not sys-prepped, the SIDs can cause conflicts with the DTC configuration.
Security Issues – Make sure you are logged on as Domain Admin when you configure the BizTalk servers.
Databases Already Exist – If a configuration fails, you will need to delete the existing BizTalk databases before you run config again. I find it’s easiest to use undo disks, and skip changes if there’s an error.
Testing the Installation
Once you have the multi-server environment setup, there’s quite a few things you can test on it.
Creating a multi server deployment package for a BizTalk application. I usually setup a file share on ADSQL when using the file adapter.
Stop the SSO Master Secret Server on ADSQL, and see how the BizTalk Servers react.
Shut down one of the BizTalk Servers when processing a batch of messages and check out the recoverability. I usually use PerfMon on ADSQL to monitor the BizTalk servers using the BizTalk perf counters.
post by Allen Msdn Blog
Hi,
ReplyDeleteAm new to biztalk installation , Please help me out in this scenario .
We have three window 2008 server’s
1. BizTalk server 2009
2. BizTalk Server 2009
3. SQL Server 2008
And required Database are followed
BizTalkDTADB
BizTalkMsgboxDbMaster
BizTalkMsgboxDbslave01
BizTalkMsgboxDbslave02
BAM Archive
BAMPrimaryImport
BizTalkMgmtDB
BizTalkRuleEngineDB
SSODB
Give some idea about the installation and configuration (creating group and user) , that will help me to move forward .
Tks in advance
Regards,
Anto.