3.6 Converting a NetWare Cluster to Linux

This section covers the following information to help you convert and manage a mixed NetWare 6.5 and Linux cluster.

If you have a NetWare 5.1 cluster, you must upgrade to a NetWare 6.5 cluster before adding new Linux cluster nodes or converting existing NetWare cluster nodes to Linux cluster nodes.

See Upgrading Novell Cluster Services in the Novell Cluster Services Administration Guide for information on upgrading Novell Cluster Services.

IMPORTANT:You cannot add additional NetWare nodes to your cluster after adding a new Linux node or changing an existing NetWare cluster node to a Linux cluster node. If you want to add NetWare cluster nodes after converting part of your cluster to Linux, you must first remove the Linux nodes from the cluster.

3.6.1 Changing Existing NetWare Cluster Nodes to Linux (Rolling Cluster Conversion)

Performing a rolling cluster conversion from NetWare 6.5 to Linux lets you keep your cluster up and running and lets your users continue to access cluster resources while the conversion is being performed.

During a rolling cluster conversion, one server is converted to Linux while the other servers in the cluster continue running NetWare 6.5. Then, if desired, another server can be converted to Linux, and then another, until all servers in the cluster have been converted to Linux. You can also leave the cluster as a mixed NetWare and Linux cluster.

NOTE:The process for converting NetWare 6.0 cluster nodes to OES Linux cluster nodes is the same as for converting NetWare 6.5 cluster nodes to OES Linux cluster nodes.

IMPORTANT:Mixed NetWare 6.5 and OES Linux clusters are supported, and mixed NetWare 6.0 and OES Linux clusters are also supported. Mixed clusters consisting of NetWare 6.0 servers, NetWare 6.5 servers, and OES Linux servers are not supported. All NetWare servers must be either version 6.5 or 6.0 in order to exist in a mixed NetWare and OES Linux cluster.

When converting NetWare cluster servers to Linux, do not convert the server that has the master eDirectory replica first. If the server with the master eDirectory replica is a cluster node, convert it at the end of the rolling cluster conversion.

To perform a rolling cluster conversion from NetWare 6.5 to Linux:

  1. On the NetWare server you want to convert to Linux, run NWConfig and remove eDirectory.

    You can do this by selecting the option in NWConfig to remove eDirectory from the server.

  2. Bring down the NetWare server you want to convert to Linux.

    Any cluster resources that were running on the server should fail over to another server in the cluster.

  3. In eDirectory, remove (delete) the Cluster Node object, the Server object, and all corresponding objects relating to the downed NetWare server.

    Depending on your configuration, there could be up to 10 or more objects that relate to the downed NetWare server.

  4. Run DSRepair on another server in the eDirectory tree to fix any directory problems.

    If DSRepair finds errors or problems, run it multiple times until no errors are returned.

  5. Install SLES 9 and OES on the server, but do not install the Cluster Services component of OES.

    You can use the same server name and IP address that were used on the NetWare server. This is suggested, but not required.

    See the OES Linux Installation Guide for more information.

  6. Set up and verify SAN connectivity for the Linux node.

    Consult your SAN vendor documentation for SAN setup and connectivity instructions.

  7. Install Cluster Services and add the node to your existing NetWare 6.5 cluster.

    See Section 3.5.3, Installing Novell Cluster Services after the OES Installation for more information.

  8. Enter sbdutil -f at the Linux server console to verify that the node can see the cluster (SBD) partition on the SAN.

    sbdutil -f also tells you the device on the SAN where the SBD partition is located.

  9. Start cluster software by going to the /etc/init.d directory and running ./novell-ncs start.

    You must be logged in as root to run novell-ncs start.

  10. (Conditional) If necessary, manually migrate the resources that were on the former NetWare server to this Linux server.

    The resources will automatically fail back if all of the following apply:

    • The failback mode for the resources was set to Auto.

    • You used the same node number for this Linux server as was used for the former NetWare server.

      This only applies if this Linux server is the next server added to the cluster.

    • This Linux server is the preferred node for the resources.

Simultaneously Changing Multiple NetWare Cluster Nodes to Linux

If you attempt to simultaneously convert multiple NetWare cluster servers to Linux, we strongly recommend that you use the old NetWare node IP addresses for your Linux cluster servers. You should record the NetWare node IP addresses before converting them to Linux.

If you must assign new node IP addresses, we recommend that you only convert one node at a time.

Another option if new cluster node IP addresses are required and new server hardware is being used is to shut down the NetWare nodes that are to be removed and then add the new Linux cluster nodes. After adding the new Linux cluster nodes, you can remove the NetWare cluster node-related objects as described in Step 3.

