Hi

Sorry for the long post, but I wanted to get all of the info out.

I'm trying to configure a cluster using clumanager-1.0.19-2.src.rpm. I've
run ./configure, make, and make install. No errors during any of the builds.

I built a cluster with the following configuration

            ----------- network
                      |
                  |--------|
                  | switch |
                  |--------|
                    /   \
                   /     \
                  /       \
 10.20.1.20      /         \  10.20.1.25
           |---------|  |---------|
           | serverA |  | serverB |
           |---------|  |---------|
                |            |
     10.20.2.50 |            | 10.20.2.55
                |-|--------|-|
                  | switch |
                  |--------|
               |
                      | 10.20.2.100
                  |-------|
                  | iSCSI |
                  |  dev  |
           |-------|

serverA and serverB have two NICs in them with the IP addresses shwon.
The iSCSI device is my quarum device with two 16MB partitions and a two,
2GB partitions with ext3 running on them.

Below is the session content/output of when I run cluconfig
-------------------------------------------------------------

Red Hat Cluster Manager Configuration Utility (running on serverA)

- Configuration file exists already.
  Would you like to use those prior settings as defaults? (yes/no) [yes]: no
Enter cluster name [Red Hat Cluster Manager]: blade
Enter IP address for cluster alias [NONE]:
--------------------------------
Information for Cluster Member 0
--------------------------------
Enter name of cluster member [serverA]:
Looking for host serverA (may take a few seconds)...

Enter number of heartbeat channels (minimum = 1) [1]:
Information about Channel 0
Channel type: net or serial [net]:
Enter hostname of the cluster member on heartbeat channel 0 [serverA]:
Looking for host serverA (may take a few seconds)...

Information about Quorum Partitions
Enter Primary Quorum Partition [/dev/raw/raw1]:
PM checking /dev/raw/raw1 as a rawdevice
by the time we are done,
goodprimarydevice = true
leave = true
correct = true
Enter Shadow Quorum Partition [/dev/raw/raw2]:

Information About the Power Switch That Power Cycles Member 'serverA'
Choose one of the following power switches:
  o NONE
  o RPS10
  o BAYTECH
  o APCSERIAL
  o APCMASTER
  o WTI_NPS
  o SW_WATCHDOG
Power switch [NONE]:
Note: Operating a cluster without a remote power switch does not provide
maximum data integrity guarantees.

--------------------------------
Information for Cluster Member 1
--------------------------------
Enter name of cluster member: serverB
Looking for host serverB (may take a few seconds)...

Information about Channel 0
Enter hostname of the cluster member on heartbeat channel 0 [serverB]:
Looking for host serverB (may take a few seconds)...

Information about Quorum Partitions
Enter Primary Quorum Partition [/dev/raw/raw1]:
by the time we are done,
goodprimarydevice = true
leave = true
correct = false
Enter Shadow Quorum Partition [/dev/raw/raw2]:

Information About the Power Switch That Power Cycles Member 'serverB'
Choose one of the following power switches:
  o NONE
  o RPS10
  o BAYTECH
  o APCSERIAL
  o APCMASTER
  o WTI_NPS
  o SW_WATCHDOG
Power switch [NONE]:
Note: Operating a cluster without a remote power switch does not provide
maximum data integrity guarantees.

Cluster name: blade

--------------------
Member 0 Information
--------------------
Name: serverA
Primary quorum partition: /dev/raw/raw1
Shadow quorum partition: /dev/raw/raw2
Heartbeat channels: 1
Channel type: net, Name: serverA
Power switch IP address or hostname: serverA
Identifier on power controller for member serverA: unused
--------------------
Member 1 Information
--------------------
Name: serverB
Primary quorum partition: /dev/raw/raw1
Shadow quorum partition: /dev/raw/raw2
Heartbeat channels: 1
Channel type: net, Name: serverB
Power switch IP address or hostname: serverB
Identifier on power controller for member serverB: unused

--------------------------
Power Switch 0 Information
--------------------------
Power switch IP address or hostname: serverA
Type: NONE
Login or port: unused
Password: unused
--------------------------
Power Switch 1 Information
--------------------------
Power switch IP address or hostname: serverB
Type: NONE
Login or port: unused
Password: unused

Save the cluster member information? yes/no [yes]:
Writing to configuration file...done
Configuration information has been saved to /etc/cluster.conf.
----------------------------
Setting up Quorum Partitions
----------------------------
Invalid network configuration.
Unable to associate heartbeat channels with configured network adatper.
ERROR: heartbeat channels are misconfigured.
Warning: Unable to validate partitions. The raw device mappings specified
in /etc/sysconfig/rawdevices may be in error. Will not try to
run cludiskutil. Fix problem then run cluconfig again
Invalid network configuration.
Unable to associate heartbeat channels with configured network adatper.
ERROR: heartbeat channels are misconfigured.
Warning: Could not verify quorum partitions. Will not attempt to write
 configuration file. Check quorum partition information.
Do you wish to enable monitoring, both locally and remotely, via the Cluster
GUI? yes/no [no]:

----------------------------------------------------------------

Configuration on this member is complete.

To configure the next member, invoke the following command on that system:

# /sbin/cluconfig --init=/dev/raw/raw1

Refer to the Red Hat Cluster Manager Installation and Administration Guide
for details.

-----------------------------------------------------------------------



I've spent several hours in the source and have seen the following
behaviour. It
appears that the cludb program opens the /etc/cluster.conf file, creates a
temporary file, links the two together, writes a single config item to the
file,
closes the files and then repeats the process for each configuration item.
Each time the file is opened for writing, it positions itself at the
begining of the
file, causing the previous contents to be overwritten. What I end up with is
an
/etc/cluster.conf file with the following contents
        # This file is automatically generated.  Do not manually edit!

        [powercontrollers]
        start powercontroller1
          type = null
        end powercontroller1

Consequently, I blow out of the water when the cluconfig script runs the
command /sbin/cludiskutil -r 2. cludiskutil, reads etc/cluster.conf trying
to validate the parameters. It fails the first check when it tries to
validate
the name of the server. It's not in the file (along with almost everything
else
I told it.)

What am I doing wrong?

Thanks for any help.

Perry Merritt

I've also included the contents of my /etc/hosts and /etc/sysconfig/raw
files

/etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               localhost.localdomain localhost
10.20.1.20      serverA
10.20.1.25      serverB
10.20.2.50      eserverA
10.20.2.55      eserverB

/etc/sysconfig/rawdevices
# raw device bindings
# format:  <rawdev> <major> <minor>
#          <rawdev> <blockdev>
# example: /dev/raw/raw1 /dev/sda1
#          /dev/raw/raw2 8 5
/dev/raw/raw1 /dev/sda1
/dev/raw/raw2 /dev/sda2


raw -qa
/dev/raw/raw1:  bound to major 8, minor 1
/dev/raw/raw2:  bound to major 8, minor 2

Reply via email to