None

IBM Websphere Portal in linux containers [part3]


We are completing the installation with IBM HTTP servers and with Load Balancer for IPv4.

By Kostas Koutsogiannopoulos

In the previous post we created two new containers. One for db2 database server and one for the additional node for the portal server cluster.
So the picture is:

~ # lxc-ls --fancy
NAME      STATE    IPV4        IPV6  GROUPS  AUTOSTART  
------------------------------------------------------
dbserver  RUNNING  10.0.3.100  -     -       NO         
sles      STOPPED  -           -     -       NO         
wsp1      RUNNING  10.0.3.11   -     -       NO         
wsp2      RUNNING  10.0.3.12   -     -       NO         

Now we need two HTTP server and a load balancer.
Firstly we are cloning our base template:

~ # lxc-clone sles http1
Created container http1 as copy of sles

We are configuring the new container:

~# cat /var/lib/lxc/http1/config
# 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:9a:45:72
#lxc.rootfs = /var/lib/lxc/wsp1/rootfs
#lxc.utsname = wsp1

lxc.rootfs                       = /var/lib/lxc/http1/rootfs
lxc.utsname                      = http1
lxc.arch                         = amd64
lxc.network.type                 = veth
lxc.network.veth.pair            = vethhttp1
lxc.network.link                 = lxcbr0
lxc.network.ipv4                 = 10.0.3.21/24
lxc.network.ipv4.gateway         = 10.0.3.1
#lxc.network.script.up            = /var/lib/lxc/wsp1/script-up.sh
lxc.network.flags                = up
lxc.network.hwaddr               = 00:16:3e:aa:bb:c3

Now boot http1:

~# lxc-start -n http1

~# lxc-ls --fancy
NAME      STATE    IPV4        IPV6  GROUPS  AUTOSTART  
------------------------------------------------------
dbserver  RUNNING  10.0.3.100  -     -       NO         
http1     RUNNING  10.0.3.21   -     -       NO         
sles      STOPPED  -           -     -       NO         
wsp1      RUNNING  10.0.3.11   -     -       NO         
wsp2      RUNNING  10.0.3.12   -     -       NO         

For the installation we need the following packages:

  • WSA_Server_NetDeplo_8.5.5.2.zip
  • 8.5.5-WS-WAS-FP0000007-part1.zip
  • 8.5.5-WS-WAS-FP0000007-part1.zip
  • WAS_V8.5.5_SUPPL_1_OF_3.zip
  • WAS_V8.5.5_SUPPL_2_OF_3.zip
  • WAS_V8.5.5_SUPPL_3_OF_3.zip
  • 8.5.5-WS-WASSupplements-FP0000007-part1.zip
  • 8.5.5-WS-WASSupplements-FP0000007-part2.zip
  • 8.5.5-WS-WCT-FP0000007-part1.zip
  • 8.5.5-WS-WCT-FP0000007-part2.zip

So extract them inside the container, run Installation Manager, configure the repositories and follow the steps in screenshots:

At the end of the installation run "Profile Management Tool":

Now stop http1 container:

~ # lxc-stop -n http1

Clone it http1 to create http2:

~ # lxc-clone http1 http2
Created container http1 as copy of sles

Edit /var/lib/lxc/http2/config:

# cat /var/lib/lxc/http2/config

# 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:9a:45:72
#lxc.rootfs = /var/lib/lxc/wsp1/rootfs
#lxc.utsname = wsp1
lxc.arch                         = amd64
lxc.network.type                 = veth
lxc.network.veth.pair            = vethhttp2
lxc.network.link                 = lxcbr0
lxc.network.ipv4                 = 10.0.3.22/24
lxc.network.ipv4.gateway         = 10.0.3.1
#lxc.network.script.up            = /var/lib/lxc/wsp1/script-up.sh
lxc.network.flags                = up
lxc.network.hwaddr               = 00:16:3e:bc:68:48
lxc.rootfs = /var/lib/lxc/http2/rootfs
lxc.utsname = http2

Boot http2:

~ # lxc-start -n http2

Delete the existed was profile:

http2:~ # /opt/IBM/WebSphere/AppServer/bin/manageprofiles.sh -listProfiles
[Custom01]

http2:~ # /opt/IBM/WebSphere/AppServer/bin/manageprofiles.sh -delete -profileName Custom01
INSTCONFSUCCESS: Success: The profile no longer exists.

Run "Profile Management Tool" and follow the steps as http1 for custom profile creation.

After successfull profile creation go to deployment manager console https://10.0.3.11:9043/ibm/console:

Servers > Server Types > Web servers > New

Add two new web servers one on http1Node01 and one on http2Node02.

