This chapter describes how to use the Calendar Lookup Database (CLD) plug-in to enable the calendar database to be distributed over multiple back-end servers. You must both enable and configure the CLD plug-in.
For Calendar Server installations that separate functionality across front-end and back-end machines, the hardware platforms must be the same on each end.
More specifically, due to big-endian versus small-endian incompatibility, you can’t use both an x86 platform machine and a SPARC platform machine in the same Calendar Server deployment containing front-end and back-end machines.
This chapter contains the following topics:
For information on how to improve the performance of the CLD plug-in, see Chapter 21, Tuning Calendar Server Performance.
This section covers valuable overview and background information that you might want to understand before actually enabling and configuring the CLD plug-in. It contains the following topics:
The Calendar Lookup Database (CLD) plug-in provides horizontal scalability of the calendar database by allowing user and resource calendars to be distributed over a number of back-end servers for a single calendar instance. When the calendar database is distributed over several back-end servers, Calendar Server uses the CLD plug-in to determine the actual server where a calendar is stored.
Calendar Server accesses the calendar data on the back-end server using the Database Wire Protocol (DWP). DWP is an internal protocol that runs as the csdwpd service and provides the networking capability for the calendar database.
Calendar Server accesses calendar data on a back-end server as follows:
When an end user accesses a calendar through Communications Express, the CLD plug-in extracts the userid from the calendar’s calid and then looks up the calendar owner in the LDAP directory database, or the CLD data cache (if enabled). For information and instructions on configuring a front-end machine, see To Configure a Front-End Server for CLD.
After finding the calendar owner, the plug-in uses the value in the icsDWPHost LDAP attribute to determine the host name of the back-end server where the calendar resides. This host name must be resolvable by your Domain Name Service (DNS) into a valid IP address.
Using the host name, Calendar Server accesses the calendar data on the back-end server using the Database Wire Protocol (DWP).
Using DWP, Calendar Server sends the calendar data to the server where the user is logged in, so it can be rendered in one of the user interfaces.
If your site is using the CLD plug-in, all calendars created for the same user must reside on the same back-end server, as indicated by the LDAP user entry’s icsDWPHost LDAP attribute. If you try to create a calendar on a different back-end server, Calendar Server returns an error.
The CLD plug-in supports the following Calendar Server configurations:
In all configurations, each front-end and back-end server must:
Be on the same hardware platform.
Be running the same operating system.
Be running the same Calendar Server release, including patches.
Use the same port number for the DWP port (service.dwp.port parameter). The default port number is “59779”.
Figure 6–1 shows two front-end servers and two back-end servers running a single Calendar Server instance. You can also configure more than two front-end or back-end servers, if you wish.
This configuration allows the servers to be protected by a firewall to restrict access to the LDAP and calendar databases. The calendar database is distributed across the two back-end servers.
The front-end servers are CPU intensive, with most CPU time spent rendering calendar data for end-users. The back-end servers are disk intensive, with most CPU time spent accessing the calendar database.
For configuration instructions, see Configuring Calendar Servers for CLD and DWP.
Figure 6–2 shows three machines functioning as both front-end and back-end servers. Each machine is connected to a calendar database. This configuration allows calendars to be geographically distributed. Calendar owners (end users) log into the machine where their calendars reside. For configuration instructions, see To Configure a Server as Both a Front-end and a Back-end.
The following are a few rough formulas based on a medium usage profile for figuring how many back-end and front-end servers you need, and how much storage:
For our rough estimates, we are assuming the following:
All clients are Web clients.
Therefore, the only inputs to be used are: total number of users, and percent concurrency.
The average size calendar event size is 2K.
Each person creates five events or todos per week.
80% CPU utilization.
900 MHz CPU's
1 GB RAM per CPU
Two years' worth of calendar data stored on system.
The formula is:
Number of CPU's = Number of Concurrent Users divided by 4800
The formula is:
Number of CPU's = 4 CPU's per 500,000 configured users
The formula is:
Amount of Storage = 5 emails per week times 52 weeks a year times 2K per email (5*52*2K)
= 520KB per user per year
For the assumed two years of calendar data, 1 MB per user.
This sections contains instructions for configuring servers and contains the following topics:
On every front-end server, log in as an administrator with permission to change the configuration.
Change to the /etc/opt/SUNWics5/cal/config directory.
Save your old ics.conf file by copying and renaming it.
Edit the ics.conf parameters as shown in the following table:
Save the file as ics.conf.
Restart Calendar Server.
cal_svr_base/SUNWics5/cal/sbin/start-cal
On every back-end server, log in as an administrator with permission to change the configuration.
Change to the /etc/opt/SUNWics5/cal/config directory.
Save your old ics.conf file by copying and renaming it.
Edit the ics.conf parameters as shown in the following table:
Save the file as ics.conf.
Restart Calendar Server.
cal_svr_base/SUNWics5/cal/sbin/start-cal
On every server, log in as an administrator with permission to change the configuration.
Change to the /etc/opt/SUNWics5/cal/config directory.
Save your old ics.conf file by copying and renaming it.
Edit the ics.conf parameters as shown in the following table:
Save the file as ics.conf.
Restart Calendar Server.
cal_svr_base/SUNWics5/cal/sbin/start-cal
You can configure password authentication between front-end and back-end servers. This section explains how secure communication between the two can be set up and how it works. The following topics are covered:
To Set Up Authentication for DWP Connections for a Front-end Server
To Set up Authentication for DWP Connections for a Back-end Server
A front-end server uses the Database Wire Protocol (DWP) to communicate with a back-end server. Because DWP uses HTTP as the transport mechanism, Calendar Server provides authentication for DWP connections between front-end and back-end servers using configuration parameters.
When the front-end server first connects to the back-end server, it sends the user ID and password specified in the ics.conffile. The back-end server checks the parameters in its ics.conffile, and if both parameters match, the authentication is successful. The back-end server then sends a session ID back to the front-end server. The front-end server uses the session ID in subsequent DWP commands to the back-end server.
Subsequent connections from the same front-end server do not need to be authenticated again, unless the back-end server is restarted or the session expires because of no activity between the two servers.
If you have multiple front-end and back-end servers, you can use the same user ID and password for each one.
If a back-end server does not specify a user ID and password, no authentication is performed.
These parameters are not included in the installed version of the ics.conf file. To use authentication for DWP connections, you must add the required parameters to the ics.conf file on each front-end server.
On every front-end server, log in as an administrator with permission to change the configuration.
Change to the /etc/opt/SUNWics5/cal/config directory.
Save your old ics.conf file by copying and renaming it.
Add the ics.conf parameters as shown in the following table:
Parameter |
Description |
On a front-end server, specifies the administrator's user ID that is used for authentication for a DWP connection to a back-end server, where back-end-server is the name of the server. |
|
On a front-end server, specifies the password that is used for authentication for a DWP connection to a back-end server, where back-end-server is the name of the server. |
Save the file as ics.conf.
Restart Calendar Server.
cal_svr_base/SUNWics5/cal/sbin/start-cal
These parameters are not included in the installed version of the ics.conf file. To use authentication for DWP connections, you must add the required parameters to the ics.conf file on each back-end server.
On every back-end server, log in as an administrator with permission to change the configuration.
Change to the /etc/opt/SUNWics5/cal/config directory.
Save your old ics.conf file by copying and renaming it.
Add the ics.conf parameters as shown in the following table:
Parameter |
Description |
On a back-end server, specifies the user ID that is used to authenticate a DWP connection. If a back-end server does not specify a user ID, no authentication is performed. |
|
On a back-end server, specifies the password that is used to authenticate a DWP connection. If a back-end server does not specify a password, no authentication is performed. |
Save the file as ics.conf.
Restart Calendar Server.
cal_svr_base/SUNWics5/cal/sbin/start-cal