Configuring Calendar Server for high availability (HA) provides for monitoring of and recovery from software and hardware failures. The Calendar Server high availability feature is implemented as a failover service. This chapter describes a Calendar Server HA configuration using Sun Cluster software.
This chapter describes how to install and configure a Calendar Server HA service, including:
Find a set of worksheets to help you plan a Calendar Server High Availability configuration in an appendix, Appendix C, High Availability (HA) Configuration Worksheets.
A Calendar Server HA configuration requires the software shown in the following table:
Software and Version |
Notes and Patches |
---|---|
Solaris 9 OS SPARC Platform only |
All versions of Solaris 9 OS are supported. Solaris 9 OS requires Sun Cluster 3.0 U3 or later. Solaris 9 OS includes Solaris Logical Volume Manager (LVM). |
Solaris 8 OS SPARC Platform only |
Solaris 8 Maintenance Update 7 (MU7) OS or later plus required patches. |
Sun Cluster 3.0 U3 or 3.1 |
Sun Cluster software must be installed and configured on all nodes in the cluster. To install Sun Cluster 3.1, use the Java Enterprise System installer by following the installation process in the Sun Java Enterprise System 2005Q4 Installation Guide for UNIX. After you install the Sun Cluster software, you must configure the cluster. For information, refer to the Sun Cluster System Administration Guide for Solaris OS. For related documentation, see Related Documentation. Sun Cluster Patches For the Solaris 9 OS, see the Sun Cluster InfoDoc 49704. For the Solaris 8 OS, see the Sun Cluster InfoDoc 49705. |
Solstice DiskSuite 4 |
Solstice DiskSuite is available for Solaris 8 OS only. Solstice DiskSuite is not required for Solaris 9 OS, which includes the Logical Volume Manager (LVM). |
Veritas Volume Manager (VxVM) 3.x |
Solaris 8 OS requires version 3.2 or later plus required patches. Solaris 9 OS requires version 3.5 or later plus required patches. |
Veritas File System (VxFS) 3.x |
Solaris 8 OS requires version 3.4 or later plus required patches. Solaris 9 OS requires version 3.5 or later plus required patches. HAStoragePlus requires patch 110435-08 or later. |
The Calendar Server HA configuration examples in this section use the following names:
Name in Example |
Description |
---|---|
/global/cal/ |
Global file system mount point |
cal-logical-host |
Logical host name |
cal-logical-host-ip |
Logical host IP numeric address |
cs-admin@cal-logical-host |
Email address for the Calendar Server administrator |
cal-node-1 |
Node 1 |
cal-node-2 |
Node 2 |
cal-resource-group |
Calendar resource group |
cal-resource-group-store |
Calendar Server storage resource |
cal-resource |
Calendar Server resource |
This is a high level list of the steps necessary to install and configure a Calendar Server HA configuration.
To install and configure a Calendar Server HA configuration, log in as or become superuser (root) and specify a console or window for viewing messages sent to /dev/console.
On each node in the cluster, perform these steps:
Create the Calendar Server runtime user and group under which Calendar Server will run as follows:
Add icsgroup (or the value you selected) to the /etc/group file.
Add icsuser (or the value you selected) to the /etc/passwd file.
The default names are icsuser and icsgroup. You can use other names if you prefer, but the uid and gid numbers must be the same on all nodes in the cluster. The user name should not be root.
You must provide the user and group names when you Run Postinstallation Configuration Programs.
Add or set the following fields in the /etc/vfstab file:
mountpoint to /global/cal/ (Or, the file system mount point you selected in Selecting the Calendar Server Installation Directory.)
mount at boot option to no
mount options to logging for FFS or global,logging for GFS
The installation of Sun Java Enterprise System products, including Calendar Server, has significantly changed from earlier Sun branded products (for example, Sun ONE, and iPlanet). To install Sun Java Enterprise System products, you must use the Sun Java Enterprise System installer.
For information about the installer, refer to the Sun Java Enterprise System 2005Q4 Installation Guide for UNIX.
The following table describes the Sun products and packages required for a Calendar Server HA configuration.
Product or Package |
Node 1 |
Node 2 |
---|---|---|
Sun Cluster Software |
yes |
yes |
Calendar Server (6.0 and later) |
yes |
no |
Sun Cluster Agent for Calendar Server (SUNWscics package) |
yes |
yes |
Shared components (SUNWicu, SUNWldk, SUNWpr, SUNWsasl, and SUNWtls packages) |
yes |
yes |
On node 1, install all selected products and packages using the Java Enterprise System installer. When you install Calendar Server, you must specify a directory other the default directory. See Selecting the Calendar Server Installation Directory.
On node 2, follow these steps:
Install Sun Cluster and the Sun Cluster Agent for Calendar Server (SUNWscics package) using the Java Enterprise System installer.
Note You cannot install only the Sun Cluster Agent for Calendar Server. When you chose the Sun Java System Agents for Sun Cluster, the Java Enterprise System installer installs all agents.
Install shared components (SUNWicu, SUNWldk, SUNWpr, SUNWsasl, and SUNWtls packages) using the pkgadd command. See Installing Shared Components.
For Calendar Server, the Java Enterprise System installer uses the following default installation directory: /opt
However, for an HA configuration, you must specify a global installation directory. For example: /global/cal/opt/
To make the required shared components available on node 2, you must install the following packages:
SUNWicu – International Components for Unicode User Files
SUNWldk – LDAP C SDK
SUNWpr – Netscape Portable Runtime Interface
SUNWsasl – Simple Authentication and Security Layer (SASL)
SUNWtls – Network Security Services
These packages are available in the following directories:
.../Solaris_sparc/Product/shared_components/Packages/SUNWldk .../Solaris_sparc/Product/shared_components/Solaris_8/Packages .../Solaris_sparc/Product/shared_components/Solaris_9/Packages
To install these packages, change to one of the directories shown above and use the pkgadd command. For example:
# pkgadd -d . SUNWicu SUNWpr SUNWsasl SUNWtls
To configure the logical host:
Create a Calendar Server failover resource group named cal-resource-group:
# scrgadm -a -g cal-resource-group -h cal-node-2,cal-node-1 |
Add the logical host name named cal-logical-host to the resource group. Calendar Server will listen on this host name.
# scrgadm -a -L -g cal-resource-group -l cal-logical-host |
Bring the resource group online:
# scswitch -Z -g cal-resource-group |
To activate the storage resource:
Register the storage resource specifying the mount point as the ServicePaths property:
# scrgadm -a -j cal-resource-group-store -g cal-resource-group -t SUNW.HAStorage -x ServicePaths=/global/cal -x AffinityOn=True |
Enable the storage resource:
# scswitch -e -j cal-resource-group-store |
If SUNW.HAStoragePlus has also chosen to setup a global file system (GFS), the FileSystemMountPoints property must be set instead of ServicePaths.
After you install Calendar Server, run the Directory Server Setup script (comm_dssetup.pl) and the Calendar Server configuration program (csconfigurator.sh) as described in Chapter 2, Directory Preparation Script (comm_dssetup.pl).
The following table describes the specific configuration information that you must provide for an HA configuration.
Table 7–1 Calendar Server Configuration Options for an HA Configuration
When configuring automatic backups for HA, backup directories must reside on shared storage partitions to prevent incomplete copies on individual nodes of the cluster. Pay particular attention to the size of the partition, since backup directories are large.
Disk space calculations fail for symbolic links. Therefore, do not use symbolic links for automatic backup directories.
The Calendar Server stores configuration files in the config directory. In an earlier release, the config directory was relocated. Its location is:
/etc/opt/SUNWics5/config/
Symbolic links to the old config directory are kept in the following directories:
/opt/SUNWics5/cal
/opt/SUNWics5/cal/lib
/opt/SUNWics5/cal/sbin
After running the Calendar Server configuration program, csconfigurator.sh, remove the symbolic link in each of the old directories and replace it with a link to the new directory as described in the procedures that follows. Note that these procedures preserve the settings from the original configuration files found in /etc/opt/SUNWics5/config.
Before you start, make sure the contents of the config directory are owned by icsuser and icsgroup (or your choices you specified for the runtime User ID and Group ID):
# ls -ld config ... icsuser icsgroup ... config/
Change to the /global/cal/opt/SUNWics5/cal directory, For example:
# cd /global/cal/opt/SUNWics5/cal/ |
where /global/cal/ is the file system mount point.
Check that config is a symbolic link to the new config directory. For example:
# ls -l config ... config -\> /etc/opt/SUNWics5/config/ |
In the /opt/SUNWics5/cal/ directory, remove the config symbolic link:
# cd /opt/SUNWics5/cal # rm config |
Copy the contents of the /etc/opt/SUNWics5/config directory into the new HA directory, preserving the ownership and permissions:
# cd /global/cal/opt/SUNWics5/cal # cp -pr /etc/opt/SUNWics5/config . |
In the /global/cal/opt/SUNWics5/cal/lib directory, check that config is a symbolic link to /etc/opt/SUNWics5/config.
# cd /global/cal/opt/SUNWics5/cal/lib # ls -l config ... config -\> /etc/opt/SUNWics5/config/ |
Remove the config symbolic link:
# rm config |
Create a new symbolic link to the new config location:
# ln -s ../config config |
Verify the new link:
# ls -l config ... config -\> ../config/ |
In the /global/cal/opt/SUNWics5/cal/sbin directory, check that config is a symbolic link to /etc/opt/SUNWics5/config.
# cd /global/cal/opt/SUNWics5/cal/sbin # ls -l config ... config -\> /etc/opt/SUNWics5/config/ |
Remove the config symbolic link:
# rm config |
Create a new symbolic link to the new config location:
# ln -s ../config config |
Verify the new link:
# ls -l config ... config -\> ../config/ |
If you need to uninstall Calendar Server, use the Java Enterprise System uninstaller, which removes the SUNWics5 and SUNWica5 packages.
For a Calendar Server HA configuration, however, you must first remove the relocated config directory and all of its contents before you run the uninstaller. For example:
# cd /global/cal/opt/SUNWics5/cal/ # rm -rf config |
If you do not remove the config directory, the uninstall operation fails for the SUNWics5 package.
In the /opt/SUNWics5/cal/config directory, edit the ics.conf configuration file as follows:
Add the following parameters:
local.server.ha.enabled="yes" local.server.ha.agent="SUNWscics" |
Rename the service.listenaddr parameter to service.http.listenaddr and then set the parameter to the IP address of the logical host. For example:
service.http.listenaddr = "cal-logical-host-ip" |
where “cal-logical-host-ip” is the numeric IP address of the logical host. For example: 123.321.12.2.
Change all parameters that refer to a local host name to the logical host name. For example:
local.hostname="cal-logical-host" local.servername="cal-logical-host" service.ens.host="cal-logical-host" service.http.calendarhostname="cal-logical-host.sesta.com" |
Before you start the HA Calendar Server, register the calendar resource type SUNWscics and create a calendar resource as follows:
Register the calendar resource type:
# scrgadm -a -t SUNW.scics |
Create the calendar resource:
# scrgadm -a -j cal-resource -g cal-resource-group -t SUNW.scics -x Confdir_list=/global/cal/cal-resource-group -y Resource_dependencies=cal-resource-group-store -y Port_list=80/tcp |
Enable the resource and start Calendar Server:
# scswitch -e -j cal-resource |
After you start Calendar Server check that all required processes or daemons (csadmind, enpd, csnotifyd, and cshttpd) are running.
Additionally, conduct a switchover of the service to the backup node to ensure the high availability. For example, if the service is running on cal-node-1, issue the following command to switch the service to cal-node-2.
# scswitch -z -g cal-resource-group -h cal-node-2
Then check that all processes are started on cal-node-2.
For troubleshooting, error messages are written to the console and /var/adm/messages.
The /var/cluster/rgm/rt/SUNW.scics/loglevel file contains the logging level. Use “9” for maximum verbosity.
For information about using the logging facility, refer to the Related Documentation.
To start and stop the Calendar Server HA service, use the Sun Cluster scswitch command. Do not use the Calendar Server start-cal, csstart, stop-cal, or csstop utilities. For example:
To start the Calendar Server HA service:
# scswitch -e -j cal-resource
To stop the Calendar Server HA service:
# scswitch -n -j cal-resource
To restart the Calendar Server HA service:
# scswitch -R -j cal-resource
For information about the Sun Cluster scswitch command, refer to the Sun Cluster Reference Manual for Solaris OS.
Sun Cluster Concepts Guide for Solaris OS provides a general background about Sun Cluster software, data services, and terminology resource types, resources, and resource groups.
Sun Cluster Data Services Planning and Administration Guide for Solaris OS provides general information on planning and administration of data services.
Sun Cluster System Administration Guide for Solaris OS provides the software procedures for administering a Sun Cluster configuration.
Sun Cluster Reference Manual for Solaris OS describes the commands and utilities available with the Sun Cluster software, including commands found only in the SUNWscman and SUNWccon packages.