Migrating a GroupWise NetWare Cluster System to an OES Cluster System
Novell Cool Solutions: Feature
By Martin Prikril
Digg This -
Posted: 12 Sep 2006
This was my first large GroupWise migration from NetWare to Linux. We had to plan and to accomplish a migration for our customer. ZENworks, GroupWise and iPrint were to be moved from the existing NetWare cluster onto a Novell Open Enterprise Server Linux Kernel. The method we chose was the Mixed Cluster Migration Path.
My part of this migration process was to move Groupwise 7.1 (2 Domains, 6 Postoffices and one GWIA, about 350 Users) from NetWare to Linux (I chose Hot Patch 2). The environment was Groupwise 7.1 Hot Patch 2, 2 Domains, 6 Postoffices and one GWIA, about 350 Users and about 100 GB of disk space.
Our first task was to determine which file system we should choose.
The File System Question
- Is the Raiser File System so much faster?
- Is NSS really too slow to serve a GroupWise System with 100 GB on a Linux system?
By restoring from a backup tape I built a test system with GroupWise on an NSS file system. I accomplished a wide range of tests and migrated GroupWise onto a Raiser file system. The same tests were done, but in fact neither file system was the winner.
Here are the results:
Tests at the Win32Client:
Send 35,7 MB MPG file (Time to Display in the Mailbox):
Raiser: 9 sec.
NSS: 6 sec.
Full Inobx (779 Mails) move to Folder
Raiser: 3 sec. Retour 3 sec.
NSS: 2 sec. Retour 2 sec.
Mark all Send Items (3705)
Raiser: 25 sec.
NSS: 26 sec.
Create new Address book and copy the existing Contacts onto it.
Raiser: 3 sec. delete 1 sec.
NSS: 10 sec. delete 1 sec.
Download the Mailbox to Caching Mailbox (358 MB)
GWcheck from Client-only Structure
GWcheck From Client Structure Index repair
Tests at the Server:
GWcheck, all Options
Quickfinder Update Indexes
Quickfinder Update Indexes and Compress
As dbcopy (being used as the tool for the migration to the Raiser file system) needs significantly more disk space and time than a cluster resource migration in a mixed OES cluster, our choice was the NSS file system.
The conclusion from several tests I did is as follows.
The first problem was files on the GroupWise volume that used uppercase or mixed-case file names. We had to change all of them to lowercase file names. The following article describes how to use the chcase.pl tool to convert case:
But before we started any action, we unloaded all agents and took a snapshot of the entire GroupWise system. Then I started the script at my workstation (it didn't work at the NetWare Server). 30 minutes later all files were stored with lowercase file names:
C:\perl\bin\perl c:\perl\bin\chcase.pl -dron g:\log C:\perl\bin\perl c:\perl\bin\chcase.pl -dron g:\dom C:\perl\bin\perl c:\perl\bin\chcase.pl -dron g:\po
The second problem was file ownership. [Supervisor] doesn't exist under NSS on Linux. So, although nearly all files on a GroupWise system are created by the server (and therefore the owner is [Supervisor]), there was no file on the Linux system that showed the owner [Supervisor]. Using trustee.nlm I made an export, changed the owner to an existing NDS user (e.g. Admin.Corp), and imported the file. Then all the files had correct owners.
trustee /eo save gw: gw:\owner.txt trustee restore gw:owner.txt
Finally, I ran the standalone GWCheck utility at my workstation using the storelowercase option (described in the Groupwise documentation) on all domains and post offices.
The new OES Linux server had to be a part of the cluster, and the storage configuration had to be ready. Furthermore, the Linux Server needed rights to hold the GroupWise cluster resource. So I changed the cluster load script to mount only the Groupwise volume without starting the agents. I did this by using iManager on Linux and Remote Manager on NetWare, respectively.
The migration command (same for NetWare and Linux:):
cluster migrate gwresource linuxserver
The existing NSS volume was now mounted at the Linux server (e.g. /media/nss/GW). I looked at the volume to control the files.
I won't describe the cluster installation of the GroupWise agents on Linux here. I accomplished this task by following the GroupWise documentation.
The next step was to change the domain and post office database path, as well as the platform information for the agents. I chose the Linux Server, installed ConsoleOne and the Groupwise Plug-in, and made the necessary changes (partly also for the log files).
Then I tested the GroupWise system. I started all GroupWise agents (e.g., gwpoa -show -home pfad -noconfig &) manually with the - show option to see if there were any problems. Everything was fine, so I changed the cluster load and unload script to start GroupWise automatically. There was a small load problem, so I put the start command (/ect/init.d/groupwise start) into a script (e.g. start_gw.sh) and called this script from the cluster load script.
#!/bin/bash . /opt/novell/ncs/lib/ncsfuncs exit_on_error nss /poolactivate=GW exit_on_error ncpcon mount GW=254 exit_on_error add_secondary_ipaddress 10.1.1.36 -np exit_on_error ncpcon bind --ncpservername=CN-OPT-01_GW_SERVER --ipaddress=10.1.111.31 exit_on_error /media/nss/GW/bin/start_gw exit 0
That's all. Now GroupWise runs the third day without any problems.
Don't forget to install and configure the cool GroupWise monitor to use the high availability service!
Let's have a look at the performance, especially for the users. (Yes, the new Linux server is new hardware. Nevertheless, the values are fine.)
TEST from GroupWise Win32 Client OnlineSeconds GW NetWare NSSSeconds GW Linux NSS
Inbox move 673 mails to temp folder 194
Move 673 mails from folder to mailbox 112
Export system address book into a NAB file (ca.2300) 277
Import system address book into a personal address book (ca. 2300) 729225
Mark all entries of the address book 889
Sending a test file 5,8 MB 61
Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com