Advertisements

CentOS 5.4 upgrade and VMware Server 2.x

As some of you will probably have noticed, last week CentOS has released the latest version of the distribution, CentOS version 5.4. If you are using VMware on top of that OS, then beware that there is a known bug as laid out in the release notes.

In this article the detailed notes on how-to update from centOS 5.3 are written out in details.

The centOS 5.4 release notes known issues paragraph has this detail:

VMWare host on CentOS-5.4. There is an issue with the new version of glibc (2.5-42) and vmware-hostd. If you are using CentOS-5.4 as a VMWare host machine, you will need to read and take actions per this bug report (#3884).

The bug report itself has this:

Bug: 0003884: CentOS 5.4 glibc causes crash of VMWare vmware-hostd process in VMWare 2.0.0 and 2.0.1
Description:    CentOS 5.4 glibc causes crash of VMWare vmware-hostd process in VMWare 2.0.0 and 2.0.1. This is documented on these 2 VM threads:

http://communities.vmware.com/message/1364852
and
http://communities.vmware.com/thread/230842

Two ways to fix this are called out in the above threads. The easiest one is to just exclude glibc from CentOS-5.4 in the yum.conf file if you are upgrading a 5.3 machine, using this line:

exclude=*2.5-42*

Then do this to verify you will not get the new files in the upgrade:

yum list glibc*

The output should not show new glibc files.

Ouch, that is some serious problem there that we certainly do not want to bump into.

So we now have to reconsider if we really want to upgrade to centOS 5.4 at this stage. As I was going to write this article.. for me there is no choice and to bite the bullet, but if you are running production then this is the most important question. Is there anything in the new release at this moment that you have a need for?

If you are here because you already upgraded, but are now having problems then visit the bug report as it has notes on how-to fix this.

OK, so let’s go then, upgrade our VMware Server 2.0.1 host from centOS5.3 to centOS5.4 and use the exclude method as depicted above.

Step 1. Take a backup!

Once you have done that, start a root console.

We will first check what the repositories are going to offer us when we upgrade without taking precautions.

# yum list glibc*
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
 * rpmforge: ftp-stud.fht-esslingen.de
 * base: archive.cs.uu.nl
 * updates: archive.cs.uu.nl
 * addons: archive.cs.uu.nl
 * extras: archive.cs.uu.nl
429 packages excluded due to repository priority protections
Installed Packages
glibc.i686                                       2.5-34.el5_3.1                       installed
glibc.x86_64                                     2.5-34.el5_3.1                       installed
glibc-common.x86_64                              2.5-34.el5_3.1                       installed
glibc-devel.x86_64                               2.5-34.el5_3.1                       installed
glibc-headers.x86_64                             2.5-34.el5_3.1                       installed
Available Packages
glibc.i686                                       2.5-42                               base     
glibc.x86_64                                     2.5-42                               base     
glibc-common.x86_64                              2.5-42                               base     
glibc-devel.i386                                 2.5-42                               base     
glibc-devel.x86_64                               2.5-42                               base     
glibc-headers.x86_64                             2.5-42                               base     
glibc-utils.x86_64                               2.5-42                               base

Glibc version 2.5-42 is the one that would cause us problems, so we are now going to prevent it from updating to that glibc version.

Take your favorite text editor to go and edit the file /etc/yum.conf

In the [main] section under the plugins line add the line:

exclude=*2.5-42*

Now exit and save the configuration file and rerun the line above, it should now not show the new glibc package anymore.

# yum list glibc*
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
 * rpmforge: ftp-stud.fht-esslingen.de
 * base: archive.cs.uu.nl
 * updates: archive.cs.uu.nl
 * addons: archive.cs.uu.nl
 * extras: archive.cs.uu.nl
rpmforge                                            | 1.1 kB     00:00     
base                                                | 2.1 kB     00:00     
updates                                             |  951 B     00:00     
addons                                              |  951 B     00:00     
extras                                              | 1.1 kB     00:00     
Excluding Packages in global exclude list
Finished
429 packages excluded due to repository priority protections
Installed Packages
glibc.i686                                       2.5-34.el5_3.1                       installed
glibc.x86_64                                     2.5-34.el5_3.1                       installed
glibc-common.x86_64                              2.5-34.el5_3.1                       installed
glibc-devel.x86_64                               2.5-34.el5_3.1                       installed
glibc-headers.x86_64                             2.5-34.el5_3.1                       installed

As you can see we now have an extra line “Excluding packages..” and the newer glibc is indeed excluded from the update.

With that protection in place we can now go and upgrade our host.

But wait.. let’s first pause -or better, shut down- all your running virtual machines. This is not a required step, but it just makes sense to make sure that all your VM’s had a nice clean shut down.

Now, again from the command line, run the upgrade:

yum update

Shut down your host and restart it afterwards.

If all has gone well, then VMware Server will just run, no new precompiled kernel modules are needed.

Well at least on my host everything worked out of the box.

You can check that you are now running the latest version of CentOS by running:

# rpm -q centos-release
centos-release-5-4.el5.centos.1

There you go and the latest release it is.

Enjoy your new OS and VMware Server!

WARNING:

Please note that there have been issues reported with the local firefox install (so firefox on the host only) not being able to setup a HTTPS connection to the Virtual Infrastructure webaccess after holding back on the glibc upgrade. The http webaccess interface still works fine as does accessing the HTTPS interface from any external machine.

For more details see this thread: No WebAccess to VMware Server 2: Proxysvc, SSL Exception, session id context uninitialized

Advertisements

2 comments

    • Slackerz on November 20, 2009 at 7:35 am

    I just followed these steps and when it completed vmware prompted me to rerun the perl script so it can rebuild to the new kernel. After that the vmware started but I am unable to connect the web management interface. Will have to troubleshoot tomorrow.

    CentOS 5.3 to 5.4 through yum update

    1. Hi,

      I’ve seen this exact same problem, but thought it was a specific problem for my setup. Please have a look here: No WebAccess to VMware Server 2: Proxysvc, SSL Exception, session id context uninitialized

      In short, trying to access the https interface on the host itself using firefox doesn’t work. The http interface does work.
      Accessing the https interface from an external PC works via either firefox as well as IE8. As well as does any other remote console over the secure interface, vmware player works, Virtual Infrastructure client works…
      It is a bit weird and it starts to look like it is related to firefox itself instead of the secure interface.
      Hope this helps.

      Wil

Comments have been disabled.

%d bloggers like this: