如何将RedHat和CentOS 5系统升级到5.11版本

概述

RedHat和CentOS 5系统的版本不支持神龙VM环境,建议升级到5.11版本,本文主要介绍RedHat和CentOS 5系统版本升级到5.11版本的方法。

详细信息

升级不同内核及系统组件版本后,可能会对原有业务程序运行有影响,请做好评估及测试。

  1. 执行以下命令,确认当前系统版本内核。
    cat /etc/redhat-release
    uname -r
  2. 操作前请注意备份。如果是CentOS、Redhat 5,请执行以下命令,在官网下载CentOS 5.11版本内核安装包。
    • 64位:wget http://vault.centos.org/5.11/os/x86_64/CentOS/kernel-2.6.18-398.el5.x86_64.rpm
    • 32位:wget https://vault.centos.org/5.11/os/i386/CentOS/kernel-2.6.18-398.el5.i686.rpm
  3. 执行以下命令,安装内核安装包。
    rpm -ivh --force ./kernel-2.6.18-398.e15.[$System_Version].rpm
    说明:[$System_Version]为系统版本,如果是64为系统则为x86_64,是32位系统则为i686。
  4. 修改/boot/grub/grub.conf文件,将新安装的内核配置menuentry放在配置文件最上方,设置为优先启动。
  5. (可选操作)修改/etc/fstab文件,将磁盘分区挂载配置/dev/sdxx相关的设备名配置改成UUID=[$UUID]的形式。
    说明:[$UUID]为对应根分区UUID,通过执行blkid命令查看云盘UUID。
  6. (可选操作)修改/boot/grub/grub.conf文件,将root=/dev/sdxx相关的设备名配置改成root=UUID=[$UUID]的形式。
  7. 配置virtio驱动到initrd文件,以64位操作系统为例(/boot/initrd-2.6.18-398.el5.x86_64.img):
    mkinitrd -f --allow-missing \
                              --with=xen-vbd  --preload=xen-vbd \
                              --with=xen-platform-pci --preload=xen-platform-pci \
                              --with=virtio_blk --preload=virtio_blk \
                              --with=virtio_pci --preload=virtio_pci \
                              --with=virtio_console --preload=virtio_console \
                              --with=hvc_console --preload=hvc_console \
                              --with=ahci --preload=ahci \
                        /boot/initrd-2.6.18-398.el5.x86_64.img $(uname -r)
  8. 重启服务器进行测试,检查是否能正常启动进入GRUB菜单页面,正常的应该有新的内核选项。默认新内核为2.6.18-398.el5,进入系统,检查系统是否正常。
  9. 配置5.11的YUM源,执行以下命令,进行系统组件升级。
    yum update -y
    5.11的YUM源信息如下。
    # CentOS-Base.repo
    #
    # The mirror system uses the connecting IP address of the client and the
    # update status of each mirror to pick mirrors that are updated to and
    # geographically close to the client.  You should use this for CentOS updates
    # unless you are manually picking other mirrors.
    #
    # If the mirrorlist= does not work for you, as a fall back you can try the 
    # remarked out baseurl= line instead.
    #


    [base]
    name=CentOS-$releasever - Base
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
    #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
    baseurl=http://vault.centos.org/5.11/os/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
     
    #released updates 
    [updates]
    name=CentOS-$releasever - Updates
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
    #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
    baseurl=http://vault.centos.org/5.11/updates/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5


    #additional packages that may be useful
    [extras]
    name=CentOS-$releasever - Extras
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
    #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
    baseurl=http://vault.centos.org/5.11/extras/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 

    #additional packages that extend functionality of existing packages
    [centosplus]
    name=CentOS-$releasever - Plus
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
    #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
    baseurl=http://vault.centos.org/5.11/centosplus/$basearch/
    gpgcheck=1
    enabled=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

    #contrib - packages by Centos Users
    [contrib]
    name=CentOS-$releasever - Contrib
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
    #baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
    baseurl=http://vault.centos.org/5.11/contrib/$basearch/
    gpgcheck=1
    enabled=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

更多信息

如果是线下服务器,系统需要迁移到阿里云:

  1. 在完成详细信息的操作步骤的前提下,建议可以使用SMC迁移,或者制作VHD镜像文件,手动导入到阿里云镜像进行测试。
  2. (可选操作)线下系统迁移到阿里云后在ECS实例中执行以下操作:
    1. 卸载掉旧版内核。
    2. 执行以下命令,查看系统中全部的内核RPM包。
      rpm -qa | grep kernel
    3. 找到旧版本内核,进行卸载,示例命令如下。
      yum remove kernel-2.6.18-xxx.el5
    4. 修改/boot/grub/grub.conf文件,移除旧内核配置。
    5. 重启检查是否可以正确进入系统。

 适用于

  • 云服务器ECS