Failure to follow these recommendations might result in NetWare server abends and Linux server restarts.

3.6.2 Adding New Linux Nodes to Your NetWare Cluster

You can add new Linux cluster nodes to your existing NetWare 6.5 cluster without bringing down the cluster. To add new Linux cluster nodes to your NetWare 6.5 cluster:

  1. Install SLES 9 and OES on the new node, but do not install the Cluster Services component of OES.

    See the OES Linux Installation Guide for more information.

  2. Set up and verify SAN connectivity for the new Linux node.

    Consult your SAN vendor documentation for SAN setup and connectivity instructions.

  3. Install Cluster Services and add the new node to your existing NetWare 6.5 cluster.

    See Section 3.5.3, Installing Novell Cluster Services after the OES Installation for more information.

  4. Enter sbdutil -f at the Linux server console to verify that the node can see the cluster (SBD) partition on the SAN.

    sbdutil -f will also tell you the device on the SAN where the SBD partition is located.

  5. Start cluster software by going to the /etc/init.d directory and running novell-ncs start.

    You must be logged in as root to run novell-ncs start.

  6. Add and assign cluster resources to the new Linux cluster node.

3.6.3 Mixed NetWare and Linux Clusters

Novell Cluster Services includes some 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. 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.

Cluster resources that were originally created on Linux cluster nodes cannot be migrated or failed over to NetWare cluster nodes. Cluster resources that were created on NetWare cluster nodes and migrated or failed over to Linux cluster nodes can be migrated or failed back to NetWare cluster nodes. If you want resources that can run on both NetWare and Linux cluster nodes, create them on a NetWare server.

If you migrate an NSS pool from a NetWare cluster server to a Linux cluster server, it could take several minutes for volume trustee assignments to synchrozine after the migration. Users might have limited access to migrated volumes until after the synchronization process is complete.

WARNING:Changing existing shared pools or volumes (storage reconfiguration) in a mixed NetWare/Linux cluster is not possible. If you need to make changes to existing pools or volumes, you must temporarily bring down either all Linux cluster nodes or all NetWare cluster nodes prior to making changes. Attempting to reconfigure shared pools or volumes in a mixed cluster can cause data loss.

The following table identifies some of the NetWare specific cluster load and unload script commands that are searched for and the Linux commands that they are replaced with (unless deleted).

Table 3-1 .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 entire line)

 

Delete

IGNORE_ERROR HTTP (deletes 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 entire line)

 

Delete

CIFS (deletes entire line)

 

Unlike NetWare cluster load and unload scripts which are stored in eDirectory, the Linux cluster load and unload scripts are stored in files on Linux cluster servers. The files are automatically updated each time you make changes to resource load and unload scripts for NetWare cluster resources. The cluster resource name is used in the load and unload script filenames. The path to the files is /etc/opt/novell/ncs/.

The following examples provide a sample comparison between NetWare cluster load and unload scripts, and their corresponding Linux cluster load and load scripts.

Master IP Address Resource Load Script

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

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

NSS Pool Resource Load Script

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

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
exit_on_error nss /pooldeact=HOMES_POOL
exit 0

3.6.4 Finalizing the Cluster Conversion

If you have converted all nodes in a former NetWare cluster to Linux, you must finalize the conversion process by issuing the cluster convert command on one Linux cluster node. The cluster convert command moves cluster resource load and unload scripts from the files where they were stored on Linux cluster nodes into eDirectory. This enables a Linux cluster that has been converted from NetWare to utilize eDirectory like the former NetWare cluster.

To finalize the cluster conversion:

  1. Run cluster convert preview resource_name at the server console of one Linux cluster node.

    Replace resource_name with the name of a resource that you want preview.

    The preview switch lets you view the resource load and unload script changes that will be made when the conversion is finalized. You can preview all cluster resources.

  2. Run cluster convert commit at the server console of one Linux cluster node to finalize the conversion.

Generating Linux Cluster Resource Templates

After converting all nodes in a former NetWare cluster to Linux, you might want to generate the cluster resource templates that are included with Novell Cluster Services for Linux. These templates are automatically created when you create a new Linux cluster, but are not created when you convert an existing NetWare cluster to Linux.

To generate or regenerate the cluster resource templates that are included with Novell Cluster Services for Linux, enter the following command on a Linux cluster server:

/opt/novell/ncs/bin/ncs-configd.py -install_templates

In addition to generating Linux cluster resource templates, this command deletes all NetWare cluster resource templates. Because of this, use this command only after all nodes in the former NetWare cluster are converted to Linux.