Make sure directory server is configured and hostname is in /etc/hosts on both nodes. Know the Bind DN password and login (cn=directory manager) for ldap and the calmaster password.
Run the calendar configurator on node 1, the active calendar node:
phys-bedgeN-1# cd /shared/bedge5/cal/opt/SUNWics5/cal/sbin phys-bedgeN-1# sh ./csconfigurator.sh -nodisplay Provide the following information during the configuration Sample: LDAP Server Name: ds-amer-02.us.example.com LDAP Port: 389 Directory Manager Bind DN: cn=Directory Manager Directory Manager Bind Password: xxxxxxxx Base DN: dc=example,dc=com Calendar Administrator Username: calmaster Calendar Administrator Password: xxxxxxxx Email Alarms: Enabled Administrator Email Address: wwcs-csg-if@example.com SMTP Hostname: mail-amer.example.com Service Port: [80] Maximum Sessions: [5000] Maximum Threads: [20] Number of server processes: [4] Runtime Username: icsuser Runtime Usergroup: icsgroup Start after successful installation: No Start on system startup: No Config Directory: /etc/opt/SUNWics5/config Database location: /shared/bedge5/cal/opt/csdb Logs: /shared/bedge5/cal/opt/logs Temporary Files: /shared/bedge5/cal/opt/tmp |
Move the config directory to the shared filesystem
phys-bedgeN-1# cd /shared/bedge5/cal/opt/SUNWics5/cal phys-bedgeN-1# rm config phys-bedgeN-1# cp -pr /etc/opt/SUNWics5/config . phys-bedgeN-1# cd /shared/bedge5/cal/opt/SUNWics5/cal/lib phys-bedgeN-1# rm config phys-bedgeN-1# ln -s ../config config phys-bedgeN-1# cd /shared/bedge5/cal/opt/SUNWics5/cal/sbin phys-bedgeN-1# rm config phys-bedgeN-1# ln -s ../config config |
Create the hotbackup and archive directories for database backups:
phys-bedgeN-1# cd /shared/bedge5/cal/dbbackup phys-bedgeN-1# mkdir hotbackup archive phys-bedgeN-1# chown icsuser:icsgroup hotbackup phys-bedgeN-1# chown icsuser:icsgroup archive |
Edit the ics.conf file and add the following to the end of the file. Change shared paths and add IP for logical host.
phys-bedgeN-1# cd /share/bedge5/cal/opt/SUNWics5/cal/config phys-bedgeN-1# cp ics.conf ics.conf.orig |
! Configure hotbackups and archiving ! caldb.berkeleydb.archive.path = "/shared/bedge5/cal/dbbackup/archive" caldb.berkeleydb.archive.enable = "yes" caldb.berkeleydb.archive.mindays = "3" caldb.berkeleydb.archive.maxdays = "5" caldb.berkeleydb.archive.threshold = "70" ! Interval between hotbackup or archivebackup in seconds caldb.berkeleydb.archive.interval = "120" ! caldb.berkeleydb.hotbackup.enable = "yes" caldb.berkeleydb.hotbackup.path = "/shared/bedge5/cal/dbbackup/hotbackup" caldb.berkeleydb.hotbackup.mindays = "3" caldb.berkeleydb.hotbackup.maxdays = "5" caldb.berkeleydb.hotbackup.threshold = "70" logfile.store.logname = "store.log" ! ! End -- Hotbackup/Archiving section ! local.server.ha.enabled = "yes" local.server.ha.agent = "SUNWscics" service.http.listenaddr = "logicalHostIP" |
Modify the ics.conf file with the following parameters. When adding parameters to the ics.conf file that don't already exist, add them in the alphabetical order of the parameter name.
caldb.berkeleydb.circularlogging = "no" caldb.serveralarms.contenttype = "text/xml" caldb.serveralarms.url = "enp:///ics/customalarm" service.calendarsearch.ldap = "y" caldb.cld.type = "directory" logfile.loglevel = "Information" service.dwp.enable = "yes" service.dwp.port = "9779" service.ens.port = "7997" local.hostname = "bedge5-cal1.us.example.com" local.servername = "bedge5-cal1.us.example.com" service.ens.host = "bedge5-cal1.us.example.com" service.http.calendarhostname = "bedge5-cal1.us.example.com" |
Uncomment the following two lines:
caldb.serveralarms.url = "enp:///ics/customalarm" caldb.serveralarms.contenttype = "text/xml" |
Comment out this line:
!service.listenaddr = "INADDR_ANY" |
Locate the first line below and add the second one after it:
service.siteadmin.userid = "" service.store.enable = "yes" |
Uncomment the default DWP server entry and set it appropriately:
! Default DWP server (LDAP CLD only), used if user's icsDWPhost value does not exist. ! caldb.dwp.server.default = "bedge5-cal1.us.example.com" |
Update all existing ics.conf files (FEs and BEs) with new calendar backend server information. In order for all of the frontend calendar servers to be able to communicate with all of the backend database servers, all backend servers must be listed in all ics.conf files. Services must be restarted in order for this change to take effect.
The following parameter must be uncommented in the ics.conf files and parameters changed on all servers (front and back ends) when a new backend server is brought on line:
caldb.dwp.server.bedge5-cal1.us.example.com.ip = "bedge5-cal1.us.example.com" |
The fully qualified name for the calendar server MUST be the first entry in /etc/hosts files on all systems for this to work and the /etc/nsswitch.conf MUST be set up correctly. Example /etc/hosts file entry for BRM:
10.1.82.143 bedge5-cal1.us.example.com bedge5-cal1.us.example.com bedge5-cal1 |
For reference, a copy of the current ics.conf file from the Broomfield BE calendar cluster is in the appendix of this cookbook.
Create the cal1-svc resource and define dependencies.
phys-bedgeN-1# mkdir /shared/bedge5/cal/opt/opt phys-bedgeN-1# cd /shared/bedge5/cal/opt/opt phys-bedgeN-1# ln -s ../SUNWics5 SUNWics5 phys-bedgeN-1# scrgadm -a -j cal1-svc-rs -g cal1-svc-rg -t SUNW.scics \ -x Confdir_list=/shared/bedge5/cal/opt -y \ Resource_dependencies=cal1-storplus-rs,cal1-addr-rs -y Port_list=80/tcp phys-bedgeN-1# scswitch -e -j cal1-svc-rs |
Verify that cal1-svc-rg, cal1-addr-rs, cal1-storplus-rs, and cal1-svc-rs are online and calendar processes running on node 1.
phys-bedgeN-1# scstat -g phys-bedgeN-1# ps -ef | grep icsuser |
Verify services can be switched over to Node 2 successfully, and back again
phys-bedgeN-1# scswitch -z -g cal1-svc-rg -h phys-bedge5-2 phys-bedgeN-1# scstat -g phys-bedgeN-1# scswitch -z -g cal1-svc-rg -h phys-bedge5-1 phys-bedgeN-1# scstat -g |
Duplicate the contents of /var/sadm/pkg/SUNWics5 on the other node. This is primarily for monitoring so that SunMC can determine if the package exists and set $serverroot. On the node that calendar was installed:
phys-bedgeN-1# mkdir /global/.devices/node@1/tmp phys-bedgeN-1# cd /var/sadm/pkg phys-bedgeN-1# tar cf /global/.devices/node@1/tmp/ics5.tar SUNWics5 |
On the other node:
phys-bedgeN-2# cd /var/sadm/pkg phys-bedgeN-2# tar xf /global/.devices/node@1/tmp/ics5.tar phys-bedgeN-2# rm -r /global/.devices/node@1/tmp |