Upgrading to Oracle Linux 6.5

This is a very short post to demonstrate how to upgrade to Oracle Linux 6.5. My lab system was reasonably current, Oracle Linux 6.4 with some security patches (but not all). The upgrade to 6.5 (or “latest”) is very simple, and since Oracle announced they had beefed up connectivity it’s a real joy. Instead of 450kb/s I get around 9 MB/s. For those of you who want the ISO image: you can’t currently get it from edelivery, the only update method is YUM/ULN or you download the ISO from My Oracle Support, patch 17860279.

The update itself is rather straight forward. I downloaded the latest repository information from public-yum.oracle.com into /etc/yum.repos.d/ on the lab server and ran a simple “yum upgrade”. Since the “latest” repository is enabled that did the trick for me. After a little while the packages had been updated. To my surprise I didn’t see UEK 3 installed-the installed kernels are all 2.6.32.x and 2.6.39.x. A quick look into the repository file revealed that the UEK Release 3 kernel has its own repository:

[public_ol6_UEKR3_latest]
name=Latest Unbreakable Enterprise Kernel for Oracle Linux $releasever ($basearch)
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/UEKR3/latest/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=0

The repository needed to be enabled which I did by switching the flag to 1. You could alternatively use yum install –enablerepo public_ol6_UEKR3_latest on the command line to achieve the same goal.

[root@server1 yum.repos.d]# yum install kernel-uek
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package kernel-uek.x86_64 0:3.8.13-16.2.2.el6uek will be installed
--> Processing Dependency: kernel-firmware = 3.8.13-16.2.2.el6uek for package: kernel-uek-3.8.13-16.2.2.el6uek.x86_64
--> Running transaction check
---> Package kernel-uek-firmware.noarch 0:3.8.13-16.2.2.el6uek will be installed
--> Finished Dependency Resolution
--> Running transaction check
---> Package kernel-uek.x86_64 0:2.6.39-400.109.1.el6uek will be erased
---> Package kernel-uek-firmware.noarch 0:2.6.39-400.109.1.el6uek will be erased
--> Finished Dependency Resolution

Dependencies Resolved

==================================================================================================
 Package                 Arch       Version                     Repository                   Size
==================================================================================================
Installing:
 kernel-uek              x86_64     3.8.13-16.2.2.el6uek        public_ol6_UEKR3_latest      41 M
Removing:
 kernel-uek              x86_64     2.6.39-400.109.1.el6uek     @ol6_UEK_latest             102 M
 kernel-uek-firmware     noarch     2.6.39-400.109.1.el6uek     @ol6_UEK_latest             5.0 M
Installing for dependencies:
 kernel-uek-firmware     noarch     3.8.13-16.2.2.el6uek        public_ol6_UEKR3_latest     1.6 M

Transaction Summary
==================================================================================================
Install       2 Package(s)
Remove        2 Package(s)

Total download size: 43 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): kernel-uek-3.8.13-16.2.2.el6uek.x86_64.rpm                          |  41 MB     00:04
(2/2): kernel-uek-firmware-3.8.13-16.2.2.el6uek.noarch.rpm                 | 1.6 MB     00:00
--------------------------------------------------------------------------------------------------
Total                                                             9.0 MB/s |  43 MB     00:04
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : kernel-uek-firmware-3.8.13-16.2.2.el6uek.noarch                                1/4
  Installing : kernel-uek-3.8.13-16.2.2.el6uek.x86_64                                         2/4
  Cleanup    : kernel-uek-2.6.39-400.109.1.el6uek.x86_64                                      3/4
  Cleanup    : kernel-uek-firmware-2.6.39-400.109.1.el6uek.noarch                             4/4
  Verifying  : kernel-uek-3.8.13-16.2.2.el6uek.x86_64                                         1/4
  Verifying  : kernel-uek-firmware-3.8.13-16.2.2.el6uek.noarch                                2/4
  Verifying  : kernel-uek-firmware-2.6.39-400.109.1.el6uek.noarch                             3/4
  Verifying  : kernel-uek-2.6.39-400.109.1.el6uek.x86_64                                      4/4

Removed:
  kernel-uek.x86_64 0:2.6.39-400.109.1.el6uek
  kernel-uek-firmware.noarch 0:2.6.39-400.109.1.el6uek

Installed:
  kernel-uek.x86_64 0:3.8.13-16.2.2.el6uek

Dependency Installed:
  kernel-uek-firmware.noarch 0:3.8.13-16.2.2.el6uek

Complete!

What’s not shown here is that it removed my kernel modules for Virtual Box, but that’s not a problem as I’m not using it anymore. You may have to review /etc/grub.conf to ensure you boot off the new kernel by default (edit default=x, the first entry in the file is referred to as default=0). The installation kept a few of my older kernels on the system too:

[root@server1 ~]# rpm -qa | egrep "kernel(-uek)?-[23]" | sort
kernel-2.6.32-358.11.1.el6.x86_64
kernel-2.6.32-358.2.1.el6.x86_64
kernel-3.11.7-3.11.y.20131105.ol6.x86_64
kernel-uek-2.6.39-400.210.2.el6uek.x86_64
kernel-uek-2.6.39-400.211.2.el6uek.x86_64
kernel-uek-3.8.13-16.2.2.el6uek.x86_64

So why was I keen to upgrade? Here’s why, taken from the release notes:

  • UEK3 is based on 3.8.13, and I expect changes for some of my favourite tools perf and kvm.
  • Control Groups (cgroups) are a supported feature
  • Virtual Function IO potentially helps reducing latency when accessing storage from virtual machines as it is implemented in userland
  • Lots of NUMA enhancements
  • DTRACE!
  • Support for virtio-scsi as it seems, a modprobe was successful.
  • perf report –gtk and others (see Appendix 10 for more detail)
  • Transparent Huge Pages have been removed (they were no good for me anyway)
  • And numerous others more in Appendix A

Now time for some testing!

Responses

  1. Please mind that the dtrace implementation still is not the full implementation (with respect to the solaris implementation). As I see it (but I am strongly biased) one of the most useful features is the ability to see and measure stuff at ultra low level (function call level), which is not there (yet?). But I must admit I’ve just read the documentation, did not test it yet.

    1. Yep!

      Also-you to pull the dtrace-utilities* from ULN …

  2. […] This is a very short post to show that THP (or Transparent Huge Pages) was indeed removed from OEL 6.5 (UEK3 kernel – version 3.8.13-16.2.2.el6uek.x86_64) just like Martin Bach noticed in this post. […]

Blog at WordPress.com.