Netscape Calendar Server 4.0: Administrator's G uide

Managing a Node Network

A node network is a series of two or more connected nodes. Once a connection between two or more nodes has been defined, all user searches produce listings of configured users and resources from both local and remote nodes. This basic information is maintained on each of the computers in the node network. All calendaring data for each user and resource, however, resides only on that entity's local node, thus eliminating the space and consistency problems created by replicated databases. All exchanges of this information between nodes is done in real-time, making the scheduling of meetings with people or resources on remote nodes completely transparent to the user.

When setting up a node it is important to note that the Node-ID cannot be changed once the node has been created. Furthermore, an existing local node will be deleted if a new local node is given a Node-ID currently in use on the same computer. A warning prompt will be issued before this action is taken. Node-IDs must be unique not only locally, but also across the enterprise. If two nodes in a network are assigned the same Node-ID, connection between the two nodes will not be possible.

In this chapter the following node network management tasks are detailed:

 

Connecting nodes

The network configuration is stored in one file (/users/unison/misc/nodes.ini) managed using the centralized administration tool described below. The file must reside on only one of the host members of the node network, and commands can only be executed from this host. The administration tool can be used to add or delete nodes to the node network and set the number of TCP/IP connections between the nodes.

 

To connect two or more Calendar nodes:
  1. Select Node Management|Connect Nodes to open the "Connect Nodes" form.

  2. Enter the host to be added to the node network in the indicated edit box and click Add.

  3. In the Edit node configuration (nodes.ini) edit box, replace the "-" with a "+" in the column to the left of the node(s) you want to add. If you wish to delete a node from the network, replace the "+" with a "-" in the column to the left of the node(s) you want to delete. See the following section "Syntax" for a more detailed discussion.

  4. From the list box following "Apply node configuration to the", select a rule to apply.

    Three predefined groups can be used:

    all refers to all included (+) nodes

    out refers to all excluded (-) nodes

    ALL refers to all nodes (included or excluded)

  5. Enter the SYSOP password in the indicated box.

  6. Click Connect to make the configuration changes to your node network. Save Changes will save the configuration changes to a file until they are applied during a Connect operation.

The uninode script is used for all node management tasks for the Calendar Server. See full documentation for this utility in Appendix G.

Warning
Connecting nodes is potentially a long action. In a test connection of six nodes, the total elapsed time before completion of the task was 5 minutes, 45 seconds.

 

Syntax

The /users/unison/misc/nodes.ini file contains the list of the nodes and the list of rules that describe the network configuration. The minimal syntax for a node is:


+ H=HOSTNAME/N=NODE-ID 

or


- H=HOSTNAME/N=NODE-ID

A node can either be included (+) in the network or excluded (-) from the network.

The following fields can be used to specify a node:

H

Host name

mandatory

N

Node-ID

mandatory

ALIAS

Alias for Node-ID

optional

GR

Group name

optional

S

Surname

optional

G

Given name

optional

OU1

Organizational unit 1

optional

OU2

Organizational unit 2

optional

OU3

Organizational unit 3

optional

OU4

Organizational unit 4

optional

O

Organization

optional

C

Country

optional

A

Administration domain

optional

P

Private domain

optional

If the ALIAS field is specified, it will be easier for users on all servers to identify on what servers remote users are located, as this information will be displayed by the client.

The group name is given by the administrator and will be used as an alias for a group of nodes. The interaction between the nodes of a specific group should be greater than with nodes of other groups. In most cases, a group name will represent a geographical area or a company subdivision.

Three predefined groups can be used:

all refers to all included (+) nodes

out refers to all excluded (-) nodes

ALL refers to all nodes (included or excluded)

 

Connections and Rules

Two kinds of rules can be used. The first is used to specify the default number of connections between all nodes or between nodes within a group.

Using the predefined group all in configuring our four nodes, we can easily specify that two SNC connections be established between all of our nodes:


+H=mis-can1/N=1 


+H=mis-usa1/N=2 


+H=mis-eur1/N=3 


+H=mis-eur2/N=4 


all:2

