You might have seen the announcement a couple of months ago of IBM
In this article I will describe the steps I took to get IBM Integration Bus Version 9 installed and running on SoftLayer servers.Â You might want to do this as part of establishing an off-premise cloud environment that includes integration capability, or for managing a pool of integration servers for development and testing.
SoftLayer provides several ways to create servers. Â One way is to create a “Cloud Computing Instance”, which is a single server with your choice of operating system, processor, memory, storage etc.Â Another way is to create a “Bare Metal Computing Instance” which provides a Hypervisor, such as VMWare ESXi, along with the machine and network that you specify.Â You can then create multiple virtual machines on that Hypervisor using your own images.
SoftLayer provides a variety of different billing methods for servers; you will need a SoftLayer account to follow these instructions. SoftLayer provides a one-
In this article, I cover two approaches to create a server and install and configuring IBM Integration Bus (â€śIIBâ€ť) Version 9:
- Install IBM Integration Bus v9 Developer Edition on a SoftLayer Cloud Computing Instance
- Create an IIB Virtual Machine on a SoftLayer Bare Metal Computing Instance using the IIB v9 Hypervisor Edition
In a future article, I’ll cover automation of the installation and configuration so servers that have IIB and other software can be set up easily and consistently.
Note that this article covers installing and configuring an IIB runtime on a SoftLayer server only.Â Additional steps are required to connect message flows running on the SoftLayer server to the resources and endpoints that the message flows use if they are outside the SoftLayer network.
You can get more detail on supported platforms in the IBMÂ
Install IBM Integration Bus v9 Developer Edition on a SoftLayer Cloud Computing Instance
In this section Iâ€™ll describe how to create a server which is a SoftLayer Cloud Computing Instance and install IBM Integration Bus v9 on that server. In this case the IBM Integration Bus Developer Edition runtime is installed on the SoftLayer server, while the Integration Toolkit and Integration Explorer are assumed to have already been installed on your local machine.Â When this procedure is complete you will be able to connect to the IBM Integration Bus node on the SoftLayer server from your local Integration Toolkit.Â The procedure has the following steps:
- Create a SoftLayer Server
- Get IBM Integration Bus Developer Edition
- Transfer files to the SoftLayer server
- Install IBM Integration Bus runtime on the SoftLayer server
- Create a simple MQ and Integration Bus configuration on the softLayer server
- Deploy to and manage the Integration Bus runtime
Create a SoftLayer Server
To create a SoftLayer server, starting from the Soft
- From the Sales tab, select “add monthly computing instance”.
- On the first page you can select the data center, processor, RAM and networking.Â For the IBM Integration Bus runtime, I chose 2 cores with 4GB RAM and default settings for networking.Â The page also allows you to specify the number of instances to create a set of identical servers if you wish.
- The next page covers storage choices; I chose a 100GB local disk and took the default settings for everything else.
- Next select the O/S and software. I chose â€śRed Hat Enterprise Linux 6 – Minimal Install (64 bit) (1-4 Core)â€ť with no additional software.
- Page 4 describes management services, firewall etc. I just accepted the defaults.
- The final page is where you specify configuration for the server: SSH keys, host and domain name (I used softlayer.com but you may want to use your own domain name here), and an optional provisioning script with associated metadata which would be the basis for automated software install and configuration.
Once you have selected the items in the steps, it should take around an hour for the server to be created and set up for you. While you are waiting, you can download the IBM Integration Bus software to install.
Get IBM Integration Bus Developer Edition
You can download the IBM Integration Bus runtime and toolkit as separate packages and for Windows or Linux operating systems.Â For the purposes of this article, I downloaded the runtime package for Linux and the toolkit package for Windows.Â If you don’t already have IBM Integration Bus Developer Edition installed on your local machine, you can use the toolkit package for your local machine’s OS to install the toolkit and Integration Explorer so that you can remotely manage and deploy to the IBM Integration Bus node on the SoftLayer server.
Transfer files to the SoftLayer server
Once you have downloaded the IBM Integration Bus Developer Edition runtime install image to your local machine, you then need to transfer the image to the SoftLayer server you have just created. There are several options, such as SCP, FTP, and Soft
Once your SoftLayer server is ready, log in via SSH using the public IP address and root password given in the server properties page. To find the IP address and password navigate to the Soft
yum install vsftpd
/vsf tpd/ vsft pd.c onfÂ Â Â Â <- disable anonymous access
/vsf tpd/ ftpu sers Â Â Â Â Â Â Â <- comment out root
/vsf tpd/ user _lis tÂ Â Â Â Â Â <- comment out root
service vsftpd start
chkconfig vsftpd on
Now that the FTP daemon is running, you can use FTP from your local machine to copy the install image to the SoftLayer server:
tlay er-s erve r-ip >
0-II B-LI NUXX 74-D EVEL OPER -RUN TIME .tar .gz
Once this is done, use the SSH session to extract the install image on the SoftLayer server:
tar -zxvf 9.0.
0-II B-LI NUXX 74-D EVEL OPER -RUN TIME .tar .g z
This extracts the files into a subdirectory named â€śmes
Install IBM Integration Bus runtime on the SoftLayer server
The next step is to run the Linux installer. I chose to base this on the supplied installAllSilent.sh script which is in the mess
ageb roke r_ia _dev elop er/s ampl e_sc ript s
allA llSi lent .shÂ <- remove failure check for toolkit â€“ if statement: if [ ! -d $ITK_INSTALL_IMAGE ]; and delete the last few lines that install Toolkit/Explorer
sh installAllSilent.sh -ACC
EPT_ ALL_ LICE NSE S
Create a simple MQ and Integration Bus configuration on the SoftLayer server
There are a few steps to set up a default configuration of the MQ and IBM Integration Bus runtime.Â When connecting from your local machine to the integration node on the SoftLayer server you need to ensure that the user under which you are running the Integration Toolkit has authority to access the MQ resources that are associated with the integration node.
First set up permissions for the root user and the user on your local machine to access MQ. In an SSH session on the SoftLayer server type the following commands:
adduser <local machine user name>
usermod -G mqm -a <local machine user name>
usermod -G mqm -a root
After you do this you will need to log out of the server and back in again so that MQ can pick up the change in permissions. Next create the Queue manager for the integration node (I chose to name mine “SLIB9QMGR”) and enable remote connection for the queue manager, so that you can connect from a local Integration Toolkit or Integration Explorer to the runtime on the SoftLayer server.Â Note that here I’m creating the MQ and Integration Bus objects under root for convenience; recommended practice is to create them under a separate user to allow greater control over what the products are able to do. Enter these commands in an SSH session on the SoftLayer server:
ENER (SLI B9QM GR.S LIB9 QMGR ) TRPTYPE(TCP) PORT(2414)
NEL( SYST EM.A DMIN .SVR CONN ) CHLTYPE(SVRCONN)
ENER (SLI B9QM GR.S LIB9 QMGR )
ALTER QMGR CHLAUTH(DISABLED)
Finally create the integration node (named “SLIB9NODE”) and an integration server (named “FIRST”). The â€śmqsiprofileâ€ť needs to be run first to set up the environment before the mqsi commands will work:
/ibm /mqs i/9. 0.0. 0/bi n/mq sipr ofil e
mqsicreatebroker SLIB9NODE -q SLIB9QMGR
crea teex ecut iong roup SLIB9NODE -e FIRST
You now have a running integration node and server that is ready for integration applications to be deployed.
Deploy to and manage the IBM Integration Bus runtime
To connect to this integration node from the Integration Explorer running on your local machine:
- Start Integration Explorer on your local machine.
- Add the remote queue manager by specifying the IP address of the SoftLayer server and port 2414.
- Add the remote integration node by right-clicking on “Integration Nodes” > “Connect to a remote Integration Nodeâ€¦”, then specifying the SoftLayer Host IP address, queue manager name (SLIB9QMGR) and port 2414
To connect to the integration node from the Integration Toolkit:
- Start Integration Toolkit on your local machine.
- Right-click “Integration Nodes” in the â€śIntegration Nodesâ€ť view, select “Connect to a remote Integration Node”, specifying the IP address, Queue Manager name (SLIB9QMGR) and port (2414).
You can now deploy integration applications to the integration server on this node, as well as creating new integration servers on the node and starting/stopping them.
Create an IIB Virtual Machine on a SoftLayer Bare Metal Computing Instance using the IIB v9 Hypervisor Edition
Virtual Machines can be created on a SoftLayer Bare Metal Computing Instance, which allow you to set up multiple identical machines with a fully-specified configuration and set of software.Â IBM Integration Bus Version 9 provides a HypervisorÂ Edition which has all of the IBM Integration Bus components (Runtime, Toolkit, Explorer) and MQ prerequisite pre-installed. The following sections describe a way you can set this up, with the following steps:
- Create a new SoftLayer Bare Metal Computing Instance
- Enable public IP access to the Bare Metal Management Server
- Install local vSphere client
- Transfer HVE image to datastore
- Identify the IP address for the IIB Virtual Machine
- Create the IIB Virtual Machine
For the purposes of this article I chose to make the Bare Metal Management server accessible via a public IP address, while the IBM integration Bus virtual machines are on a private network.
Create a new SoftLayer Bare Metal Computing Instance
Set up a SoftLayer Bare Metal Computing instance by starting from the Soft
- From the Sales tab, select “Add monthly bare metal instance”
- On the first page I chose first available data center, â€ś4 x 2.0 GHz Core Bare Metal Instance – 4 GB Ramâ€ť as the Bare Metal Instance, and left the rest of the settings at the default values.
- On the second page I accepted the default storage settings.
- On the Software page I selected â€śVMWare ESXi 5.1â€ť as the operating system and everything else as default values.
- I accepted the default settings on the Services page.
- The final page is where you specify the host and domain name for the management server, again I chose to use softlayer.com as the domain.
You will need to also request IP addresses for the Virtual Machines. I chose to request a block of 8 portable addresses on the internal network for my VMs once the Bare Metal Instance provisioning was complete.
- Select Cloudlayer then Bare Metal Computing
- In the list, select your bare metal instance, and then on its property page under network â€śeth0 (private)â€ť click the request additional IP addresses link. Make a note of the VLAN ID, in my case 959.
- Request 8 portable private IP addresses. Select the VLAN for your private network from the previous step.
- Fill in the required contact information that needs to be associated with the IP addresses.
When the server is provisioned, it will be listening on a SoftLayer private 10.x.x.x IP address. This is only accessible via the SoftLayer VPN, or another one of your existing SoftLayer hosts which has access to the same private VLAN.Â In order to connect via VPN you will need to ensure you have SSL access enabled:
- From the management page, select Private network -> VPN.
- Check your user ID has “SSL Access” box selected.
- Open a browser to http
s:// sslv pn.n etwo rkla yer. com /
- Log in, and accept installation of the client VPN software.
I did have some issues doing this from different machines, if this does not work you may need to check your firewall settings to allow Java to run on the web page and to allow the Array Networks VPN processes to connect to the internet
Enable public IP access to the Bare Metal Management Server
The next step is to enable public IP access to the management VM.Â This is not necessary for every configuration however file upload via the VPN is very slow and the file sizes for the Hypervisor Edition are very large. An alternative approach would be to upload the Hypervisor files to a SoftLayer staging server on the same VLAN as the Bare Metal Instance and then transfer the file to the Bare Metal Instance across that local network.
To enable public IP access you will need to log in to the Bare Metal server through the IPMI server as described below.Â I did try performing this reconfiguration via the VMWare vSphere client, however when changing the management network IP address I always ended up with an unreachable server.Â Before you perform these steps, note down the Server Address, Gateway and Netmask values for the Bare Metal instance’s public network as you will need to provide these towards the end of the procedure.
- From the Soft
Laye rÂ ma nage ment Â pag e go to CloudLayer -> Bare Metal Computing.
- Click on your bare metal server in the list.
- Under the Network Section, click on the “IPMI” address link.Â This resulting page shows the IPMI information, including the IPMI IP address, user ID and password.
- Log in to the SoftLayer VPN as above.
- Point your browser at the IPMI IP address http://<IPMI IP address>/ and log in with the IPMI user id and password.Â This will show a web page with a preview image of the server console.Â Click on this preview image to open the remote console.
- Accept any requests to install software. Once this is done you should have a console window with a message at the bottom <F2> Customize System/View Logs.
- Hit F2 to reconfigure.Â If this gives a pop up asking if you are sure, hit no, then from the iKVM window menu select Virtual Media->Virtual Keyboard and click F2 on that keyboard.Â Close the keyboard window.Â You should now see a login request that looks like this:
- Log in with the server’s root password as shown on the server properties web page (not the IPMI password) and you then see the system customization screen, part of which is shown here:
- Select Configure Management Network (by pressing down arrow, enter)
- Select Network Adapters, and enable vmnic1 (and vmnic3 if it exists) and disable vmnic0 and vmnic2,Â hit enter when done, resulting in the following settings:
- Select OK to accept this configuration, then from the Configure Management Network page select IP Configuration and set the IP (Server) Address, Subnet Mask and Default Gateway to the values for the public network in the server properties page:
- That completes the network reconfiguration to enable public IP access to the management server.Â Select escape, you’ll be asked to confirm the changes, press Y to accept.
Once that procedure has been completed, you can log in to the Management server from the vSphere client via the public IP address.
Install local vSphere client
In order to manage your Virtual Machines, you need the vSphere client installed locally. If you do not have vSphere Client installed, navigate to theÂ public URL of the Bare Metal Instance (http://<Instance IP address>/), which you enabled in the previous step.Â This will display the ESXi web page prompting you to download the vSphere client and install it. When installed, start the vSphere Client and log in, using the serverâ€™s public IP address, vmadmin (not root) id and password.
When you first start the vSphere Client you should be in the â€śHomeâ€ť location with an Inventory icon. Click on the Inventory icon and you should then see your ESXi server along a tabbed display.Â Click on the â€śConfigurationâ€ť tab and then select â€śNetworkingâ€ť in the â€śHardwareâ€ť section.Â Following the modification done previously via the IPMI interface, the networking configuration on my bare metal server looked like the following:
You may only see vmnic0 and vmnic1, in which case ignore references below to vmnic2 and vmnic3.
To complete the network configuration, you need to rename the port groups and attach the internal network physical adapter(s) to vSwitch1.Â The port group names are just descriptive text but to avoid confusion its best to remove the incorrect vmnic text.Â The vSwitch1 physical adapter must be added in order to be able to contact the VM through the internal network.Â Perform the following steps:
- Click vSwitch0 â€śPropertiesâ€¦â€ť link
- On the Ports tab select â€śPrivate Network â€“ vmnic0 vmnic2â€ť
- Click Edit then change the Network Label value to â€śPublic Networkâ€ť and click OK then Close.
- Click vSwitch1 â€śPropertiesâ€¦â€ť link
- On the Ports tab select â€śPublic Network â€“ vmnic1 vmnic3â€ť,
- Click Edit then change the Network Label value to â€śPrivate Networkâ€ť and click OK.
- On the Network Adapters tab click Addâ€¦
- Tick the box next to vmnic0 (and vmnic2 if you have it).
- Click Next, Next, Finish then Close.
Check that the networking configuration looks like the following:
Transfer HVE image to datastore
Note: transferring the image to the datastore may take a few hours.Â The transfer only needs to be done once; after that creation of new VMs is extremely fast.
First you need to download the IIBÂ
HE_9 .0_R HEL_ x86_ OS.z ipÂ c onta inin g os-flat.vmdk, os.vmdk, wmbhve.vmx. license directory
HE_9 .0_R HEL_ x86_ APP. zip containing app-flat.vmdk, app.vmdk
To upload HVE zip files to the server in the vSphere client application:
- Go to Configuration > Storage.
- Right-click datastore, select browse datastore…
- Create a folder – I named it “iib9hve”.
- Upload theÂ
IIB_ HE_9 .0_R HEL* zip files to this folder.
Using the public IP address my average transfer speed was approximately 300Kb/s, around 5 hours for both transfers.
Note: I had trouble using the ESXi built-in unzip command with handing these large files, getting the error “unzip: short read”. I installed p7Zip and used that: http
To unpack the HVE files ready to create a VM:
- Use SSH to access the server. Log in with the root ID and password.
- Go to the datastore directory (/vm
fs/v olum es/d atas tore 1/p7 zip) unpack and install p7zip.
Note: I needed to modify p7zip’s install.sh to change BASE_DIR to /usr and ran install.sh.
- Go into the iib9hve directory and unzip the packages (this takes a few minutes):
s/vo lume s/da tast ore1 /iib 9hve
7z x IIB_
HE_9 .0_R HEL_ x86_ OS.z ip
7z x IIB_
HE_9 .0_R HEL_ x86_ APP. zi p
You should now have the necessary .vmdk and .vmx files in your datastore. Note that each pair of .vmdk files is shown as a single “Virtual Disk” in the datastore browser:
Note: when deleting any VMs you have created, don’t use the delete from disk option or it will delete these vmdk files.
Identify the IP address for the IIB Virtual Machine
Once you have confirmation that the IP addresses you requested have been allocated, you can select one of the IP addresses for the IBM Integration Bus VM and update the notes to indicate it is in use.
- In the SoftLayer management page, navigate to Private network > IP Manager:
- Click on the vlan for the Bare Metal instance.
- Expand by clicking the â€ś>â€ť symbolÂ and click on the newly allocated subnet.
- Pick the next available IP in the list. You can add a note to indicate that the address is in use.
Create the IIB Virtual Machine
The instructions for doing this are included in “Dep
d.Â Register the virtual image on the hypervisor. In the vSphere client Datastore Browser, right-click the file wmbhve.vmx and select Add to inventory, which starts a wizard.
e.Â Enter a name for the virtual machine image and select Next.Â Here I chose “iibvm1”.
f.Â Â Select the Resource Pool in which to run the virtual machine and then select Next.
g.Â Check that the virtual machine options are correct and select Finish.
Configure the network settings for the Virtual Machine:
a.Â In the vSphere Client Inventory view, right-click the virtual machine which has been added, and select Edit Settings from the menu.
b.Â Select Network Adapter 1 in the hardware panel. In the Network Connection panel, select the network to which the virtual machine will connect from the Network label pull-down menu.Â In this case it is the internal network (vSwitch1) which was named “Private Network” in a previous step. This means a VPN connection will be needed to get to the VM.
c.Â Click OK.
Before you power on the Virtual Machine, you should gather the following information required to configure the VM IP network:
- IP Address: the portable IP address that you allocated from the group of portable IP addresses.
- Net Mask: the value that is shown on the bare metal instanceâ€™s private (not public) network settings (in my case 255.255.255.192).
- Gateway Address: the gateway associated with the portable IP address, shown in the same subnet page as the IP address you allocated.
- DNS: Get this value from the vSphere Console, Configuration tab, Software section, â€śDNS and Routingâ€ť properties (in my case primary DNS is 10.0.80.11).
- Host name: I used the VM name (iibvm1).
- Domain: I used the same domain name as the bare metal instance.
Once you have collected this information, you can start up the Virtual Machine:
- In the vSphere client select the Virtual Machine in the Inventory and click the Power On button in the toolbar.
- Navigate to the Console tab to open the virtual machine console.
- Note: If a pop-up window appears asking whether the virtual machine image has been moved or copied, select “I copied it” and click OK.
- Wait for the system to complete booting.Â Note: you may see an error message “ERROR: No AP/OVF-ENV file found. Exit.
Press Enter at this point and log in with default “root”/”password”.
- You will then be prompted for networking configuration, provide the information gathered earlier.
Once the server is up and running, you can set up a default configuration via the VM remote console as follows:
- From the vSphere client, select the Virtual Machines tab, right click your virtual machine in the list and select â€śOpen Consoleâ€ť.
- Once the console is running you should see the VMâ€™s desktop.Â From the Applications menu select Integration Toolkit > Integration Toolkit 126.96.36.199.
- From the Integration Toolkitâ€™s â€śGetting Startedâ€ť window you can use the supplied wizard to create the default configuration.
Once that is complete, you can use the Integration Toolkit on the VM to develop and deploy integration applications.Â If you have an Integration Toolkit on your local machine you can also connect it to the runtime on the VM, as explained in the previous example.Â As the VM is on the private network you will need to log in to the SoftLayer VPN first, and also ensure that you’ve added your local user to the mqm group on the VM to enable MQ connection.
This article shows how to set up a SoftLayer-hosted server and install and run software on it – in this case IBM Integration Bus – either through a traditional product install, or by using a Hypervisor Edition.Â You can get everything working without leaving your desk, plugging in a cable or hitting a switch.
In a future article I will cover automation of the software install and configuration so that you can create a predictable middleware environment that incorporates IBM Integration Bus and other components. That automation will apply to locally hosted machines as well as off-premise servers, such as those provided by SoftLayer.