trying uek2

Another Oracle Openworld revelation was the availability of version 2 of the Unbreakable Enterprise Kernel, in short uek2. Let me put together a few notes on this as well.

UEK2 is based on Linux 2.6.39 with applied changesets (not backports) up to Linux 3.0.3. The change from 2.6 to 3.0, by Linus, was pretty much arbitrary this time around. There were no major changes in design that went into the kernel post 2.6.39. However, versions changes like that do have an effect on userspace programs, so in order to maintain our true compatibility and refrain from code changes, sticking to 2.6.39 was the best solution.

UEK2 beta is freely available to everyone. All you need is Oracle Linux 6 installed (also freely available from edelivery) and connect to the Unbreakable Linux Network (ULN) if you are an existing customer or if you just want to play with cool new stuff, use our public yum repository.

The source code for our git repo is also publicly available on;a=summary. Indeed, not just a tarball of junk but the entire changelog, all the checkins, all the history, nicely linked up with the original git repo from

There is a huge list of changes in the mainline kernel since 2.6.32, too long to sum up here. Some of the things we discussed as new features are the following :

- btrfs production.
btrfs is an awesome filesystem which is going through rigorous testing in order to be able to announce it production quality with uek2. The feature list of the filesystem is great, you can read some of my earlier blog entries to get a feel of it. Use it for root filesystem and do snapshots while upgrading packages is definitely an interesting enhancement to deliver.The existing Oracle Linux 6 btrfs progs work just fine but the UEK2 channel will soon include an updated version of the btrfs userspace programs to give you full access to all features in uek2.

- Linux containers
This is not a port of Solaris Zones. Linux containers is based on lxc and all the cgroups work that has gone into the kernel over the last several years. All the kernel features required to handle container functionality is in uek2 and as with btrfs progs, we are going to update the beta channel with the lxc tools in userspace to enable easy creation of Oracle Linux containers. Oracle VM templates will be easily converted to running as a container as well as a VM in Oracle VM.

- OpenVswitch
Openvswitch is a very interesting virtual switch product that can help a lot in particular in a virtual world but is a good Linux bridge replacement. These packages will also be made available with uek2 in the beta channel. More information about openvswitch can be found here.

- many new enhancements including even better performance than uek today.
More details will be posted in upcoming blogs with detailed data and use cases to show how this will help running Oracle software (and non-Oracle software) better than on any other Linux distribution out there.

Getting started from ULN :

Register your Oracle Linux 6 server with ULN using uln_register. Click on your server and Manage subscriptions and add the ol6_x86_64_UEK_BETA channel to the list of channels for this server. Then on the server just run yum update kernel-uek, reboot and you are done.

Getting started from the public-yum repository :

# cd /etc/yum.repos.d
# wget
Edit the repo file and change enabled=0 to enabled=1
# yum update kernel-uek
Loaded plugins: refresh-packagekit, rhnplugin
This system is not registered with ULN.
ULN support will be disabled.
uek2_beta                                                |  951 B     00:00
uek2_beta/primary                                        | 339 kB     00:01
uek2_beta                                                                   8/8
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package kernel-uek.x86_64 0:2.6.39-100.0.12.el6uek set to be updated
--> Processing Dependency: kernel-uek-firmware >= 2.6.39-100.0.12.el6uek for pac
kage: kernel-uek-2.6.39-100.0.12.el6uek.x86_64
--> Running transaction check
---> Package kernel-uek-firmware.noarch 0:2.6.39-100.0.12.el6uek set to be updat
--> Finished Dependency Resolution

Dependencies Resolved

 Package                Arch      Version                    Repository    Size
 kernel-uek-firmware    noarch    2.6.39-100.0.12.el6uek     uek2_beta    1.1 M
     replacing  kernel-firmware.noarch 2.6.32-71.el6
     replacing  kernel-uek-firmware.noarch 2.6.32-100.28.5.el6
 kernel-uek             x86_64    2.6.39-100.0.12.el6uek     uek2_beta     25 M

Transaction Summary
Install       1 Package(s)
Upgrade       1 Package(s)

Total download size: 26 M
Is this ok [y/N]:
Downloading Packages:
(1/2): kernel-uek-2.6.39-100.0.12.el6uek.x86_64.rpm      |  25 MB     00:51
(2/2): kernel-uek-firmware-2.6.39-100.0.12.el6uek.noarch | 1.1 MB     00:05
Total                                           452 kB/s |  26 MB     00:58
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
  Installing     : kernel-uek-firmware-2.6.39-100.0.12.el6uek.noarch        1/5
  Updating       : kernel-uek-2.6.39-100.0.12.el6uek.x86_64                 2/5
  Cleanup        : kernel-uek-2.6.32-100.28.5.el6.x86_64                    3/5
  Cleanup        : kernel-uek-firmware-2.6.32-100.28.5.el6.noarch           4/5
  Erasing        : kernel-firmware-2.6.32-71.el6.noarch                     5/5

  kernel-uek-firmware.noarch 0:2.6.39-100.0.12.el6uek

  kernel-uek.x86_64 0:2.6.39-100.0.12.el6uek

  kernel-firmware.noarch 0:2.6.32-71.el6
  kernel-uek-firmware.noarch 0:2.6.32-100.28.5.el6


At this point, your new kernel is installed and ready to be used. /etc/grub.conf contains an entry for this beta kernel. Just a simple reboot and you are ready to go.

# reboot

Can't wait to try lxc. Is there any good documentation or tutorials on setting lxc with uek2? Will running production Oracle dbs in lxc be supported?

Posted by guest on December 28, 2011 at 04:45 AM PST #

Post a Comment:
  • HTML Syntax: NOT allowed

Wim Coekaerts is the Senior Vice President of Linux and Virtualization Engineering for Oracle. He is responsible for Oracle's complete desktop to data center virtualization product line and the Oracle Linux support program.

You can follow him on Twitter at @wimcoekaerts


« February 2016