oracle linuxの概要
DESCRIPTION
Oracle Linux はOracle全製品の開発環境、テスト環境として利用されており、 Exadata 、Exalogic といった Engineered System に採用されている、Oracle 製品にとって最適なオペレーティングシステムです。Oracle Linux の概要と、 OS に再起動無しでカーネルのパッチを適用するKsplice テクノロジーの「ゼ ロ・ダウンタイム・カーネルパッチング」をデモを交えて紹介します。 日本オラクル 製品事業統括 製品戦略統括本部 原田 元章TRANSCRIPT
1 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Oracle Linux
2013/4/25
日本オラクル株式会社
2 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。
Oracleは、米国オラクル・コーポレーション及びその子会社、関連会社の米国及びその他の国における登録商標または商標です。他社名又は製品名は、それぞれ各社の商標である場合があります。
3 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Oracle Linux
4 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Oracle Linux: Oracle 製品の為の最適なOS
オラクルの Engineered Systems に採用
オラクルの標準開発環境
オラクル製品に最適化されたKernel UEK を搭載
Red Hat Enterprise Linux と完全互換
Free Source and Binary download
オラクルがOracle Software向けに推奨する唯一のLinux
5 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Oracle Linux とは
• UEK (Unbreakable Enterprise Kernel) ※ UEK と Redhat Compatible Kernel は起動時に選択可能
• Ksplice ( Zero downtime kernel patch technology )
Clone Clone
同じユーザー空間とカーネル 違いはロゴとタイトル
6 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Oracle Linux に含まれるもの
• Kernel
– Redhat Compatible Kernel
– Unbreakable Enterprise Kernel (UEK)
• 各国語
• GUI
• システム管理ツール
– ネットワーク構成、ファイルシステム構成
• アプリケーション
– Web Server、Web サーブレットエンジン、データベース、
ファイルサーバー、メールサーバー、DNSサーバー、etc
• 仮想化環境
• 開発ツール
• etc
7 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
ユーザーランドとカーネル アプリケーションプログラム HTTP, SFTP , SMTP , Telnet , etc
ライブラリ
システムコール
プロセス管理 タイマー管理
メモリー管理 ファイルシステム デバイス制御 ネットワークプロトコル (TCP、UDP、IP、etc)
メモリー マネージャー
アーキテクチャ 依存のコード
ブロック型 デバイスドライバ
キャラクタ型 デバイスドライバ
ネットワークサブシステム
ネットワークドライバ
同時並行処理 仮想メモリ ファイルとディレクトリ TTY とデバイス ネットワーク通信
ユーザー ランド
カーネル
ハード ウェア
8 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Linux Kernel Community
世界中の優秀な メンテナーが常に
機能改善
9 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
カーネルの種類
• Linus ツリー
– メインラインカーネル。
– Linux カーネルソースコードの大元
– 2.6.x といった3つのバージョン番号でリリース
– 2~3カ月毎に新バージョンがリリース
• カーネル 2.6 .39 の次は 3.0
• 2.6系 は 2.4 系のチューニング版、3.0系は 2.6 系のチューニング版
• 2013年2月18日に3.8 がリリース
• Linux-nextツリー
– 将来のリリースに向けた新しいコードを集積し、テスト
10 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
カーネルの種類
• Stable ツリー
– 過去にリリースされたカーネルバージョンに対して主にバグ修正
– Linus ツリーのバージョン番号にもう一つ数字が加えられる → 2.6.x.y
• 開発ツリー
– メモリ管理、ファイルシステム、ネットワークなどの各サブシステムのソースツリー
– Linux-next を経てLinusツリーに取りこまれる
• ディストリビューションカーネル
– Linusツリー、または Stableツリーのカーネルにディストリビューション独自の修正
– Redhat、Oracle Linux、SUSE、Ubuntu、etc
11 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Oracle Linux のカーネル UEK と Redhat Compatible Kernel
アプリケーションプログラム HTTP, SFTP , SMTP , Telnet , etc
ライブラリ
ユーザー ランド
カーネル
UEK Unbreakable
Enterprise Kernel
Redhat Compatible
Kernel カーネルは
起動時に選択
ユーザー空間は 全く同じ
or
12 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
grub.conf
13 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Unbreakable Enterprise Kernel
• メインラインカーネル 3.0 を基に開発されたカーネル
– 3.0 までにリリースされた、Oracle 製品に最適と思われる機能をいち早く搭載
– Java や Database に最適な機能、設定を適用済み
• Engineered System に採用されているハイパフォーマンスカーネル
– Exadata、Exalogic など大規模エンタープライズ向け製品に搭載されているカーネル
• 大規模テストファームによる継続したテスト
– ほぼ全てのオラクル製品の開発環境のベース
– 128,000 マシン時間/日のオラクル製品がOracle Linux上でテストされている
– テストファームにはおよそ40,000のLinux システムが存在
14 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
最適なモジュールをいち早く対応
Benchmark Red Hat
compatible kernel Unbreakable
Enterprise Kernel Gain
8kb flash cache reads (IOPS)
197 thousand 1 million 5倍
Solid State Disk access 4GB/second 9.5GB/second 2.4倍
Infiniband RDS messages, single card (IOPS)
89 thousand 273 thousand 3倍
8 socket database OLTP (transactions per minute)
1.8 million 3.2 million 1.75倍
※ Oracle Linux 5で UEK1とRed Hat Compatible Kernel を比較したデータです
15 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Oracle Linux + Oracle Software
Benchmark World Record
Oracle Database
Large System
Sun Fire X4800 M2 8 CPUs —Intel Xeon E7-8870 160 threads
2012年3月 4TB メモリー 5.1mln tpmC $0.89/tpmC
Small System
Cisco UCS C250 2 Intel Xeon X5690 24 threads 384 GB RAM
2012年9月 1,053,100 tpmC @ $0.58/tpmC
16 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Oracle Linux + Weblogic SPECjEnterprise2010 Benchmark
Tested By System Name Result Java EE Server DB Server
Nodes CPU Nodes CPU
Cisco Systems, Inc.
Oracle Weblogic Server Standard Edition Release 10.3.4 on Cisco UCS B440 M1 Blade Server 17,301.86 2
64 cores, 8 chips
1 32 cores,
4 chips 9-Mar-11
Cisco Systems, Inc.
Oracle Weblogic Server Standard Edition Release 10.3.5 on Cisco UCS B440 M2 Blade Server 26,118.67 2
80 cores, 8 chips
1 40 cores,
4 chips 30-Sep-11
Oracle Corporation
Oracle Weblogic Server Standard Edition Release 10.3.4 on Dell PowerEdge R910 11,946.60 1
40 cores, 4 chips
1 40 cores,
4 chips 7-Apr-11
Oracle Corporation
Oracle Weblogic Server Standard Edition Release 10.3.5 on Oracle Sun Blade X6270 M2 5,427.42 1
12 cores, 2 chips
1 12 cores,
2 chips 11-Aug-11
Oracle Corporation
Oracle Weblogic Server Standard Edition Release 10.3.6 on Sun Fire X4170 M3 8,310.19 1
16 cores, 2 chips
1 16 cores,
2 chips 5-Mar-12
Oracle Corporation
Oracle Weblogic Server Standard Edition Release 12.1.1 on Oracle Sun Fire X4800 M2 27,150.05 1
80 cores, 8 chips
1 40 cores,
4 chips 27-Mar-12
17 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Oracle Linux の特徴
18 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
オラクルが考える企業向けのLinuxに必要な機能
データの信頼性を担保 Data Integrity
信頼性の向上 Hardware Fault Management
高性能 I/O 処理 RDS(Infiniband)
ゼロダウンタイム パッチ適応
Ksplice
高度な障害解析 Dtrace: トレース機能
Linux OSを企業向けのミッションクリティカルな 用途へ適応する為の開発・改良を継続的に実施
19 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Ksplice Zero Down Time Kernel Patching
20 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved. Copyright © 2012, Oracle. All rights reserved.
• システム稼働中にカーネルパッチを適用。OS の再起動は不要 – 重要なセキュリティパッチ等がリリースされた場合に、メンテナンスウィンドウを取る必要なく、即座に適用可能
– メンテナンスにかかる作業コストを大幅にカット
• システム稼働中に適用したアップデートパッチをロールバック可能
• 難しい手順を踏まずに使用を開始
21 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved. Copyright © 2012, Oracle. All rights reserved.
Kernel にパッチはあててますか?
– サイバーアタックの90%は既知の脆弱性を狙ったもの
– 特権昇格、Buffer overflow 、Denial of Service 、etc …
– セキュリティパッチのリリースは比較的頻繁
– 1~2週間にひとつの割合でセキュリティパッチがリリース
– 適用しなければ、致命的な問題を引き起こす可能性も
– それ以外にもバグ修正も随時リリース
– セキュリティパッチをあてない理由
• セキュリティパッチの適用にはOSの再起動が必要
– 1~2週間に一回の割合でOSのリブートは非現実的
– OSの停止は、動作中のソフトウェアの状態を失い、OS上の全アプリ・サービスの停止を意味する
– 再起動後に予期せぬ問題が起こる事も
– OS 再起動計画のための作業員のコスト
OSの再起動は常に高コスト
OSは直接アタックされない(と思っている)
22 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Ksplice Demo (Before)
① ファイルのアップロード • OSコマンド実行php • バックドアスクリプト • 脆弱性実証コード
② クライアント端末 からnetcat を実行
④ 脆弱性実証コードを実行し、root 権限を奪取 ※ Kernel にある Null Pointer の脆弱性を ついた特権昇格(root 権限の奪取)
③ PHP でバックドア スクリプトを実行
23 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Ksplice Demo (After)
脆弱性実証コードを実行しても root 権限は奪取できない
Ksplice でオンラインで カーネルセキュリティパッチを適用 ※ OSのリブートは無し
24 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved. Copyright © 2012, Oracle. All rights reserved.
• Ksplice YouTube Demo (English)
http://youtu.be/mSmWKPnAHOU
• Ksplice Inspector
https://www.ksplice.com/inspector
以下のコマンドの結果をコピー&ペースト
カーネルのセキュリティパッチが画面に出力
echo "`uname -s`//`uname -m`//`uname -r`//`uname -v`"
参考
25 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved. Copyright © 2012, Oracle. All rights reserved.
1. オンラインアップデート
– Ksplice サーバーに Internet 経由で直接アクセス
– Proxy サーバー経由で Kspliceサーバーにアクセス
2. オフラインアップデート
– ローカル Yum リポジトリを構築し yum コマンドを実行
Ksplice による Zero down time Kernel パッチ適用方法
26 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved. Copyright © 2012, Oracle. All rights reserved.
Ksplice Online Client の利用方法
1. ULNアカウントを作成・登録
2. ULNサイトからKsplice Uptrack access keyを入手
3. Ksplice.comにアカウントを作成
4. インストールスクリプトをダウンロード/インストール
27 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved. Copyright © 2012, Oracle. All rights reserved.
Kspliceの利用イメージ (Online update)
Kernel update
Ksplice technology
② Zero downtime
kernel updateのサーチ
①uptrack-upgrade
③ Download
Customer Site
ゼロダウンタイム可能な
形式に変換
28 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved. Copyright © 2012, Oracle. All rights reserved.
Ksplice の実行 • 簡単なコマンドでパッチの適用、削除、確認が可能
コマンド 概要
uptrack-show 適用済みのKspliceパッチを表示
uptrack-upgrade 最新のKspliceパッチまで全て適用
uptrack-install patch_id 指定したKspliceパッチIDまで適用
uptrack-remove patch_id 指定したKspliceパッチIDまで削除
uptrack-uname Ksplice によって有効になっているカーネルバージョン
※ Ksplice は uname の出力結果は変更いたしません。
Ksplice によって現在有効となっているカーネル情報は uptrack-uname コマンドを実行して確認します。
※ パッチの自動適用について
設定ファイルを変更することによって、パッチの自動適用の設定をすることが可能です。
29 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved. Copyright © 2012, Oracle. All rights reserved.
uptrack コマンド実行例
# uname –r 2.6.39-200.24.1.el6uek.x86_64 # uptrack-upgrade -y The following steps will be taken: Install [y0nt92xe] Use random access mode for dm-nfs backing file. … Installing [lkbyskll] CVE-2013-2745: Denial-of-service in kernel key management. Installing [3uzbjwql] CVE-2011-1083: Algorithmic denial of service in epoll. Your kernel is fully up to date. Effective kernel version is 2.6.39-200.29.2.el6uek # uname –r 2.6.39-200.24.1.el6uek.x86_64 # uptrack-uname –r 2.6.39-200.29.2.el6uek.x86_64
現行のカーネルバージョン
Ksplice によるオンライン
カーネルパッチ適用
実際に有効なカーネルバージョン
(パッチ適用済み)
uname コマンドの出力
には影響を与えない
30 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved. Copyright © 2012, Oracle. All rights reserved.
Kspliceサイトに登録されたシステムの確認
各マシンの適用済みパッチの確認
登録済みマシン一覧
パッチ適用の有無を確認
31 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved. Copyright © 2012, Oracle. All rights reserved.
Ksplice Offline Client の利用方法 1. ULNアカウントを作成・登録
2. Local Yum Repository を構成
3. ULN channel subscription に Ksplice を追加
4. uptrack-offline をインストール
– yum install uptrack-offline
5. uptrack-update-<Kernel_ver> をインストール
– yum install uptrack-updates-`uname –r`
6. 定期的に更新
– Local Yum Repository
– 各クライアントの yum update
32 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved. Copyright © 2012, Oracle. All rights reserved.
Kspliceの利用イメージ (offline update)
Kernel update 定期的な更新
Customer Site
Local Yum Repository
Ksplice offline client
yum update
33 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved. Copyright © 2012, Oracle. All rights reserved.
運用手順比較例 環境 通常運用 Ksplice 運用
テスト環境
テスト環境での作業申請 テスト環境での作業申請
テスト環境で、アプリケーション停止 不要
OSパッチ適用 OSパッチ適用
OS再起動 不要
アプリケーション起動 不要
OS、アプリケーション稼動確認 OS、アプリケーション稼動確認
本番環境
本番環境適用申請(深夜や休日などに作業) 本番環境適用申請(オフピーク時に作業)
運用監視対象外に変更 不要
アプリケーション停止 不要
OSパッチ適用 OSパッチ適用
OS再起動 不要
アプリケーション起動 不要
OS、アプリケーション稼動確認 OS、アプリケーション稼動確認
運用監視対象に変更 不要
作業終了報告書提出 作業終了報告書提出
34 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved. Copyright © 2012, Oracle. All rights reserved.
• 簡単運用開始
– 特に難しい設定をせずに、簡単に運用を開始することが可能です
• 運用コストの削減
– セキュリティパッチ適用によるシステム停止作業が無くなるため作業者の負担を軽減し、運用コストが下がります
• サービスレベルの向上
– セキュリティパッチをオンラインで即時適用出来るため、システムが堅牢になります
– 再起動時のアプリケーションの停止が無くなるため思わぬ問題を回避し安定運用が提供出来るようになります
Ksplice のまとめ
35 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.