6.6 Translation of Cluster Resource Scripts for Mixed NetWare and Linux Clusters

Novell Cluster Services includes specialized functionality to help NetWare and Linux servers coexist in the same cluster. This functionality is also beneficial as you migrate NetWare cluster servers to Linux. The translation between NetWare and Linux versions of the load and unload scripts is performed by the Cluster Translation Library script (/opt/novell/ncs/bin/clstrlib.py). It automates the conversion of the Master IP Address resource and cluster-enabled NSS pool resource load and unload scripts from NetWare to Linux.

The NetWare load and unload scripts are read from eDirectory, converted, and written into Linux load and unload script files. Those Linux load and unload script files are then searched for NetWare-specific command strings, and the command strings are then either deleted or replaced with Linux-specific command strings. Separate Linux-specific commands are also added, and the order of certain lines in the scripts is also changed to function with Linux.

This section compares NetWare commands in cluster scripts to their corresponding Linux commands that are used in Cluster Translation Library. If the commands in cluster resource’s load or unload scripts are not part of the translation library, the cluster resource can end up in a comatose state.

IMPORTANT:Beginning in OES 2 SP2, Novell Cluster Services allows you to customize the translation syntax that us used for load and unload scripts in mixed-platform situations by defining new syntax translations to be used in addition to the normal translations. For information, see Section 6.7, Customizing the Translation Syntax for Converting Load and Unload Scripts.

Unlike NetWare cluster load and unload scripts that are stored in eDirectory, the Linux cluster load and unload scripts are stored in files on Linux cluster servers. The cluster resource name is used in the load and unload script filenames. The path to the files is /var/opt/novell/ncs/.

IMPORTANT:Use the Properties > Scripts page in the Clusters plug-in in iManager whenever you make manual changes to the load and unload scripts. The changes are automatically saved to the files.

The normal translations performed by the Cluster Translation Library are described in the following sections:

6.6.1 Comparing Script Commands for NetWare and Linux

Table 6-2 identifies some of the NetWare cluster load and unload script commands that are searched for and the Linux commands that they are replaced with (unless the commands are deleted).

Table 6-2 Cluster Script Command Comparison

Action

NetWare Cluster Command

Linux Cluster Command

Replace

IGNORE_ERROR add secondary ipaddress
ignore_error add_secondary_ipaddress

Replace

IGNORE_ERROR del secondary ipaddress
ignore_error del_secondary_ipaddress

Replace

del secondary ipaddress
ignore_error del_secondary_ipaddress

Replace

add secondary ipaddress
exit_on_error add_secondary_ipaddress

Delete

IGNORE_ERROR NUDP 

(deletes the entire line)

Delete

IGNORE_ERROR HTTP

(deletes the entire line)

Replace

nss /poolactivate=
nss /poolact=

Replace

nss /pooldeactivate=
nss /pooldeact=

Replace

mount volume_name VOLID=number
exit_on_error ncpcon mount volume_name=number

Replace

NUDP ADD clusterservername ipaddress
exit_on_error ncpcon bind ‑‑ncpservername=ncpservername ‑‑ipaddress=ipaddress

Replace

NUDP DEL clusterservername ipaddress
ignore_error ncpcon unbind ‑‑ncpservername=ncpservername ‑‑ipaddress=ipaddress

Delete

CLUSTER CVSBIND

(deletes the entire line)

Delete

CIFS

(deletes the entire line)

6.6.2 Comparing Master IP Address Scripts

Master IP Address Resource Load Script

This section provides examples of the master IP address resource load scripts on NetWare and Linux.

NetWare
IGNORE_ERROR set allow ip address duplicates = on
IGNORE_ERROR CLUSTER CVSBIND ADD BCCP_Cluster 10.1.1.175
IGNORE_ERROR NUDP ADD BCCP_Cluster 10.1.1.175
IGNORE_ERROR add secondary ipaddress 10.1.1.175
IGNORE_ERROR HTTPBIND 10.1.1.175 /KEYFILE:"SSL CertificateIP"
IGNORE_ERROR set allow ip address duplicates = off
Linux
#!/bin/bash
. /opt/novell/ncs/lib/ncsfuncs

ignore_error add_secondary_ipaddress 10.1.1.175 -np

exit 0

Master IP Address Resource Unload Script

This section provides examples of the master IP address resource unload scripts on NetWare and Linux.

NetWare
IGNORE_ERROR HTTPUNBIND 10.1.1.175
IGNORE_ERROR del secondary ipaddress 10.1.1.175
IGNORE_ERROR NUDP DEL BCCP_Cluster 10.1.1.175
IGNORE_ERROR CLUSTER CVSBIND DEL BCCP_Cluster 10.1.1.175
Linux
#!/bin/bash
. /opt/novell/ncs/lib/ncsfuncs
ignore_error del_secondary_ipaddress 10.1.1.175
exit 0

6.6.3 Comparing NSS Pool Resource Scripts

NSS Pool Resource Load Script

This section provides examples of the NSS pool resource load scripts on NetWare and Linux.

NetWare
nss /poolactivate=HOMES_POOL
mount HOMES VOLID=254
CLUSTER CVSBIND ADD BCC_CLUSTER_HOMES_SERVER 10.1.1.180
NUDP ADD BCC_CLUSTER_HOMES_SERVER 10.1.1.180
add secondary ipaddress 10.1.1.180
CIFS ADD .CN=BCC_CLUSTER_HOMES_SERVER.OU=servers.O=lab.T=TEST_TREE.
Linux
#!/bin/bash
. /opt/novell/ncs/lib/ncsfuncs
exit_on_error nss /poolact=HOMES_POOL
exit_on_error ncpcon mount HOMES=254
exit_on_error add_secondary_ipaddress 10.1.1.180

exit_on_error ncpcon bind --ncpservername=BCC_CLUSTER_HOMES_SERVER ‑‑ipaddress=10.1.1.180

exit 0

NSS Pool Resource Unload Script

This section provides examples of the NSS pool resource unload scripts on NetWare and Linux.

NetWare
del secondary ipaddress 10.1.1.180
CLUSTER CVSBIND DEL BCC_CLUSTER_HOMES_SERVER 10.1.1.180
NUDP DEL BCC_CLUSTER_HOMES_SERVER 10.1.1.180
nss /pooldeactivate=HOMES_POOL /overridetype=question
CIFS DEL .CN=BCC_CLUSTER_HOMES_SERVER.OU=servers.O=lab.T=TEST_TREE.
Linux
#!/bin/bash
. /opt/novell/ncs/lib/ncsfuncs

ignore_error ncpcon unbind --ncpservername=BCC_CLUSTER_HOMES_SERVER ‑‑ipaddress=10.1.1.180

ignore_error del_secondary_ipaddress 10.1.1.180
ignore_error nss /pooldeact=HOMES_POOL
exit 0

6.6.4 Comparing File Access Protocol Resource Script Commands

File Access Protocol Resource Load Scripts

This section provides examples of the file access protocol commands for load scripts on NetWare and Linux.

NetWare

Protocol

Script Command for Load Scripts

NCP

NUDP ADD NCS1_P1_SERVER 10.10.10.194

Novell AFP

AFPBIND ADD NCS1_P1_SERVER 10.10.10.204

Novell CIFS

CIFS ADD .CN=NCS1_P1_SERVER.O=novell.T=CLUSTER.
Linux

Protocol

Script Command for Load Scripts

NCP

# mount the NCP volume
exit_on_error ncpcon mount $NCP_VOLUME=VOL_ID,PATH=$MOUNT_POINT

exit_on_error ncpcon bind --ncpservername=NCS1_P1_SERVER ‑‑ipaddress=10.10.10.194

Novell AFP

exit_on_error cluster_afp.sh add NCS1_P1_SERVER 10.10.10.204

Novell CIFS

exit_on_error novcifs --add ‑‑vserver=.CN=NCS1_P1_SERVER.O=novell.T=TREE-188. ‑‑ip-addr=$CIFS_IP

File Access Protocol Resource Unload Scripts

This section provides examples of the Novell AFP commands for unload scripts on NetWare and Linux.

NetWare

Protocol

Script Command for Unload Scripts

NCP

NUDP DEL NCS1_P1_SERVER 10.10.10.194

Novell AFP

AFPBIND DEL NCS1_P1_SERVER 10.10.10.204

Novell CIFS

CIFS DEL .CN=NCS1_P1_SERVER.O=novell.T=CLUSTER.
Linux

Protocol

Script Command for Unload Scripts

NCP

ignore_error ncpcon unbind --ncpservername=NCS1_P1_SERVER ‑‑ipaddress=10.10.10.194

# dismount the NCP volume
ignore_error ncpcon dismount $NCP_VOLUME

Novell AFP

ignore_error cluster_afp.sh del NCS1_P1_SERVER 10.10.10.204

Novell CIFS

ignore_error novcifs --remove ‑‑vserver=.CN=NCS1_P1_SERVER.O=novell.T=TREE-188. ‑‑ip‑addr=$CIFS_IP

ignore_error nss /pooldeact=OESPOOL /overridetype=question