How do I configure raw devices in order to install 10g Clusterware on RHEL5 or OEL5?

March 27th, 2011 by Manoj Chauhan Leave a reply »

The raw devices OS support scripts like /etc/sysconfig/rawdevices are not shipped on RHEL5 or OEL5, this is because raw devices are being deprecated on Linux. This means that in order to install 10g Clusterware you’d have to manually bind the raw devices to the block devices for the OCR and voting disks so that the 10g installer will proceed without error.
Refer to Note 465001.1 for exact details on how to do the above. 11g Clusterware doesn’t require this configuration since the installer can handle block devices directly.

Configuring the “hangcheck-timer” Kernel Module

Oracle uses the Linux kernel module hangcheck-timer to monitor the system health of the cluster and to reset a RAC node in case of failures. The hangcheck-timer module uses a kernel-based timer to periodically check the system task scheduler. This timer resets the node when the system hangs or pauses. This module uses the Time Stamp Counter (TSC) CPU register which is a counter that is incremented at each clock signal.

The hangcheck-timer module comes now with the kernel:
find /lib/modules -name “hangcheck-timer.o”

The hangcheck-timer module has the following two parameters:
hangcheck_tick

This parameter defines the period of time between checks of system health.
The default value is 60 seconds. Oracle recommends to set it to 30 seconds.
hangcheck_margin

This parameter defines the maximum hang delay that should be tolerated before
hangcheck-timer resets the RAC node. It defines the margin of error in seconds.
The default value is 180 seconds. Oracle recommends setting it to 180 seconds.

These two parameters indicate how long a RAC node must hang before the hangcheck-timer module will reset the system. A node reset will occur when the following is true:
system hang time > (hangcheck_tick + hangcheck_margin)

To load the module with the right parameter settings, make entries to the /etc/modules.conf file. To do that, add the following line to the /etc/modules.conf file:
# su – root
# echo “options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180″ >> /etc/modules.conf
Now you can run modprobe to load the module with the configured parameters in /etc/modules.conf:
# su – root
# modprobe hangcheck-timer
# grep Hangcheck /var/log/messages |tail -2
Jul  5 00:46:09 rac1pub kernel: Hangcheck: starting hangcheck timer 0.8.0 (tick is 180 seconds, margin is 60 seconds).
Jul  5 00:46:09 rac1pub kernel: Hangcheck: Using TSC.
#

Note: To ensure the hangcheck-timer module is loaded after each reboot, add the modprobe command to the /etc/rc.local file.

What are the IP requirements for the private interconnect?
The install guide will tell you the following requirements private IP address must satisfy the following requirements:

1. Must be separate from the public network
2. Must be accessible on the same network interface on each node
3. Must have a unique address on each node
4. Must be specified in the /etc/hosts file on each node
The Best Pratices recommendation is to use the TCP/IP standard for non-routeable networks. Reserved address ranges for private (non-routed) use (see TCP/IP RFC 1918):
* 10.0.0.0 -> 10.255.255.255
* 172.16.0.0 -> 172.31.255.255
* 192.168.0.0 -> 192.168.255.255

Advertisement
  • Alejandro Ferrari

    Hi, how is possible tell to the module what subnet/IP use for check, in our case we have 2 interfaces 192.168.1.1 and 192.168.2.1 into the same server into 2 diferent interfaces… and we need the hangcheck only use one of them

    Thanks.

blog comments powered by Disqus