215 Followers
·
Follow

RHEL kpatch and SQL Server

kpatch is a no downtime Kernel Patching Solution that is built in Red Hat Enterprise Linux (RHEL). I was recently asked to test the impact of kpatch on SQL Server

.
A little more information on kpatch is available this Link.
So to test kpatch with SQL Server i decided to use HammerDB and run a TPC-C Benchmark while running a kpatch.

First i checked that no kpatch patch modules were installed

[root@fuad ~]# kpatch list
Loaded patch modules:

Installed patch modules:
[root@fuad ~]#

Then I Installed a TPC-C Schema using HammerDB

Image for post
Image for post

After the install Was completed I staged the kpatch module that i was going to use

[root@fuad tmp]# ls -alt /tmp/kpatch-patch-3_10_0–862_9_1–0–1.el7.x86_64.rpm
-rw-r — r — . 1 root root 6724 Jul 27 09:47 /tmp/kpatch-patch-3_10_0–862_9_1–0–1.el7.x86_64.rpm

After this i kicked off a HammerDB TPC-C load and it was loading at 12tpm (My Laptop VM was slow).

Image for post
Image for post

While the Load was running

[root@fuad tmp]# yum install kpatch-patch-3_10_0–862_9_1–0–1.el7.x86_64.rpm
Loaded plugins: product-id, search-disabled-repos, subscription-manager
Repository packages-microsoft-com-prod is listed more than once in the configuration
Examining kpatch-patch-3_10_0–862_9_1–0–1.el7.x86_64.rpm: kpatch-patch-3_10_0–862_9_1–0–1.el7.x86_64
Marking kpatch-patch-3_10_0–862_9_1–0–1.el7.x86_64.rpm to be installed
Resolving Dependencies
→ Running transaction check
— -> Package kpatch-patch-3_10_0–862_9_1.x86_64 0:0–1.el7 will be installed
→ Processing Dependency: kpatch >= 0.4.0–3 for package: kpatch-patch-3_10_0–862_9_1–0–1.el7.x86_64
→ Running transaction check
— -> Package kpatch.noarch 0:0.4.0–3.el7 will be installed
→ Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
kpatch-patch-3_10_0–862_9_1
x86_64 0–1.el7 /kpatch-patch-3_10_0–862_9_1–0–1.el7.x86_64 12 k
Installing for dependencies:
kpatch noarch 0.4.0–3.el7 rhel-7-server-rpms 10 k

Transaction Summary
================================================================================
Install 1 Package (+1 Dependent package)

Total size: 22 k
Total download size: 10 k
Installed size: 26 k
Is this ok [y/d/N]: y
Downloading packages:
kpatch-0.4.0–3.el7.noarch.rpm | 10 kB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : kpatch-0.4.0–3.el7.noarch 1/2
Installing : kpatch-patch-3_10_0–862_9_1–0–1.el7.x86_64 2/2
loading patch module: /usr/lib/kpatch/3.10.0–862.9.1.el7.x86_64/kpatch-3_10_0–862_9_1–0–1.ko
installing /usr/lib/kpatch/3.10.0–862.9.1.el7.x86_64/kpatch-3_10_0–862_9_1–0–1.ko (3.10.0–862.9.1.el7.x86_64)
Verifying : kpatch-0.4.0–3.el7.noarch 1/2
Verifying : kpatch-patch-3_10_0–862_9_1–0–1.el7.x86_64 2/2

Installed:
kpatch-patch-3_10_0–862_9_1.x86_64 0:0–1.el7

Dependency Installed:
kpatch.noarch 0:0.4.0–3.el7

Complete!

I installed and Loaded a kpatch module with no change in my TPM or any activity on the box and i did not need to reboot my box . Here i validate that kpatch module was installed

[root@fuad tmp]# kpatch list
Loaded patch modules:
kpatch_3_10_0_862_9_1_0_1 [enabled]

Installed patch modules:
kpatch_3_10_0_862_9_1_0_1 (3.10.0–862.9.1.el7.x86_64)

kpatch or Live kernel fixes will need to requested via support channels but the ability ot have a database functioning while a sysadmin is patching a critical vulnerability allows for business continuity but please also ensure that appropriate testing is completed before using this in a production environment

As i continue learning i will post more information on running SQL Sever on RHEL and other topics.

Solution Architect , Author , An introvert by nature extrovert by profession , Always Learning , Always Listening. Hopefully helping

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store