I was startled from a deep sleep by the distinct ring of my cell phone. Once my eyes focused, I glanced at the clock. It was 2:14 a.m. Who would call my cell phone at that hour? The number looked familiar, and after answering it, I recognized the caller's voice. It was our after-hours escalation hotline calling to report an outage on a GroupWise server. Fortunately, these calls hardly ever happened. But at 2:00 in the morning, even one call is too many. Little did I know that things were just going to keep getting better.
A Look at the Past
GroupWise entered the Linux world with the release of GroupWise 6.5 for Linux (v6.5.3) in July 2004. The Novell IS&T Messaging Services team began looking at deploying GroupWise on Linux several months prior to the release of GroupWise 6.5.3. The challenges we faced were common to many GroupWise customers:
- a busy schedule with many pressing projects
- lack of experience with Linux
- uncertainty about the migration process and risks
- and uncertainty about the benefits of running GroupWise on Linux.
With a couple of years' experience under our belts, our team now feels certain about GroupWise on Linux—it is the best change we have made to our messaging system—ever.
Although GroupWise and NetWare are legendary for their stability, moving GroupWise to Open Enterprise Server on Linux has improved the stability of our GroupWise system even more than before. The Linux operating system creates a new standard when it comes to fault handling and recovery. Linux allows us to automatically restart the GroupWise agents in less than one minute and to take corefiles (coredumps) without intervention for submission to GroupWise engineering.
Linux also permits us to easily generate e-mail notification when an application crashes. GroupWise clients usually don't even notice a service interruption. They can handle time-outs of more than 90 seconds before they start reporting problems to users.
We can do all these things because of the powerful scripting tools in Linux that allow us to manage GroupWise and server processes automatically and with greater reliability.
Another great benefit of running GroupWise on Linux is protection from database corruptions. Linux protects GroupWise database files from corruption due to application crashes. This means a fast recovery time and fewer problems if GroupWise or any other application does crash.
Obviously, the Novell team is sold on running GroupWise on Linux; we have experienced greater reliability and stability, fewer outages and fewer after hours calls.
Another great plus about SUSE Linux is that Novell provides GroupWise customers with as many free SUSE Linux Enterprise Server licenses as needed to run their GroupWise system. So now you don't have to be Novell IS&T to get free Novell licenses for your systems!
Moving to Linux
Our team has had a steep learning curve during our move to Linux as is typical for any new technology; however, Novell makes that transition easier with added functionality in Open Enterprise Server for Linux and great training resources such as self-study training. (For more information, see Training Resources and novell.com/netwaretolinux.)
The GroupWise development team is doing even more to help GroupWise users move to Linux with the upcoming release of the GroupWise Server Migration Utility, which is scheduled for September 2006. This utility allows you to simply and easily migrate a GroupWise post office or domain from Windows or NetWare to Open Enterprise Server for Linux or SUSE Linux Enterprise Server.
In April 2004, our main challenges in migrating to Linux were a lack of experience with Linux and a lack of understanding of the issues involved. Linux experience grew with training and self-study, and solidified with hands-on experience; we moved a GroupWise post office from NetWare to Linux in the lab, which helped. After a few tests, it became obvious that the bulk of our concerns were going to center around one issue: case sensitivity; Linux filesystems are case sensitive and Windows and NetWare filesystems are not.
GroupWise databases contain internal references to thousands of database files. When they are copied to a Linux filesystem, the files become lost to GroupWise unless the internal references and the filenames are synchronized. The optimal solution is to convert all references and filenames to lowercase to ensure consistency.
GroupWise engineering resolved this case-sensitivity problem with a new GroupWise utility called dbcopy. Dbcopy is a command line utility that reads the internal references in GroupWise database files and copies and renames them to match the proper case. It does not change the internal references, but makes the database files match them exactly. The dbcopy utility is the core of the GroupWise Server Migration Utility that solves the other major challenges we experienced: complexity and service downtime.
Another GroupWise utility, GWCheck, converts all references and files to lowercase once the files have been copied. The server migration utility uses GWCheck to rename database filenames and references to lowercase, insuring an integral GroupWise system on Linux.
Although Linux is powerful, it is complex. It is well known for command line functionality and a multiplicity of options. You can do almost anything on a Linux command line. Although there are many things you can only do on a Linux command line, Novell is changing that. When we started migrating GroupWise systems from NetWare to Linux we discovered there were quite a few complex commands we needed to learn and execute.
After a few iterations, this process is now well documented and can still be done manually at the command line by following the instructions available on the Internet. Fortunately, the GroupWise Server Migration Utility simplifies and streamlines this process. This tool also minimizes the amount of time that GroupWise is not available to end users during the migration process.
The Migration Utility
Currenty, the GroupWise Server Migration Utility runs from a Windows workstation. Why Windows? Novell recognizes a majority of GroupWise administrators are using Windows to administer their GroupWise systems. Novell customers are beginning to implement the Linux desktop, but it's not yet the de facto environment for GroupWise administrators. Rest assured: future versions of the migration utility are planned to support the Linux desktop.
The migration utility relies on the Novell Client, and uses ssh to connect to the Linux server. It performs the following functions:
- copies GroupWise agents to the Linux server and installs them
- creates a connection between the NetWare or Windows server and mounts the filesystem on the Linux server
- performs an initial transfer of GroupWise files from the NetWare or Windows server to the Linux server while users are still accessing their e-mail
- transfers agent configuration information from the legacy server to the Linux server
- performs an optimized final transfer of data to minimize the time users cannot connect to their GroupWise mailboxes
- uses GWCheck to convert all database names and references to lowercase
The first version of the GroupWise Server Migration Utility requires some manual intervention on your part. First, install and configure the Linux server properly. Also, install the Novell Client on the Windows workstation if it isn't already installed. Additionally, configure and test the GroupWise agents on the Linux server using command line options and ConsoleOne. The migration utility keeps it straightforward and simple while walking you step by step through the process.
Migration Utility features
The utility first asks you to specify from which server platform you are migrating. It then lists the detailed prerequisites that must be met for it to function properly. (See Figure 1.) On NetWare, this includes:
- mapping a drive to the NetWare server hosting the GroupWise post office to be migrated
- verifying that the NCPFS package is installed on the Linux server (This package allows the Linux server to mount an NCP, or NetWare Core Protocol, file system remotely. The migration utility will copy the GroupWise data using this protocol from the NetWare server to the Linux server.)
- having the GroupWise for Linux installation CD available (You will be prompted for the path to the CD during the migration. This should be the same version of GroupWise as the version running on your existing GroupWise server.)
- verifying that the Novell Client is installed on the Windows workstation being used for the migration (You will also need access to Novell ConsoleOne with GroupWise snap-ins.)
- making sure that the ssh daemon is enabled on the Linux server and that root can login via ssh to the server (Note: You will also need to provide the root user password on the Linux server.)
- having the GroupWise client available to test the installation on the Linux server
- ensuring adequate disk space is available on the Linux server (Novell recommends having disk space equal to about three times the amount of disk space currently being used by the post office file system. This allows for keeping an online backup of the post office and some room for growth. The dbcopy utility can be used to copy the post office to the local server, which serves as a source for backup software. (For more information about this, click here.)
The migration utility next requires you to select the source server from a drop down list. If you haven't mapped a drive to the server it will not appear in this list. It also asks you for a username and password that can login to that server and read and copy the GroupWise database files. It will use these credentials to connect to the NetWare server from the Linux server to copy the GroupWise files. (See Figure 2.)
Next, provide the ip address of your Linux destination server and the root user password for that server. This information allows the migration utility to copy the GroupWise software and to install it on the Linux server. (See Figure 3.)
The utility then prompts you for the location of the GroupWise Linux software CD files and allows you to specify a temporary location on the Linux server where to copy the installation files. You can choose to keep those files, otherwise, the utility removes them by default after installation.
The migration tool next collects information about the post office and/or domain to be migrated. It will only migrate one post office or domain at a time, so it requires you to specify which one to migrate. The Auto-Detect feature will scan the ncf files in the sys:\system directory that are included in the AUTOEXEC.NCF file for the source NetWare server. After running Auto-Detect, edit the post office or database you are migrating to verify the details of the source and destination locations.
The migration utility allows you to specify the source locations of the GroupWise database and agent start-up file. It also specifies, by default, the destination location where the GroupWise database files will be on the Linux server. The default path is /var/opt/novell/groupwise/mail. The source directory will be copied to there. For example, if your GroupWise post office is in a directory named "po" on the DATA volume of the NetWare server, then a directory named "po" would be created as "/var/opt/novell/groupwise/mail/po". This allows you to maintain multiple GroupWise datastores on the same server, such as a domain and a post office or multiple post offices. On Windows, you must browse to the GroupWise database path and agent startup file manually as there is no Auto-Detect feature.
Next, review all of the information previously gathered in a Migration Summary information screen. Scroll through the information to make sure it is accurate, then click on Migrate to begin the process. The GroupWise Server Migration utility displays a progress screen giving information about what it is doing during the first phase of the migration. If you choose to stop for some reason, you can safely repeat the process without causing any loss of information or damage to your existing GroupWise system. This allows you to practice and familiarize yourself with the migration process until you are comfortable and ready for a live migration.
After the first data migration is complete, the utility launches the GroupWise agent and prompts you to verify that GroupWise is functioning properly. If you are using LDAP authentication, you will need to intervene and configure and launch the GroupWise post office agent manually to test this. (For more information on this, refer to the GroupWise documentation.)
If you are ready to perform the actual migration, make the necessary configuration changes so GroupWise reflects the new ip address and path of the Linux server. The GroupWise Server Migration Utility help file gives you detailed instructions on exactly what needs to be modified.
Before you do this, consider how your users will reconnect to the GroupWise agent on the new server. A variety of options are available, which are all fairly complicated and beyond the scope of this article. Basically, you can use a DNS name for the post office agent network address, or you can implement NGWNAMESERVER, or client redirection using administrator-defined setup. Also refer to the GroupWise documentation for help on this subject.
Note: If you are testing the utility to see how it works or how long it will take to actually perform the migration, you can skip making configuration changes until you are ready to perform the actual migration.
Once you have verified that these configuration changes have synchronized through the GroupWise system, you are ready to stop the GroupWise agent on the source server and complete the data migration. At this point, users will not be able to connect to the source GroupWise server until the migration is complete, so plan this phase for an appropriate time keeping the different time zones your system accommodates in mind.
The migration utility will copy any files that have changed and will also copy any messages in the message queues that have not yet been processed. This ensures that all data is preserved and transferred properly to the Linux server.
The time to complete this phase will depend on how many users you have on your post office. You can perform a trial run of this second phase by skipping the configuration changes that are normally required. This will let you know how long your post office will be down. Then simply rerun the migration tool from the beginning to complete the migration.
The migration utility greatly simplifies the process of migrating a GroupWise domain or post office to Linux. In the future, it is slated to support migrating the GroupWise Internet Agent and GroupWise WebAccess as well.
If you are not familiar with Linux, you may be slow to consider running your GroupWise system on Linux. With a busy job, you might be reluctant to invest time into learning a new operating system for uncertain benefits. The Novell IS&T Messaging team has learned firsthand how Linux brings greater stability and flexibility to running an enterprise GroupWise system. With Novell's help and tools like the GroupWise Server Migration Utility, you will find that moving to Linux is something you wished you had done sooner. Remember that the next time you get a call in the early hours of the morning.