2012年12月6日木曜日

Oracle Linux 第3回 ゼロ・ダウンタイム アップデート機能「Ksplice」導入編

Oracle Linux 連載記事の第2回にて「Ksplice」の機能概要についてご案内しましたが、今回は実際にどのように「Ksplice」を使用するのかをご案内します。

既に Oracle Linux 連載記事の第1回で、Unbreakable Linux Network (ULN) 登録までをご案内しています。今回は登録後の状態から話を進めていきます。ULN の登録で不明な点がありましたら、第1回の内容をご参照ください。

ULN にアクセスし、ログインを行います。Ksplice 登録前の状況は以下のような画面が表示されます。 Ksplice を使用するには ULN より Ksplice を使用する CSI の登録を行う必要があります。登録を行うには [Ksplice Uptrack Registration] をクリックします。

次の画面で Ksplice を使用する CSI を選択し、[ Register ] をクリックすると、アカウントの Email アドレスに対し、以下のようなメールが送付されます。
Ksplice Uptrack account の情報が含まれていますので、大切に保管して下さい。

Dear <UserName>

Welcome to Ksplice!

With Ksplice, a standard feature of Oracle Linux Premier support, you can:

* Eliminate maintenance windows for kernel security updates
* Lower operational costs by reducing the amount of administrator time required for applying kernel security updates
* Improve application availability and uptime
* Realize greater security by installing security updates more promptly

Your Ksplice access key is:
*************************************************************

Your temporary password is: ***************
Please log into your web interface account and change your temporary password by visiting:
<https://uptrack.ksplice.com/reset/confirm/4ka/*************************

If this request did not come from you, please contact us.

Thanks,
The Ksplice Team

メールに含まれる URL にアクセスすると、「Ksplice Uptrack account Setup」 のページが表示されるので、必須事項を入力し、アカウントを作成します。

以上の操作にて Ksplice のアカウント作成が完了しました。

アカウントの作成が完了したら uptrack.ksplice.com にアクセスし、ログインします。

Active Installations の項目より、「 You have no active machines in this group. To install Ksplice Uptrack on more systems, please see the Installation instructions . 」 のリンクをクリックします。

「 Installing Ksplice Uptrack 」 のページが表示されるので、記載の手順に沿って Ksplice Uptrack をインストールします。
ここで表示される値は環境ごとに異なります。必ずお客様環境で表示された入力値を使用して下さい。

では、実際に Oracle Linux 6.3 に対して Ksplice によるアップデートを行なってみましょう。

※ Proxy 設定が必要な環境の場合、export コマンドにて事前に設定を行います。

# export http_proxy=http://proxy.example.com:8080

Ksplice のインストールパッケージをダウンロードします。

# wget -N https://www.ksplice.com/uptrack/install-uptrack
  --2012-12-03 17:25:15-- https://www.ksplice.com/uptrack/install-uptrack
  www.ksplice.com をDNSに問いあわせています... 137.254.56.32
  www.ksplice.com|137.254.56.32|:443 に接続しています... 接続しました。
  HTTP による接続要求を送信しました、応答を待っています... 200 OK
  長さ: 9176 (9.0K) [text/plain]
`install-uptrack' に保存中
100%[======================================>] 9,176 59.2K/s 時間 0.2s<
2012-12-03 17:25:16 (59.2 KB/s) - `install-uptrack' へ保存完了 [9176/9176]

Ksplice のパッケージである 「uptrack」 をインストールします。

# sh install-uptrack <Ksplice access key>
[ Release detected: ol ]
--2012-12-03 17:29:50--  https://www.ksplice.com/yum/uptrack/ol/ksplice-uptrack-release.noarch.rpm

www.ksplice.com をDNSに問いあわせています... 137.254.56.32

www.ksplice.com|137.254.56.32|:443 に接続しています... 接続しました。

HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 6876 (6.7K) [application/x-redhat-package-manager]

