oracle Ksplice Uptrack实现linux零停机内核补丁升级

1、ORACLE linux零停机更新介绍

Linux的内核升级是一项很重大的变更,传统情况下需要停止应用,重启操作系统,现在,ORACLE使Linux可以在一秒时间内动态地应用内核与安全补丁等升级,实现零停机,对应用不产生中断影响,是依赖Ksplice
Uptrack实现的。

这项技术,被ORACLE号称为号称为“永不可摧”的神力,也确实使得ORACLE Linux可以像UNIX一样,如果排除硬件的影响外,系统可以永远运行下去。不过,ORACLE的此功能产品,也是收购而来的,不管它怎么来的,是好东西我们就利用吧。

2、安装Ksplice Uptrack

2.1 下载Ksplice Uptrack

下载参考网址如下:

https://www.ksplice.com/yum/uptrack/ol/ksplice-uptrack-release.noarch.rpm

2.2 安装Ksplice Uptrack

需要分两步:


# rpm -ivh ksplice-uptrack-release.noarch.rpm

# yum -y install uptrack

3、创建Ksplice Uptrack的key

(1)登陆https://status-ksplice.oracle.com网站,选择“Ineed
to create my Oracle SSO account.
”创建访问updates.ksplice.com的帐号


Oracle Ksplice System Status

This interface is now using Oracle SSO accounts for authentication. Oracle‘s SSO accounts will allow you to have a single username and password for most Oracle services.

If you received your Access Key from ULN, you do not have to do anything. Use the link below to log in with your Oracle account.

If you are a legacy Ksplice customer and do not yet have an Oracle account, you will need to create one before you can log in. Your Oracle account
must use an email address that is associated with your Ksplice account. Contact Ksplice Support if you have questions.

I need to create my Oracle SSO account.

I am ready to log in with my Oracle SSO account.

因为笔者有MOS帐号,所以选择”I am ready
to log in withmy Oracle SSO account.

(2)登陆后,找到页面上的下面内容

Red Hat and Oracle Linux Users

Oracle Linux and Red Hat Enterprise Linux users can try Ksplice free for 30 days. You can start your trial and experience zero-downtime updates in just a few minutes.

点击”
tryKsplice free for 30 days “来创建一个30天的试用Ksplice ID

(3)试用帐号创建完成后,反回下面页面,里面包含一个Ksplice ID(d104ba79e80621e774156e582fbafb9ae3b5e793f65a0b55a8e22dca0c35599d)

Installation instructions

To install Ksplice Uptrack, please run the following commands as root:

wget -N https://www.ksplice.com/uptrack/install-uptrack
sh install-uptrack d104ba79e80621e774156e582fbafb9ae3b5e793f65a0b55a8e22dca0c35599d
uptrack-upgrade -y

If you‘d like Ksplice Uptrack to automatically install updates as they become available, run:

sh install-uptrack d104ba79e80621e774156e582fbafb9ae3b5e793f65a0b55a8e22dca0c35599d --autoinstall

in place of the above install-uptrack command, or set "autoinstall = yes" in
/etc/uptrack/uptrack.conf after installation.

(4)、配置Ksplice Uptrack

将获取到的Ksplice ID配置到/etc/uptrack/uptrack.conf文件中,如下所示:


accesskey = d104ba79e80621e774156e582fbafb9ae3b5e793f65a0b55a8e22dca0c35599d

4、手动update

4.1下载最新的软件包列表

[[email protected]]# uptrack-upgrade –n


Effective kernel version is 3.8.13-44.1.1.el6uek

The following steps will be taken:

Install [b9hqohyk] CVE-2014-5077: Remote denial-of-service in SCTP on simultaneous connections.

Install [kciixaoz] CVE-2014-3535: NULL pointer dereference in VxLAN packet logging.

Install [h5wecdm3] CVE-2014-3601: Denial-of-service in KVM page mapping.

Install [wchzb3dy] CVE-2014-4654, CVE-2014-4655: Missing validity checks in ALSA user controls.

Install [rknjux2h] CVE-2014-4653: Use after free in ALSA card controls.

Install [d16cfimj] CVE-2014-3611: Denial-of-service in KVM emulated programmable interval timer.

