IBM Websphere Portal in linux containers [part1]
We are posting here an IBM Websphere Portal 8.5 CF08 highly available installation using linux containers (lxc).
In the following post we are using linux containers instead of virtual machines, for lightweight isolation and portability.
The supported linux platforms for Websphere Portal are Red Hat Enterprise Linux and SUSE Linux Enterprise Server (SLES) 11. For details check this.
So we begin bulding an SLES container inside a clean SLES 11.2 virtual machine. After clean installation we run:
~# zypper in lxc
~# lxc-create -n sles -t sles
The "sles" container just created is portable so we can copy root file system living at /var/lib/lxc/sles directory to another linux server and boot the container there.
For our example we are using an ubuntu 14.04 LTS server as the hypervisor of all our containers.
We are migrating our container to remote host using rsync:
~# rsync -aAXHltzh -e ssh --progress --numeric-ids /var/lib/lxc/sles user@remotehost:/var/lib/lxc/
Check container's configuration file:
cat /var/lib/lxc/sles/config
# Parameters passed to the template:
# For additional config options, please look at lxc.container.conf(5)
# Common configuration
lxc.include = /usr/share/lxc/config/opensuse.common.conf
# Container specific configuration
lxc.arch = amd64
# Network configuration
lxc.network.type = veth
lxc.network.link = lxcbr0
lxc.network.flags = up
lxc.network.hwaddr = 00:16:3e:fa:86:34
lxc.rootfs = /var/lib/lxc/sles/rootfs
lxc.utsname = sles
List the containers:
~# lxc-ls --fancy
NAME STATE IPV4 IPV6 GROUPS AUTOSTART
--------------------------------------------
sles STOPPED - - - NO
~# lxc-start -n sles # The container is starting up
~# lxc-attach -n sles # To attach to a running container's console
sles:~ #
Now we have our sles container up 'n running.
We can configure our repositories, update it and install GNOME needed for IBM installation manager to install IBM software with GUI.
~ # zypper update
Confirmation:
~ # cat /etc/SuSE-release
SUSE Linux Enterprise Server 11 (x86_64)
VERSION = 11
PATCHLEVEL = 4
~ # zypper install --auto-agree-with-licenses -y -t pattern x11 gnome
Now we are up-to-date with gnome:
~ # logout
Connection to 10.0.3.145 closed.
From the hypervisor:
~ # lxc-ls --fancy
NAME STATE IPV4 IPV6 GROUPS AUTOSTART
--------------------------------------------------
sles RUNNING 10.0.3.145 - - NO
Test it from host machine like that:
ssh -X root@10.0.3.145
~ # xclock
...and confirm that graphical clock appears:
Now we are ready to install IBM Installation Manager in our container and use it as a template for all the portal nodes.
At first we extract the IM 1.8.3 package inside the container:
~ # mkdir /var/lib/lxc/sles/rootfs/IBM_packages
~ # unzip agent.installer.linux.gtk.x86_64_1.8.3000.20150606_0047.zip -d /var/lib/lxc/sles/rootfs/IBM_packages/
From the container's console (ssh -X root@10.0.3.145) we run:
~ # /IBM_packages/install
Edit the file /etc/security/limits.conf adding the following:
* soft nofile 65535
* hard nofile 65535
Shutdown the container:
# lxc-stop -n sles
At this point we have a working SLES container with IBM Installation Manager, ready to clone it as many times as we need for IBM Webshere Portal software installation and every node.
Lets clone it to crete portal's primary node "wsp1":
~ # lxc-clone sles wsp1
~ # lxc-ls --fancy
NAME STATE IPV4 IPV6 GROUPS AUTOSTART
--------------------------------------------
sles STOPPED - - - NO
wsp1 STOPPED - - - NO
Edit /var/lib/lxc/wsp1/config for network configuration of your preference:
lxc.include = /usr/share/lxc/config/opensuse.common.conf
lxc.rootfs = /var/lib/lxc/wsp1/rootfs
lxc.utsname = wsp1
lxc.arch = amd64
lxc.network.type = veth
lxc.network.veth.pair = vethMyContainer
lxc.network.link = lxcbr0
lxc.network.ipv4 = 10.0.3.11/16
lxc.network.ipv4.gateway = 10.0.3.1
lxc.network.flags = up
lxc.network.hwaddr = 00:16:3e:aa:bb:cc
Extract the packages for Portal installation inside the root file system of the container:
unzip WSP_Server_8.5_Install.zip -d /var/lib/lxc/wsp1/rootfs/IBM_packages/
unzip WSP_Enable_8.5_Install.zip -d /var/lib/lxc/wsp1/rootfs/IBM_packages/
unzip WSP_Enable_8.5_Setup.zip -d /var/lib/lxc/wsp1/rootfs/IBM_packages/
unzip WSA_Server_NetDeplo_8.5.5.2.zip -d /var/lib/lxc/wsp1/rootfs/IBM_packages/
unzip WS_SDK_JAVA_TECH_7.0.6.1.zip -d /var/lib/lxc/wsp1/rootfs/IBM_packages/
Now fire up "wsp1" container and launch Installation Manager:
~ # lxc-start -n wsp1
~ # lxc-ls --fancy
NAME STATE IPV4 IPV6 GROUPS AUTOSTART
------------------------------------------------
sles STOPPED - - - NO
wsp1 RUNNING 10.0.3.11 - - NO
~ # ssh -X root@10.0.3.11
~ # /opt/IBM/InstallationManager/eclipse/launcher
Go to File > Preferences and add the repositories like the screenshots:
After 15 minutes we have the following packages installed at "wsp1":
WS_SDK_JAVA_TECH_7.0.6.1.zip
WSA_Server_NetDeplo_8.5.5.2.zip
WSP_Enable_8.5_Install.zip
WSP_Enable_8.5_Setup.zip
WSP_Server_8.5_Install.zip
Delete extracted packages:
~ # rm -r /var/lib/lxc/wsp1/rootfs/IBM_packages/*
In order to update portal to CF08, we need to follow the steps in this order: Update Websphere to 8.5.5.7 > Install SDK7 fix to Websphere product > Install CF08 > Apply fix
Extract the packages for websphere 8.5.5 fix pack 7 inside the container as we did with the installation:
~ # unzip 8.5.5-WS-WAS-FP0000007-part1.zip -d /var/lib/lxc/wsp1/rootfs/IBM_packages/
~ # unzip 8.5.5-WS-WAS-FP0000007-part2.zip -d /var/lib/lxc/wsp1/rootfs/IBM_packages/
Change the repositories and update Websphere via Installation Manager to version 8.5.5.7
Extract the package 7.0.1.0-WS-WASJavaSDK7-LinuxX64-IFPI50092.zip inside the container:
~ # unzip 7.0.1.0-WS-WASJavaSDK7-LinuxX64-IFPI50092.zip -d /var/lib/lxc/wsp1/rootfs/IBM_packages/
Change the repositories and update Websphere via Intalation Manager.
Extract the packages for cumulative fix 08 inside the container:
~ # unzip WP8500CF08_Server.zip -d /var/lib/lxc/wsp1/rootfs/IBM_packages/
Change the repositories and update portal to CF08 via Installation Manager
Delete extracted packages:
~ # rm -r /var/lib/lxc/wsp1/rootfs/IBM_packages/*
Run apply fix:
~ # /opt/IBM/WebSphere/wp_profile/PortalServer/bin/applyCF.sh -DPortalAdminPwd=<password> -DWasPassword=<password>
Wait patiently for 15 - 20 minutes. In the end you will have IBM Websphere Portal updated and running.
Check your portal at http://10.0.3.11:10039/wps/myportal/
In the following post we will create a container with db2 instance, we 'll transfer the database, and make the portal installation highly available.
- Posted by Kostas Koutsogiannopoulos · Nov. 4, 2015