Start the http servers from deployment manager.

Generate and propagate the plugin-cfg.xml

Add to httpd.conf on each web server the following lines:

http1:
LoadModule was_ap22_module /opt/IBM/WebSphere/Plugins/bin/64bits/mod_was_ap22_http.so
WebSpherePluginConfig /opt/IBM/HTTPServer/Plugins/config/http1/plugin-cfg.xml

http2:
LoadModule was_ap22_module /opt/IBM/WebSphere/Plugins/bin/64bits/mod_was_ap22_http.so
WebSpherePluginConfig /opt/IBM/HTTPServer/Plugins/config/http2/plugin-cfg.xml

Start web servers from deployment manager and check the urls:

  • http://10.0.3.21/wps/portal/
  • http://10.0.3.22/wps/portal/

Now we need a load balancer in front of IBM http servers. In our installation we are using "Load Balancer for IPv4" from IBM WebSphere Edge Components.

We begining with "sles" cloning:

~ # lxc-clone sles lb1
Created container lb1 as copy of sles

Edit the config file of "lb1":

~ # cat /var/lib/lxc/lb1/config
 

# 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:9a:45:72
#lxc.rootfs = /var/lib/lxc/wsp1/rootfs
#lxc.utsname = wsp1

lxc.rootfs                       = /var/lib/lxc/lb1/rootfs
lxc.utsname                      = lb1
lxc.arch                         = amd64
lxc.network.type                 = veth
lxc.network.veth.pair            = vethlb1
lxc.network.link                 = lxcbr0
lxc.network.ipv4                 = 10.0.3.33/24
lxc.network.ipv4.gateway         = 10.0.3.1
#lxc.network.script.up            = /var/lib/lxc/wsp1/script-up.sh
lxc.network.flags                = up
lxc.network.hwaddr               = 00:16:3e:aa:bb:c6

Boot "lb1":

~ # lxc-start -n lb1

Extract load balancres packages inside the container:

unzip Edge_Com_LB_IPV4_IPV6_WASNDv8.5.5.zip -d /var/lib/lxc/lb1/rootfs/IBM_packages/1
unzip 8.5.5-WS-EDGEULB-FP0000007.zip -d /var/lib/lxc/lb1/rootfs/IBM_packages/2
unzip WSEDGE_CPT_LB_IPV4\&IPV6_WASND_8.5.zip -d /var/lib/lxc/lb1/rootfs/IBM_packages/3

Launch Installation Manager and configure the repositories:

/opt/IBM/InstallationManager/eclipse/launcher

 

Follow all the step to complete the installation. Then run the dispatcher server and then wizard:

/opt/IBM/WebSphere/Edge/ULB/bin/dsserver start
/opt/IBM/WebSphere/Edge/ULB/bin/dswizard

Follow all the step to complete the installation. Then run the dispatcher server and then wizard:

/opt/IBM/WebSphere/Edge/ULB/bin/dsserver start
/opt/IBM/WebSphere/Edge/ULB/bin/dswizard

Setup your cluster address www.epilis.com:

Add your cluster nodes:

Follow the loopback instuctions.

Add the record beloow at hypervisors /etc/hosts with your cluster ip:

10.0.3.50    www.epilis.com

Check url from hypervisor http://www.epilis.com/wps/portal:

Conclussion

~ # lxc-ls --fancy
NAME      STATE    IPV4        IPV6  GROUPS  AUTOSTART  
------------------------------------------------------
dbserver  RUNNING  10.0.3.100  -     -       NO         
http1     RUNNING  10.0.3.21   -     -       NO         
http2     RUNNING  10.0.3.22   -     -       NO         
lb1       RUNNING  10.0.3.33   -     -       NO         
sles      STOPPED  -           -     -       NO         
wsp1      RUNNING  10.0.3.11   -     -       NO         
wsp2      RUNNING  10.0.3.12   -     -       NO        

As you can see we created 6 native linux containers and a template for our setup. We may need another passive load balancer in order to make our installation fully highly available.

~ # du -hsc /var/lib/lxc/*
7,7G    /var/lib/lxc/dbserver
7,1G    /var/lib/lxc/http1
7,1G    /var/lib/lxc/http2
3,1G    /var/lib/lxc/lb1
2,8G    /var/lib/lxc/sles
15G     /var/lib/lxc/wsp1
15G     /var/lib/lxc/wsp2
57G     total

All our servers (websphere portal profiles and IBM HTTP servers) are easily managed from deployment manager running on "wsp1" container. Native linux containers are ideal for rapid deployments in a linux hypervisor.

 

 


View epilis's profile on LinkedIn Visit us on facebook X epilis rss feed: Latest articles