Install [1emd9koe] CVE-2014-3184: Invalid memory write in HID drivers.

Install [5tskivrn] CVE-2014-3185: Memory corruption in USB serial WhiteHEAD device driver.

Install [hncvf9bv] CVE-2014-3645 and CVE-2014-3646: KVM guest denial-of-service when using invalid opcodes.

Install [52rg9ul0] CVE-2014-3687: Remote denial-of-service in SCTP stack.

Install [ztshz6k2] CVE-2014-3673: Remote denial-of-service in SCTP stack.

Install [lrse39k8] Cluster deadlock during journal commit in OCFS2 filesystem.

Install [0q7yyk3e] I/O errors and spurious warning in BladeEngine 2 iSCSI driver.

Install [2c46e7uo] Device hang during cleanup in BladeEngine 2 iSCSI driver.

Install [54m33sa5] Invalid memory free when setting management address in BladeEngine 2 iSCSI driver.

Install [u84c5rdk] Use-after-free in netfilter xtables when copying counters to userspace.

Install [1ysj0myg] Soft lockup in huge page code when releasing huge TLB pool.

Install [1tmng4zr] Deadlock in USB serial driver when unloading the module.

Install [85dp2g0m] Divide-by-zero in TCP cubic congestion algorithm when computing delayed ack.

Install [ui0cnkoy] NULL pointer dereference in IPv6 netlink validation callback.

Install [i7ghh69t] Memory corruption when accessing a huge TLB of a copy-on-write page.

Install [9k103dsh] NULL pointer dereference in the filesystem stack when checking ACL.

Install [br4ufjly] Kernel panic in NFSv4 client allocation.

Install [fdfa54l8] Kernel crash in timer callback when destroying NFSv4 client.

Install [7gx1bcjz] Kernel BUG() in NFS daemon when setting ACL with no entries.

Install [u2vg2kgk] Use-after-free in NFSv4 daemon kernel implementation when releasing a state ID.

Install [7d42vydf] Use-after-free in libceph when sending pages over TCP.

Install [pfmujcbk] Use-after-free in memory management subsystem when releasing a VMA.

Install [n3efh5gv] CVE-2014-4014: Privilege escalation in user namespace.

Install [atq4edlz] NULL pointer dereference in Target Core Mod when reading from sysfs.

Install [dudt5tfl] Use-after-free in UDP stack in the fast transmit path.

Install [40dpjn5l] Kernel crash after freeing anonymous pages in memory management subsystem.

Install [3fqg40hl] Potential data corruption with memory-mapped files on Ext4 filesystem.

Install [opwwaxl3] Denial-of-service in EXT4 block allocation.

Install [wywz2vbx] Information leak in mcp ram disk.

Install [rcgt2rrp] Use-after-free in BTRFS extent writing.

Install [he9669oj] NULL pointer dereference in BTRFS device removal.

Install [68m9g9lg] Use-after-free in Micro PCIe SSDs block driver when unloading the module.

Install [t5456c7a] Memory leak in NFS filesystem when releasing a lock stateid.

Install [gl3fc7o0] Kernel panic in IP virtual server netfilter.

Install [huyperc4] Information leak in netfilter ULOG module.

Install [mp9z0fh3] Kernel crash in virtio scsi workqueue.

Install [wdc6hcga] NULL pointer dereference when probing non-FTDI devices.

Install [l6xoq5ft] Denial-of-service with TKIP on Ralink USB devices.

Install [yyefbwqc] Multiple denial-of-service problems in bluetooth code.

Install [6xv38tw8] Invalid memory reference in NFSv4 symlink decoding.

Install [ii44mo5l] Kernel panic during hugepage migration.

Install [y9anoniw] Use-after-free in mbind vma merge.

Install [i0pc6i0y] Multiple journal corruptions in the ext4 filesystem.

Install [0qifgsi6] CVE-2014-4171: Denial-of-service in shared memory when faulting into a hole while it‘s punched.

Install [8iczbx45] Memory leak in 8021q stack when re-ordering vlan headers.

Install [g64hrxp3] NULL pointer dereference in Broadcom BN2X ethernet driver under memory pressure.

