4.2 Clustering the VLDB Service

Use the procedure in this section to configure the DFS management context’s VLDB service in a cluster with Cluster Services.

To cluster an instance of the VLDB service:

  1. Install and configure OES Cluster Services on the server where you want to host the VLDB service.

    For information, see the OES 23.4: OES Cluster Services for Linux Administration Guide.

  2. Create a clustered NSS pool on the server.

    This creates a clustered resource that is called a cluster virtual server based on the IP address you specify. For information, see Creating a Pool in the OES 23.4: NSS File System Administration Guide for Linux.

  3. Create a shared NSS volume on the clustered pool.

    For information, see Creating Unencrypted NSS Volumes in the OES 23.4: NSS File System Administration Guide for Linux.

  4. Configure a DFS management context with the following settings:

    Parameter

    Description

    Replica site

    Specify the cluster virtual server that you created in Step 2 as the replica site.

    VLDB path

    Specify the location of the VLDB file as a path on the clustered pool’s volume that you created in Step 3.

    The default path is /var/opt/novell/dfs, which is on the node and not in the clustered resource. In order to be able to be failed over, the path must be changed to a volume on the clustered resource.

    For OES 2015 or later clusters, specify the path in either the Linux format (/media/nss/clus_volname/vldbpath) or NetWare format (clus_volname:\vldbpath).

    For example, for a clustered volume named DFSVOL and a path of /dfs, the Linux format is

    /media/nss/DFSVOL/dfs

    and the NetWare format is

    DFSVOL:\dfs

    VLDB startup

    Deselect (disable) the Run VLDB service when the server restarts option.

  5. Edit the cluster load script.

    1. Make sure that the script mounts the volume that contains the VLDB file before you issue the vldb command.

    2. Add the vldb or dfstool command at the end.

      exit_on_error /sbin/vldb -dir /vldbpath

      or

      exit_on_error /sbin/dfstool --start-vldb -P /vldbpath

      This command starts the VLDB service for the cluster. Replace vldbpath with the path to the VLDB file that you entered for the DFS management context in Step 4. The path must match exactly with what you entered for the DFS management context.

      Example of Cluster Load Script:

      Variable

      Your Value

      Cluster resource’s virtual server name

      CLUSTER-POOL1-SERVER

      Resource IP address

      192.168.100.71

      Pool name

      POOL1

      Volume name

      DFSVOL

      Volume ID

      253 (valid values are 0 to 254)

      vldbpath

      /media/nss/DFSVOL/dfs

      #!/bin/bash
      . /opt/novell/ncs/lib/ncsfuncs
      
      exit_on_error nss /poolact=POOL1
      exit_on_error ncpcon mount DFSVOL=253
      
      exit_on_error add_secondary_ipaddress 192.168.100.71
      
      exit_on_error ncpcon bind --ncpservername=CLUSTER-POOL1-SERVER --ipaddress=192.168.100.71
      
      exit_on_error /sbin/vldb -dir /media/nss/DFSVOL/dfs
      
      exit 0

      or

      #!/bin/bash
      . /opt/novell/ncs/lib/ncsfuncs
      
      exit_on_error nss /poolact=POOL1
      exit_on_error ncpcon mount DFSVOL=253
      
      exit_on_error add_secondary_ipaddress 192.168.100.71
      
      exit_on_error ncpcon bind --ncpservername=CLUSTER-POOL1-SERVER --ipaddress=192.168.100.71
      
      exit_on_error /sbin/dfstool --start-vldb -P /vldbpath
      
      exit 0

      IMPORTANT:If you ever modify the VLDB file location, you must also modify the path in the cluster load script. For information, see Section 4.3, Modifying VLDB Settings in the Cluster Load Script.

  6. Edit the cluster unload script.

    1. Add vldb exit or dfstool --stop-vldb command before the ncpcon unbind line.

      Example of Cluster Unload Script:

      Variable

      Your Value

      Cluster resource’s virtual server name

      CLUSTER-POOL1-SERVER

      Resource IP address

      192.168.100.71

      Pool name

      POOL1

      vldbpath

      /media/nss/dfsvol/dfs

      #!/bin/bash
      . /opt/novell/ncs/lib/ncsfuncs
      ignore_error /sbin/vldb exit
      
      ignore_error ncpcon unbind --ncpservername=CLUSTER-POOL1-SERVER --ipaddress=192.168.100.71
      
      ignore_error del_secondary_ipaddress 192.168.100.71
      
      ignore_error nss /pooldeact=POOL1
      
      exit 0

      or

      #!/bin/bash
      . /opt/novell/ncs/lib/ncsfuncs
      ignore_error /sbin/dfstool --stop-vldb
      
      ignore_error ncpcon unbind --ncpservername=CLUSTER-POOL1-SERVER --ipaddress=192.168.100.71
      
      ignore_error del_secondary_ipaddress 192.168.100.71
      
      ignore_error nss /pooldeact=POOL1
      
      exit 0
  7. Edit the cluster monitor script.

    Example of Cluster Monitor Script:

    Variable

    Your Value

    Cluster resource’s virtual server name

    CLUSTER-POOL1-SERVER

    Resource IP address

    192.168.100.71

    Pool name

    POOL1

    Volume name

    DFSVOL

    #!/bin/bash
    . /opt/novell/ncs/lib/ncsfuncs
    
    exit_on_error status_fs /dev/pool/POOL1 /opt/novell/nss/mnt/.pools/POOL1 nsspool
    
    exit_on_error ncpcon volume DFSVOL
    
    exit_on_error status_secondary_ipaddress 192.168.100.71
    
    exit_on_error rcnovell-dfs status
    
    exit 0
  8. Add the nss admin user of every Linux node in the cluster on which VLDB is expected to run as a trustee to the container configured as the Management Context in Step 4. The nssadmin user object must be in the same container as its server and the username format is servnameadmin.context. For example, if the server name is server1.ou1.mycompany, the nssadmin username is server1admin.ou1.mycompany

    1. In iManager, select Rights > Modify Trustees.

    2. Select the container configured as the Management Context in Step 4, then click OK.

    3. List of trustees for the selected container are displayed.

      Ensure that the nssadmin user for each node in the cluster is listed as a trustee with a minimum of Read and Compare Rights to the [All Attribute Rights] property.

    4. (Conditional) If the nssadmin user for a node on which the VLDB service runs is not set as a trustee of the container, add it as a trustee and assign the required rights. To add trustee and assign rights, perform the following steps:

      1. Click Add Trustee, select the nssadmin object, then click OK.

      2. Click Assigned Rights for the nssadmin object.

      3. Assign Read and Compare to [All Attribute Rights] property, then click Done.

      4. Click Apply.

        Repeat Step 8.d for the nssadmin user for each cluster node.

        NOTE:If the Management Context is the container in which the server object for the cluster node exists, the nssadmin object for that server is a trustee of the container with Supervisor rights. Do not modify these rights for the nssadmin user.

  9. Stop VLDB using the following command:

    rcnovell-dfs stop

    or

    systemctl stop novell-dfs.service

  10. For the script changes to take effect, make the resource offline and then bring it online on the same node.

    For more information, see Onlining and Offlining (Loading and Unloading) Cluster Resources from a Cluster Node and Applying Updated Resource Scripts by Offline/Offline, Failover, and Migration in the OES 23.4: OES Cluster Services for Linux Administration Guide.