Updating from SuSE Linux Enterprise Server V8 to V9
Updating concepts and expectations
Before looking at the update of SLES, let's look at the general concept of updating and what you should expect from an update. In an update, the goal is to replace an existing set of binaries and configuration with a newer set. This is done using a set of scripted functions which examine the system and execute the update. Since SuSE is an RPM-based distribution, most of the components will be updated through the RPM process.
While this seems perfectly obvious, it is important to appreciate the simplicity of this process to understand why updates can go wrong. The update process can only work successfully with situations it can account for. The further your configuration strays from a default installation, the more difficulty you may encounter when performing an update.
Have you done any custom compiling of the kernel or other components on your system? Do you have any major software packages which may be dependent on the way your system was configured at the time of their installation? Are you using any software packages which adjust the way the system normally runs, such as a centralized authentication manager? Have you manually edited any configuration files to take advantage of options not addressed by the distribution's configuration tools? Any of these things can cause problems when an update occurs. The more you understand how your system deviates from a standard installation, the better you can protect yourself against problems.
Think carefully about the changes you may have made. It is very common to tweak a kernel to support hardware. Often this hardware is supported in the later version. The manual changes you made may conflict with the new kernel. If the change was made to support a major device, such as the SCSI controller, you may need to remove your change before the new system can boot correctly. This usually shows up when the update completes successfully, but then the system fails to boot on its own.
The more you have custom crafted your system, the more you should expect to check when a system is updated. If you have done a great deal of work with your kernel and other custom options, you may ultimately choose to not upgrade and simply rebuild. However, it is generally a good idea to try the upgrade first because it may work flawlessly.
Testing and backups
Performing an update on a production system without first observing the behavior of the update is unwise. You should always test an update process on a backup system. This simple step will save you a lot of heartache when things go wrong.
Need I mention that you should have a good backup of your system? An update is a irreversible process. If there was a vital configuration tweak that you do not remember, you may lose your chance to track it down without a backup. A tar file is sufficient -- provided you have enough hard drive space. An experienced system administrator with good knowledge of the system can get by with a selective backup of key areas. I would certainly keep a copy of the /etc directory. Various configuration points are also found in the /var directory. When in doubt, back up the whole system.
What's new in SLES 9?
The most compelling difference in SLES 9 is the upgraded version 2.6 kernel. This version of the kernel provides significant improvement over the 2.4 kernel. Among the improvements are NUMA (Non-Uniform Memory Access) support, sub-architecture support, and hyperthreading support. The 2.6 kernel has also made various improvements to responsiveness and scalability. More hardware is supported and clustering is supported for automatic failover. Hotplug services are also supported for systems that can hot swap hardware.
In addition to the updated kernel, SLES 9 contains updates to all of the components typically found in a Linux distribution, such as XFree86 4.3, RPM 4.1.1, and GCC 3.3.3. Where necessary, packages have been redesigned to work with the new kernel.
In short, SLES 9 has many valuable improvements.
Executing the update
- To begin the SLES update, simply boot from the SLES 9 installation CD. After the requisite language selections, choose "Update an Existing system" to begin the update process.
Figure 1. Select type of installation
- If your system has multiple hard drives or partitions, confirm your boot drive. The drive you select will be examined to determine the update parameters.
Figure 2. Select partition
- After examining the system, the program shows you its recommendation for updates. You can add and remove packages and adjust other options for the update. In this case, as shown in Figure 3, notice that the Packages section has a message,
Requires manual intervention. You need to check there before the installation can proceed. (Your installation may have no such message.) Examine this Installation Settings area carefully before proceeding. This is your only opportunity to make changes before the update begins making changes.
Figure 3. Install settings
In this case, as shown in Figure 4, a package to be updated has an unmet requirement. A few options are provided to automatically correct the problem. Since we are updating apache to apache2, we will install the apache2-mod-php4 package. If there were several problems, we would be presented with a similar set of options for each package.
Figure 4. Update problem
If you receive a large number of these conflicts, it is a warning sign. You should look carefully at all of them and see if there is a pattern. Sometimes a single non-standard package can trigger a number of dependencies which could be corrected by simply removing that package and then re-installing it later.
After the conflict resolution, the installation determines a number of other dependency resolutions that it knows how to address. Often, packages are completely removed. This is normal, as packages are often consolidated or changed as Linux evolves. Look through the list and confirm that nothing is removed that you know to be vital to your system's mission. You can always bail out at this point and do more research if you need to.
Figure 5. Automatic update changes
- Note here that the default in the SLES 9 update is to create a backup of modified files. This is generally a good idea so that you can check the originals in case there are surprises. This feature should not prevent you from making your own backup. Also, you will want to go back and remove the clutter of the old backup files once you are comfortable the update is working correctly.
Figure 6. Create a backup
- After accepting the settings, you are given one last chance to change your mind. Once you have agreed to start the update, the installation will proceed.
Figure 7. Commit and start update
- You will be advised of the update progress and which CDs are needed along the way. Some updates do not require all of the CDs. It depends on which packages you have installed.
Figure 8. Package installing
- The release notes for SLES 9 are displayed after the update is completed. These notes remind you of the major changes in the update and refer you to other sources for more information.
Figure 9. Release notes
- Finally, you'll see the "Installation Completed" page. Your system will reboot into SLES 9.
Figure 10. Installation complete
Testing the updated system
If all goes well, your system will boot successfully into SLES 9. If there are problems, your first clues come from the error messages. Usually, issues are a matter of simple configuration changes or package adjustments.
Once the system boots correctly, test the primary functions. If you have a major application running on the system, test all of its functions that you reasonably can. Often this will have no surprises. But if you find anything, document the symptom, the discovered cause, and the solution. You will need this information when you update your production systems and will probably encounter similar issues as you update others.
Patience and documentation are key
Updating systems can be as simple as an afternoon of work. It can be a week of troubleshooting. Circumstances vary with how your systems have been designed and what degree of specialization you have implemented. Documenting your changes as you make them will save you a lot of pain during an update. Documenting your solutions as you solve problems will save you pain on the next one.
Also, bear in mind that there are some systems that will not update gracefully. The degree of customization on them is too great or too poorly documented to correct after the update. On these systems, your best strategy may be to wipe the systems and re-install from scratch. If you start with test systems and understand your systems, updating from SLES 8 to SLES 9 can leave you with a more efficient, better performing environment.
- At Linux on POWER, read about: what ISVs and Developers are saying about Linux on POWER, events, Linux on iSeries, Linux on pSeries, Linux on BladeCenter, and more.
- IBM Virtualization Engine delivers on demand virtualization functions to multiple operating systems and platforms and provides an overview, key prerequisites, availability data, description, and more.
- SUSE LINUX Enterprise Server 9