Install [bsa434sc] Denial-of-service in TCP stack when pushing during TCP repair.

Install [d8vwuqeg] Information leak in the stream control transmission protocol stack.

Install [xs28o0u9] Out of bounds memory access in the DNS resolver when querying.

Install [kn3c2903] Memory leak in the Radeon display driver when retrieving the display modes.

Install [ehlv43kn] NULL pointer dereference in block control group queue draining.

Install [r8rkz947] Incorrect SELinux label in cryptographic sockets.

Install [tyk3fqid] NULL pointer dereference in 802.11 event tracing.

Install [sqohae2b] Deadlock in clockevent delta modification.

Install [zqvxy8qh] Kernel crash in Broadcom BNX2X driver during TCP offload.

Install [7a94z6c2] Denial-of-service in network sendmsg() calls.

Install [zsqnfrj5] Invalid memory access in network vectored I/O.

Install [bmxkb08h] Soft lockup after vcpu hot-remove in Xen PVM/HVM guests.

Install [t5nq18kr] Memory corruption XFS filesystem resizing.

Install [y5jfvo0v] Kernel crash when sending message in Oracle VM guest messaging driver.

Install [odnb5rlr] Memory leak in Oracle VM guest messaging driver.

Install [8urehj5h] Kernel oops when running out of Xen grant references

Install [4q3ev9x6] Memory leak when initialising ports in BladeEngine 2 iSCSI driver.

Install [f43vqxka] Memory corruption during device probing in BladeEngine 2 iSCSI driver.

Install [inim1x21] Kernel panic during BladeEngine 2 iSCSI adapter initialization.

Install [fkoxifyg] NULL pointer dereference during HP Smart Array SCSI device initialization.

Install [agwmhor4] Kernel BUG for 256-block data transfers in HP Smart Array SCSI driver.

Install [6gzs0lyj] Kernel hang in Broadcom Tigon3 ethernet driver.

Install [eofko4wq] Use-after-free in tg3 network driver stats.

Install [6khjynhq] Kernel hang in Broadcom NX2 network driver.

Install [fn3tyq9s] Kernel crash when receiving network event in Broadcom CNIC driver.

Install [upmz129f] Information leak in Broadcom Everest network driver.

Install [jxbttwug] Memory leak when removing Broadcom Everest network interface.

Install [epfpat8q] Fatal hardware error in Broadcom Everest network driver.

Install [vx3ofybf] Endless stream of errors when unloading Broadcom Everest network device.

Install [pcno7ml0] Kernel crash after EEH recovery in Broadcom Everest network driver.

Install [57e9xvte] NULL pointer dereference in Broadcom NetXtreme II driver.

Install [nya6gjqp] Memory leak in Broadcom NetXtreme II driver.

Install [7fcc82h2] Kernel crash in Broadcom NetXtreme II driver.

Install [5maph0zo] CVE-2014-3181: Memory corruption in Apple Magic Mouse USB driver.

Install [a2gzq71y] Kernel BUG during Emulex BladeEngine 2 network device shutdown.

Install [if2icqz4] Buffer overrun using Large Receive Offload in Mellanox VNIC driver.

Install [pfvhgt44] Second cluster deadlock during journal commit in OCFS2 filesystem.

Install [8yahm6zn] NULL pointer dereference during zero page writeback in OCFS2 filesystem.

Install [w0ycqxuw] Deadlock during port logins in Qlogic QLA2XXXX Fibre Channel driver.

Install [zaztb2k6] NULL pointer dereference in Qlogic QLA2XXXX Fibre Channel driver.

Install [f5vv1aiv] Stack corruption in Qlogic QLA2XXXX Fibre Channel driver.

Install [opaks6nn] Kernel crash during Qlogic QLA2XXXX Fibre Channel firmware loading.

Install [rcr2fwfu] Random timeouts in Qlogic QLCNIC SR-IOV network device.

Install [x8vi7jg6] Kernel crash during open() in Qlogic QLCNIC network device.

Install [0etwovum] Memory corruption in Qlogic QLCNIC network device when reporting statistics.

Install [nc78thrs] Multiple memory leaks in RPC over RDMA client support.

Install [raxlbhze] NULL pointer dereference during reconnect in RPC over RDMA client support.

Install [m494iulb] NULL pointer dereference in RPC over RDMA client support during GETACL request.

Install [1elo7qvy] Kernel crash during DMA in RPC over RDMA client driver.

Install [9o4ytjzs] Deadlock during filesystem removal in NVM Express block device driver.

Install [arw9264e] Invalid memory read in NVM Express block device I/O submission ioctl.

Install [j77dx1ko] Information leak in NVM Express block device ioctl.

Install [f8quvybg] Memory corruption when deleting NVM Express block device disks.

Install [g848xamo] NULL pointer dereference when closing connection in Emulex BladeEngine 2 driver.

Install [k0nkwglw] Kernel panic during shutdown in Emulex BladeEngine 2 driver.

Install [4109xiro] Kernel crash during Emulex LightPulse Fibre Channel driver unload.

Install [p4x4i1k0] Kernel panic in Emulex LightPulse Fibre Channel driver when aborting SCSI command.

Install [heiiom49] SLI data corruption in Emulex LightPulse Fibre Channel driver.

Install [xibjfk0h] Memory leak during HBA reset in Emulex LightPulse Fibre Channel driver.

Install [40nibjqs] Use of uninitialized memory during bitmap init in Emulex LightPulse Fibre Channel driver.

Install [a6rup16y] Kernel crash when shutting down QLogic NetXen ethernet adapter.

Install [3cz8j2j4] Device hang when shutting down QLogic NetXen ethernet adapter.

Install [h2ts58f6] CVE-2014-3688: Remote denial-of-service in SCTP stack by memory exhaustion.

Install [swq3mpuy] CVE-2014-3186: Memory corruption in PicoLCD USB driver.

Install [9og9y18j] CVE-2014-4652: Arbitrary memory disclosure in ALSA user controls.

Install [7eb3d34w] CVE-2014-4027: Information leak in iSCSI Target ramdisk transport.

Install [xj8ix80y] CVE-2014-4656: ALSA Control ID overflow.

Install [ba9k5rfj] CVE-2014-3182: Invalid memory read in HID Logitech driver.

Install [vtujkei9] CVE-2014-6410: Denial of service in UDF filesystem parsing.

Install [906qltr0] CVE-2014-9090, CVE-2014-9322: Privilege escalation in double-fault handling on bad stack segment.

Install [oz33swxn] CVE-2014-5471, CVE-2014-5472: Privilege escalation in ISO filesystem implementation.

[[email protected] soft]#

这一步所花的时间会较长,一下为ORACLE Linux 6.6找到了共123个补丁需要更新,其中包含3个解决内核BUG的补丁,看来Linux打补丁是很必要啊。

4.2 手动安装补丁

(1)查看当前的内核版本


# uptrack-show

Installed updates:

None

Effective kernel version is 3.8.13-44.1.1.el6uek

(2)查看可以运行更新的补丁


#uptrack-show –available

Available updates:

[b9hqohyk] CVE-2014-5077: Remote denial-of-service in SCTP on simultaneous connections.

……

[oz33swxn] CVE-2014-5471, CVE-2014-5472: Privilege escalation in ISO filesystem implementation.

Effective kernel version is 3.8.13-44.1.1.el6uek

(3)安装补丁


#uptrack-upgrade -y

(4)升级后再查当前已安装的补丁及内核版本号


# uptrack-show

Installed updates:

[b9hqohyk] CVE-2014-5077: Remote denial-of-service in SCTP on simultaneous connections.

……

[oz33swxn] CVE-2014-5471, CVE-2014-5472: Privilege escalation in ISO filesystem implementation.

Effective kernel version is 3.8.13-55.1.2.el6uek

已经看到有效的内核版本已经从Effective kernel version is 3.8.13-44.1.1.el6uek升级到了Effective
kernel versionis 3.8.13-55.1.2.el6uek

5、配置Ksplice Uptrack Update补丁自动更新

在/etc/uptrack/uptrack.conf文件中,autoinstall参数默认值为no,将该值改成yes即可,如下所示:


autoinstall = yes

6、uptrack-name所看到版本与uname命令看到的版本的区别

6.1 两种方式查看内核版本对比

(1)uptrack-name方式查看到的有效版本


[[email protected] ~]# uptrack-uname -a

Linux ol6u612csingle 3.8.13-55.1.2.el6uek.x86_64 #2 SMP Thu Dec 18 00:15:51 PST 2014 x86_64 x86_64 x86_64 GNU/Linux

(2)uname –a方式查看到的有效版本


[[email protected] ~]# uname -a

Linux ol6u612csingle 3.8.13-44.1.1.el6uek.x86_64 #2 SMP Wed Sep 10 06:10:25 PDT 2014 x86_64 x86_64 x86_64 GNU/Linux

6.2 uptrack-name与uname –a得到的版本不同原因说明

uptrack-uname

Ksplice Uptrack does not change the output of uname, and uname will continue to reflect the version of the kernel into which a machine was booted.

Instead, once you install updates, use uptrack-uname to see what effective kernel a machine is running. uptrack-uname has the same format as uname and supports the common uname flags, including -r and -a.

Before installing updates, the original kernel and effective kernel are the same, and uname and uptrack-uname report the same information:

After installing updates, uptrack-uname reflects the updated running kernel:

即uptrack-uname查看到的,是正在运行的有效内核版本,而uname所查看到的,是磁盘文件中记录的版本。

6.3 一致化解决办法建议


Ksplice Uptrack updates your running kernel in memory. We recommended that, in addition to using Ksplice, you continue to use your package manager to update the kernel on disk as new kernels become available. That way, if a reboot becomes necessary (e.g.
power loss or a hardware upgrade) you have the option of booting into a newer kernel. Under this plan, you would install all the updates available via both Ksplice Uptrack and your package manager.

原来,KspliceUptrack更新的是当前运行的内存内核(服务器重启后仍然有效,因为重启时,Linux自动重新运行一次内存内核升级过程),建议手动按照补丁升级方法安装补丁,安装后不需要重启,这样可以使得Ksplice Uptrack与uname –a得到的版本号一致。

7、在oracle ksplice官网查看升级系统的更新信息

在” https://status-ksplice.oracle.com”网站的“SystemStatus”功能中,可以看到已经记录了升状态信息,如下:


Group


Machine


Status


Auto

install


Kernel product


Original Kernel


Effective Kernel


Uptrack

version


ol6u612csingle (192.168.2.190)


Up to date! (123 installed)


Yes


Oracle Unbreakable Enterprise Kernel 3


3.8.13-44.1.1.el6uek


3.8.13-55.1.2.el6uek


1.2.12

本文作者:黎俊杰(网名:踩点),从事”系统架构、操作系统、存储设备、数据库、中间件、应用程序“六个层面系统性的性能优化工作

欢迎加入 系统性能优化专业群,共同探讨性能优化技术。群号:258187244

时间: 2024-10-13 14:36:56

oracle Ksplice Uptrack实现linux零停机内核补丁升级的相关文章

Linux系统管理员:不要害怕升级内核

Linux系统管理员平时很重要的一项工作就是负责系统内核升级.做好系统内核的升级工作,对于Linux系 统的稳定性具有至关重要的作用.但是很少有人敢贸然的对Linux系统的内核进行升级,担心会影响现有Linux系统上的应用服务.然而只要做好准备,内 核升级的危险性可以大大降低. AD:51CTO 网+ 第十二期沙龙:大话数据之美_如何用数据驱动用户体验 可能有人会觉得Windows操作系统升级的比较快,其实Linux系统内核的升级比Windows操作系统要快的多.通常情况下,每隔一个月都会有一个

03.风哥Oracle数据库入门必备Linux基础系列视频教程(Oracle零基础教程)

03.风哥Oracle数据库入门必备Linux基础系列视频教程(Oracle零基础教程)链接:https://pan.baidu.com/s/19C4vzPKq8EwKtJublmIB3w 提取码:lez8 请分享链接到5个QQ IT交流群后,加入以下QQ群找群主获取更多免费视频. 更多视频教程,请加入QQ群(只加一个即可):189070296336282998 原文地址:http://blog.51cto.com/oracle18c/2314272

[terry笔记]GoldenGate_迁移同步_主库零停机

ogg根据scn同步数据,源库零停机时间 本次实验与上次的区别:更加注重细节,几乎包含所有步骤,把我越到的坑都作出了说明.并且同步是由10g向11g进行同步,更加符合升级迁移需求. 如下是主要步骤: 1. 配置好ogg源端的mgr.抓取和传送进程,并启动. 2. 配置好ogg目标端的mgr.复制进程,仅启动mgr. 3. 源端可自由进行交易,此时观察源与目标的trail文件是否都正常. 4. 查询源端此时的scn,并按照参数flashbask_scn进行expdp. 5. 目标端impdp导入.

Linux零基础入学之1-3 RHEL7基本命令操作和启动级别设置

§Linux零基础入学之1-3 RHEL7基本命令操作和启动级别设置 [本节内容] *Linux终端介绍 *shell提示符 *Bash shell基本语法 *基本命令的使用:ls.pwd.cd *查看系统折BIOS设置 *Linux如何获得帮助 *Linux关机命令:shutdown.init 0等 *Linux 7个启动级别 *设置服务器在来电后自动开机 [Linux终端介绍] tty    控制台终端 pts    代表虚拟终端 tty1-tty6 > 刚进入的图形界面(桌面)为tty1

[terry笔记]ogg_迁移同步实验_零停机

oracle golden gate我最近正在琢磨,这个软件我觉得约等于dataguard的逻辑模式,我认为其最大的优势是更可控制,比如可以细化到某个schema.某个table的同步. 如下实验的主要步骤: ogg根据scn同步数据,源库零停机时间 1. 配置好ogg源端的mgr.抓取和传送进程,并启动. 2. 配置好ogg目标端的mgr.复制进程,仅启动mgr. 3. 源端可自由进行交易,此时观察源与目标的trail文件是否都正常. 4. 查询源端此时的scn,并按照参数flashbask_

Linux网络编程&内核学习

c语言: 基础篇 1.<写给大家看的C语言书(第2版)> 原书名: Absolute Beginner's Guide to C (2nd Edition) 原出版社: Sams 作者: (美)Greg Perry    [作译者介绍] 译者: 谢晓钢 刘艳娟 丛书名: 图灵程序设计丛书 C/C++系列 出版社:人民邮电出版社 ISBN:9787115216359上架时间:2009-12-10出版日期:2010 年1月开本:16开页码:308 说明:这本是入门最好的,最简单,最好懂 2.<

Elasticsearch如何修改Mapping结构并实现业务零停机

Elasticsearch 版本:6.4.0 一.疑问 在项目中后期,如果想调整索引的 Mapping 结构,比如将 ik_smart 修改为 ik_max_word 或者 增加分片数量 等,但 Elasticsearch 不允许这样修改呀,怎么办? 常规 解决方法: 根据最新的 Mapping 结构再创建一个索引 将旧索引的数据全量导入到新索引中 告知用户,业务要暂停使用一段时间 修改程序,将索引名替换成新的索引名称,打包,重新上线 告知用户,服务可以继续使用了,并说一声抱歉 我认为最大的弊端

Oracle 11g R1 for Linux(RHEL5)安装及简单操作命令

Oracle 11g R1 for Linux(RHEL5)安装前的准备 1.1 检查硬件 物理内存: # grep MemTotal /proc/meminfo 交换空间: # grep SwapTotal /proc/meminfo 交换空间的大小是根据物理内存的大小来设置的,物理内存少于 2G 的则交换空间设为物理内存的两倍,物理内存大于 2G 的则交换空间和物理内存大小一样.如果不符合上述规定,那么就需要重新设置交换空间的大小.重新设置交换空间的大小有两种方法:一种是使用 fdisk 删

查看linux系统和内核版本

1. 查看内核版本命令: 1) [[email protected] ~]# cat /proc/version Linux version 2.6.9-22.ELsmp ([email protected]) (gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)) #1 SMP Mon Sep 19 18:00:54 EDT 2005 2) [[email protected] ~]# uname -a Linux q1test01 2.6.9-22.EL