サーバ側のファイルよりローカルのファイル `ksplice-uptrack-release.noarch.rpm' の方が新しいので取得しません。


[ Installing Uptrack ]
Loaded plugins: refresh-packagekit, rhnplugin, security
ksplice-uptrack                                          |  951 B     00:00
ksplice-uptrack/primary                                  | 3.8 kB     00:00
ksplice-uptrack                                                           11/11
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package uptrack.noarch 0:1.2.2-0.el6 will be installed
--> Processing Dependency: uptrack-PyYAML for package: uptrack-1.2.2-0.el6.noarch
--> Running transaction check
---> Package uptrack-PyYAML.x86_64 0:3.08-4.el6 will be installed
--> Processing Dependency: uptrack-libyaml >= 0.1.3-1 for package: uptrack-PyYAML-3.08-4.el6.x86_64
--> Running transaction check
---> Package uptrack-libyaml.x86_64 0:0.1.3-1.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package              Arch        Version            Repository            Size
================================================================================
Installing:
 uptrack              noarch      1.2.2-0.el6        ksplice-uptrack      371 k
Installing for dependencies:
 uptrack-PyYAML       x86_64      3.08-4.el6         ksplice-uptrack      143 k
 uptrack-libyaml      x86_64      0.1.3-1.el6        ksplice-uptrack       48 k

Transaction Summary
================================================================================
Install       3 Package(s)

Total download size: 562 k
Installed size: 1.8 M
Downloading Packages:
(1/3): uptrack-1.2.2-0.el6.noarch.rpm                    | 371 kB     00:00
(2/3): uptrack-PyYAML-3.08-4.el6.x86_64.rpm              | 143 kB     00:00
(3/3): uptrack-libyaml-0.1.3-1.el6.x86_64.rpm            |  48 kB     00:00
--------------------------------------------------------------------------------
Total                                           236 kB/s | 562 kB     00:02
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
  Installing : uptrack-libyaml-0.1.3-1.el6.x86_64                           1/3
  Installing : uptrack-PyYAML-3.08-4.el6.x86_64                             2/3
  Installing : uptrack-1.2.2-0.el6.noarch                                   3/3


( ~  中略 ~ )


Install [da5k0a2g] Kernel oops in unbound L2TP IP sockets.
Install [xwcjlkhr] CVE-2012-2133: Use-after-free in hugetlbfs quota handling.
Install [u0j9xiac] CVE-2012-3400: Buffer overflow in UDF parsing.
Install [k2w25yci] CVE-2012-3511: Use-after-free due to race condition in madvise.
[ Installation Complete! ]
[ Please run '/usr/sbin/uptrack-upgrade -y' to bring your system up to date ]

インストール処理の最後から2行目に "Installation Complete!" が表示されれば、 Ksplice のパッケージである「uptrack」のインストールは正常に完了した事となります。
最後に表示された "Please run '/usr/sbin/uptrack-upgrade -y' to bring your system up to date" にならいアップデートを行います。

# uptrack-upgrade -y
The following steps will be taken:
Install [y0nt92xe] Use random access mode for dm-nfs backing file.
Install [s5wsi4gb] Load spike in leap second insertion.
Install [lkbyskll] CVE-2012-2745: Denial-of-service in kernel key management.
Install [3uzbjwql] CVE-2011-1083: Algorithmic denial of service in epoll.
Install [zq4sojfx] Don't fail starting FCOE in uniprocessor environment.
Install [993sftug] ext4 filesystem corruption on fallocate.
Install [1a5hpf65] Kernel crash with advisory locks on NFSv4.


( ~  中略 ~ )


Installing [9373okqe] Use-after-free in device mapper subsystem.
Installing [rvuez8zg] CVE-2012-0207: Denial of service bug in IGMP.
Installing [zev1jxnm] CVE-2012-0045: Denial of service in KVM system call emulation.
Installing [da5k0a2g] Kernel oops in unbound L2TP IP sockets.
Installing [xwcjlkhr] CVE-2012-2133: Use-after-free in hugetlbfs quota handling.
Installing [u0j9xiac] CVE-2012-3400: Buffer overflow in UDF parsing.
Installing [k2w25yci] CVE-2012-3511: Use-after-free due to race condition in madvise.
Your kernel is fully up to date.
Effective kernel version is 2.6.39-300.17.2.el6uek

最後の2行に "Your kernel is fully up to date. Effective kernel version is 2.6.39-300.17.2.el6uek" のように現在使用しているカーネルに対してアップデートが行われた旨が表示されればアップデートは完了したこととなります。

以上で、Ksplice のインストールとアップデートは完了しました。
カーネルのアップデートが行われましたが元のカーネルの表記はそのまま変わらないのも Ksplice の特徴と言えます。

# uname -a
Linux oel63 2.6.39-200.24.1.el6uek.x86_64 #1 SMP Sat Jun 23 02:39:07 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux

Ksplice で適用された Kernel の状況を確認するには uptrack-show コマンドを使用します。

# uptrack-uname -a
Linux oel63 2.6.39-300.17.2.el6uek.x86_64 #1 SMP Wed Nov 7 17:48:36 PST 2012 x86_64 x86_64 x86_64 GNU/Linux

次回は、Ksplice の Uptrack website から適用されたアップデートの確認から、システムの管理方法までをご案内します。

0 件のコメント:

コメントを投稿