Saturday, July 21, 2012

learn - a little bit of RHEL Cluster on OL

I was interested a little bit of Linux Clustering with RHEL. I just thought how to use it controlling httpd service(only). Anyway, I had Oracle Linux only. I just installed it on my virtualbox for 2 guests. After I installed Oracle Linux and Clustering packages. I tested to starting. I found error. FATAL: Module lock_dlm not found. 
I just found out in the internet and etc. Then!
[root@server01 ~]# /etc/init.d/cman start
Starting cluster:
   Loading modules... failed
FATAL: Module lock_dlm not found.
                                                           [FAILED]
[root@server01 ~]# vim /etc/init.d/cman
I checked in "/etc/init.d/cman" file.
load_modules()
{
    errmsg=$( /sbin/modprobe configfs 2>&1 ) || return 1
    errmsg=$( /sbin/modprobe dlm 2>&1 ) || return 1
    errmsg=$( /sbin/modprobe lock_dlm 2>&1 ) || return 1
    return 0
}
I tried to testing and finding out some.
[root@server01 ~]# modprobe lock_dlm
FATAL: Module lock_dlm not found.
[root@server01 ~]# uname -r
2.6.39-200.29.2.el5uek
[root@server01 ~]# find /lib/modules/ -name '*dlm.ko'
/lib/modules/2.6.18-308.11.1.0.1.el5xen/kernel/fs/gfs2/locking/dlm/lock_dlm.ko
/lib/modules/2.6.18-308.11.1.0.1.el5xen/kernel/fs/dlm/dlm.ko
/lib/modules/2.6.32-200.13.1.el5uek/kernel/fs/dlm/dlm.ko
/lib/modules/2.6.32-200.13.1.el5uek/kernel/fs/ocfs2/dlm/ocfs2_dlm.ko
/lib/modules/2.6.18-308.11.1.0.1.el5/kernel/fs/gfs2/locking/dlm/lock_dlm.ko
/lib/modules/2.6.18-308.11.1.0.1.el5/kernel/fs/dlm/dlm.ko
/lib/modules/2.6.18-274.el5/kernel/fs/gfs2/locking/dlm/lock_dlm.ko
/lib/modules/2.6.18-274.el5/kernel/fs/dlm/dlm.ko
/lib/modules/2.6.39-200.29.2.el5uek/kernel/fs/dlm/dlm.ko
/lib/modules/2.6.39-200.29.2.el5uek/kernel/fs/ocfs2/dlm/ocfs2_dlm.ko
[root@server01 ~]# yum list | grep kmod-gfs
This system is not registered with ULN.
ULN support will be disabled.
kmod-gfs.i686                               0.1.34-17.0.1.el5         installed
kmod-gfs-xen.i686                           0.1.34-17.0.1.el5         installed
kmod-gfs-PAE.i686                           0.1.34-17.0.1.el5         el5_latest
I was using "2.6.39-200.29.2.el5uek" kernel. I found out and ... READ!
Does Oracle provide support for Red Hat Global File System (GFS), Red Hat Cluster Suite (RHCS), or RedHat Application Server (RHAS)?Red Hat Global File System (GFS) and Red Hat Cluster Suite (RHCS) are part of RHEL5 and Oracle Linux 5 so they are supported by Oracle under the Linux Support Program. However, since GFS and RHCS are not included with RHEL4, Oracle Linux 4 and earlier versions, they are not supported by Oracle with RHEL4, OL4, and earlier versions. Similarly, Oracle Linux 6 does not include support for features that are delivered as extra cost add-ons in Red Hat Enterprise Linux 6, such as the High Availability Add-On for clustering and the Resilient Storage Add-On for GFS2.
That was something, I read. However, I can rebooted with "2.6.18-308.11.1.0.1.el5xe" kernel and started it. Like
[root@server01 ~]# uname -r
2.6.18-308.11.1.0.1.el5xen
[root@server01 ~]# /etc/init.d/cman start
Starting cluster:
   Loading modules... done
   Mounting configfs... done
   Starting ccsd... done
   Starting cman... done
   Starting daemons... done
   Starting fencing... done
                                                           [  OK  ]
[root@server01 ~]# lsmod | grep lock_dlm
lock_dlm               20705  0
gfs2                  354825  1 lock_dlm
dlm                   114645  5 lock_dlm
However, what is "lock_dlm"? I needed to use it or not?  Read!
lock_dlm — The standard locking module, required for a clustered file system.
In this case, I didn't use the clustered file system. I just need Linux Cluster to control httpd service. So, I could comment it in "/etc/init.d/cman" file. Like
load_modules(){
    errmsg=$( /sbin/modprobe configfs 2>&1 ) || return 1
    errmsg=$( /sbin/modprobe dlm 2>&1 ) || return 1
#    errmsg=$( /sbin/modprobe lock_dlm 2>&1 ) || return 1
    return 0
}
Really? Let me show my stupid with it:) just fun.
[root@server01 ~]# uname -r
2.6.39-200.29.2.el5uek
[root@server01 ~]# grep  lock_dlm /etc/init.d/cman
#    errmsg=$( /sbin/modprobe lock_dlm 2>&1 ) || return 1
[root@server01 ~]# /etc/init.d/cman start
Starting cluster:
   Loading modules... done
   Mounting configfs... done
   Starting ccsd... done
   Starting cman... done
   Starting daemons... done
   Starting fencing... done
                                                           [  OK  ]
[root@server01 ~]# clustat
Cluster Status for new_cluster @ Sat Jul 21 13:39:22 2012
Member Status: Quorate
 Member Name                                                     ID   Status
 ------ ----                                                     ---- ------
 server01                                                            1 Online, Local
 server02                                                            2 Online
[root@server01 ~]# /etc/init.d/rgmanager start
Starting Cluster Service Manager:                          [  OK  ]
[root@server01 ~]# clustat
Cluster Status for new_cluster @ Sat Jul 21 13:39:32 2012
Member Status: Quorate
 Member Name                                                     ID   Status
 ------ ----                                                     ---- ------
 server01                                                            1 Online, Local, rgmanager
 server02                                                            2 Online, rgmanager
 Service Name                                                   Owner (Last)                                                   State
 ------- ----                                                   ----- ------                                                   -----
 service:httpd                                                  server02                                                       started
[root@server01 ~]# clustat
Cluster Status for new_cluster @ Sat Jul 21 13:39:48 2012
Member Status: Quorate
 Member Name                                                     ID   Status
 ------ ----                                                     ---- ------
 server01                                                            1 Online, Local, rgmanager
 server02                                                            2 Online, rgmanager
 Service Name                                                   Owner (Last)                                                   State
 ------- ----                                                   ----- ------                                                   -----
 service:httpd                                                  server01                                                       starting
[root@server01 ~]# clustat
Cluster Status for new_cluster @ Sat Jul 21 13:40:03 2012
Member Status: Quorate
 Member Name                                                     ID   Status
 ------ ----                                                     ---- ------
 server01                                                            1 Online, Local, rgmanager
 server02                                                            2 Online, rgmanager
 Service Name                                                   Owner (Last)                                                   State
 ------- ----                                                   ----- ------                                                   -----
 service:httpd                                                  server01                                                       started
I assumed all ok. So Far, So Good.

No comments: