We have found the following guide very useful in this process. This works for both dedicated servers as well as VPS nodes:
If your server has cPanel installed you first need to remove filesystem from the exclude line in /etc/yum.conf. If you don't the yum upgrade procedures below will fail.
chattr -Ria /bin chattr -Ria /etc chattr -Ria /etc chattr -Ria /include chattr -Ria /lib chattr -Ria /sbin chattr -Ria /usr/bin chattr -Ria /usr/include chattr -Ria /usr/lib chattr -Ria /usr/libexec chattr -Ria /usr/local/bin chattr -Ria /usr/local/include chattr -Ria /usr/local/lib chattr -Ria /usr/local/sbin chattr -Ria /usr/sbin chattr -Ria /usr/share chattr -Ria /var/lib chattr -Ria /var/lock chattr -Ria /var/log chattr -Ria /var/run chattr -Ria /var/spool/repackage
rpm --rebuilddb yum clean all yum update rm -f /var/lib/rpm/__db.00* rpm --rebuilddb
rpm -e lftp syslinux mkbootdisk rpm -Uvh http://vault.centos.org/5.0/os/i386/CentOS/centos-release-5-0.0.el5.centos.2.i386.rpm http://vault.centos.org/5.0/os/i386/CentOS/centos-release-notes-5.0.0-2.i386.rpm mv /etc/yum.repos.d/CentOS-Base.repo.rpmnew /etc/yum.repos.d/CentOS-Base.repo
rpm -ivh --nodeps http://vault.centos.org/5.0/os/i386/CentOS/kernel-2.6.18-8.el5.i686.rpm http://vault.centos.org/5.0/os/i386/CentOS/kernel-devel-2.6.18-8.el5.i686.rpm
rpm -e $(rpm -qa | grep kernel | grep -v 2.6.18 | tr '\n' ' ') --nodeps
rpm -e --justdb python-elementtree --nodeps yum clean all yum upgrade
rm -f /var/lib/rpm/__db.00* rpm --rebuilddb rpm -Uvh --force http://vault.centos.org/5.0/os/i386/CentOS/python-elementtree-1.2.6-5.i386.rpm http://vault.centos.org/5.0/os/i386/CentOS/python-sqlite-1.1.7-1.2.1.i386.rpm yum clean all
yum upgrade
The filesystem and perl excludes have to be removed from the /etc/yum.conf otherwise you will see dependency issues.
Once the upgrade has completed you will need to do the following so that the cPanel/WHM software picks up the version change.
rm -f /var/cpanel/sysinfo.config /scripts/gensysinfo /scripts/upcp --force /scripts/mysqlup --force /scripts/easyapache --build