The second kind of rule specifies the number of connections, from one node or group to another node or group.

N1->N2:N

N1 and N2 could either be host names, node-IDs, or group names. N could either be a absolute number of connections (0, 1, 2, 3...), or a relative number of connections (+1, -1, +2, ...). Rules are interpreted from the first to the last rule of the file so that a rule of position "i" has precedence over the rules of position i-1, i-2, i-3, ... Consequently, the rules should be arranged from the most general to the most specific.

For example, to apply a more specific rule to this set of nodes, the group (GR) field can be useful in selecting these nodes.


+H=mis-can1/N=1/GR=Canada 


+H=mis-usa1/N=2/GR=USA 


+H=mis-eur1/N=3/GR=Europe 


+H=mis-eur2/N=4/GR=Europe 


all:2 


Europe:+1

In the above example, we are able to add an additional SNC connection (for a total of 3) to each of the European nodes relative to the absolute value defined on the line above.

Had we not wanted to use groups, we could also have said:


+H=mis-can1/N=1 


+H=mis-usa1/N=2 


+H=mis-eur1/N=3 


+H=mis-eur2/N=4 


all:2 


mis-eur1 ->mis-eur2:3 


mis-eur2 ->mis-eur1:3

Note that in this case we must specify the number of connections in each direction as the SNC connections are unidirectional.

 

Adding (including) a node to the network

Replace the exclusion sign (-) of the host with the inclusion sign (+). Test the node connection (uninode -test) before adding users to the node.

 

Deleting (excluding) a node from the network

Replace the inclusion sign (+) of the host with the exclusion sign (-).

Warning
Be aware of the consequences of this action. Deleting a node from the node network, even temporarily, will result in the loss of data. Removing this node will delete all remote records which were created on this node.

 

Increasing or decreasing the number of connections between nodes

To modify the number of connections between nodes make the necessary changes to the rule entry. It is possible to add, delete or modify a rule entry.

Example: To increase the number of connections from Los Angeles to Cupertino, add the following rule to the end of the file:

angeles->cupertino:+2

 

Moving a node

Complete nodes can be moved from one server to another.

Note
The instructions below document moving nodes between Intel hosts or UNIX hosts. The following procedure will not work between a UNIX host and an Intel host unless a database conversion utility is used. See the documentation for unil2bendian and unib2lendian in Appendix G for more information on converting the database from a UNIX host to an Intel host or vice versa.

 

To move an entire node from one computer to another:
  1. Stop all Calendar daemons / services.

  2. Perform a full copy backup of the /users/unison/db/nodes/Nx directory where Nx contains the node that you are moving.

  3. Copy the backup file to the destination host and, using the same backup tool, restore the file.

  4. Modify the /users/unison/misc/unison.ini file on both systems to reflect the changes that you have made (i.e. source host has lost a node and destination host has gained a node).

  5. Run unidbfix -export -n all on the source host.

  6. Step 5 will create a file in each of the databases (i.e.: in each /users/unison/db/nodes/NX/perm) called remotenode.ini. This file contains information about all nodes remote to this node. Initially, all nodes will still think that the moved node is on the old or source host. Edit all of the remotenode.ini files, replacing all references to the source host name with the destination hostname.

  7. Run unidbfix -import -n all on all nodes.

  8. Edit the remotenode.ini files for all other nodes in the node network to reflect the host name changes. Repeat steps 5 through 7 for all other servers in the node network. Services must be brought down on those machines to run unidbfix.

  9. Edit the /users/unison/misc/nodes.ini to reflect the host name changes.

  10. Update the directory server using the ldapmodify tool, changing the "nscalhost" attribute from the source host name to the destination host name on all migrated nodes. This attribute exists for each SYSOP special user.

  11. Start all Calendar daemons / services.

 

Caveat: LDIF differences UNIX and NT

Slight differences in the UNIX and NT LDIF file formats must be understood in order to successfully transfer data from a NT to a UNIX server. Before importing NT generated LDIF files to UNIX, ensure that:

  1. Any control characters are removed (must change CR/LF to LF)

  2. The "NT User" Object Class is removed