Linux障害解析の状況と今後の展望

Similar documents
ダンプ取得機能強化サポートオプション Enterprise Edition

dump / lcrash dump crash dump 2

日立ディスクアレイサブシステム環境強化サポートオプション

CLUSTERPRO MC ProcessSaver 2.3 for Windows 導入ガイド 第 5 版 2018 年 6 月 日本電気株式会社

CLUSTERPRO MC ProcessSaver 1.2 for Windows 導入ガイド 第 4 版 2014 年 3 月 日本電気株式会社

Microsoft PowerPoint - OS07.pptx

Linkexpress トラブル初期調査資料 採取コマンド使用手引書

ライフサイクル管理 Systemwalker Centric Manager カタログ

Linux ドライバのインストール

ビッグデータ分析を高速化する 分散処理技術を開発 日本電気株式会社

WannaCry とは WannaCry はランサムウェアの一種 WannaCry は ランサムウェアと呼ばれる身代金要求型のマルウェアです WannaCryptor WanaCrypt Wcry といった呼ばれ方もします 一般的にランサムウェアに感染すると 以下のようなデータを使用できないように暗

延命セキュリティ製品 製品名お客様の想定対象 OS McAfee Embedded Control 特定の業務で利用する物理 PC 仮想 PC や Server 2003 Server 2003 ホワイトリスト型 Trend Micro Safe Lock 特定の業務で利用するスタンドアロン PC

Linuxのベンチマーク評価 とボトルネック解析

PowerPoint プレゼンテーション

MMUなしプロセッサ用Linuxの共有ライブラリ機構

MIRACLE MH for SNMP サポート SLA( サービスレベルアグリーメント ) ML-CS-0747 本書は サイバートラスト株式会社 ( 以下 サイバートラスト ) が MIRACLE MH for SNMP サポート ( 以下当サポートサービス ) の内容について説明するものである

第一章 LPC2478 ボードの概要...3 第二章 uclinux の初体験 SD カードのテスト USB メモリのテスト USB Devices のテスト network のテスト...6 第三章 uclinux のコンパイル...


使用する前に

目次 概要 S/4HANAの導入方式 NECがご提供するサービス S/4HANA 導入ロードマップ策定支援サービス

System Center Virtual Machine Manager 2008 R2の留意事項一覧

Microsoft Word - nvsi_050090jp_oracle10g_vlm.doc

アジェンダ はクラウド上でも十分使えます 1. の概要 とは の導入事例 で利用される構成 2. をクラウドで使う クラウドサービスの分類 Amazon Web Services による構成例 2

今週の進捗

TFTP serverの実装

LSI MegaRAID SAS Device Driver Installation Guide - 日本語

— intra-martで運用する場合のセキュリティの考え方    

ESMPRO/ServerManager Ver. 6 変更履歴

【Cosminexus V9】クラウドサービスプラットフォーム Cosminexus

TopSE並行システム はじめに

1. 対象装置 (1) 日立仮想 Fibre Channel アダプタ 適用装置 : EP8000 7xx/S8xx/E8xx/S9xx 2. 仮想 FC アダプタドライバ来歴 この仮想 FC アダプタドライバは 次の機能拡張とバグ修正を含みます バージョン内容 新規追加 7

(2) [ バックアップツール ] が表示されます [1] [2] [3] [4] [5] [6] Windows Storage Server 2012 バックアップ手順 (V_01) < 画面の説明 > [1] バックアップ項目リスト登録されているバックアップセットの一覧です [2] 新規 ボタ

FUJITSU Software Systemwalker Centric Manager Lite Edition V13.5 機能紹介資料

Microsoft IISのWebDAV認証回避の脆弱性に関する検証レポート

アドバンスト・フォーマットディスクのパフォーマンス

UCS M シリーズ サーバでの Redhat/CentOS オペレーティング システムのインストール

Microsoft Word - nvsi_080177jp_trendmicro_bakbone.doc

利用ガイド

テクニカルガイド Fibre Channel接続機器

障害管理テンプレート仕様書

Crashinfo ファイルからの情報の取得

ソフト活用事例③自動Rawデータ管理システム

Windows Server 2012 および Windows Server 2008 のインストール

情報漏洩対策ソリューション ESS REC のご説明

CertJuken 専門的な IT 認証問題集を提供する CertJuken

SigmaSystemCenter ネットワークアダプタ冗長化構築資料 第 3 版

テクニカルガイド Fibre Channel 接続機器

サーバ監視ソフトServerView RAID Manager、ServerView Agentless Service とLinux OS の組み合わせによるデータ欠損事象の発生環境確認、対処方法

今さら聞けない!? Oracle入門 ~後編~

TRAVENTY CG V 動作検証報告書

日立TO技報 第12号

How to Install and Configure Panorama Panorama のインストールと設定 Panorama は Palo Alto Networks のサポートサイトからダウンロード可能な VMware イメージです 本書は Panorama のインストールと Panora

スライド 1

はじめにお読みください

Cisco Prime LAN Management Solution 4.2 紹介資料

Monthly Research / セキュアハードウェアの登場とその分析

04-process_thread_2.ppt

Microsoft PowerPoint - Android+TPMによるセキュアブート_KDDI研_後日配布用

Cisco ViewMail for Microsoft Outlook クイックスタートガイド (リリース 8.5 以降)

現象 3 仮想マシン起動時に イベントログ ( システムログ ) に以下の警告イベントが登録される 種類 : 警告ソース :VMSMP イベント ID:27 " 任意の仮想マシン名 " のネットワーキングドライバーが読み込まれましたが サーバーからの別のバージョンが含まれています サーバーバージョン

Insert your Title here

PRIMERGY TX100 S3 未サポートOS動作検証確認情報

この手の問題を診断する際に Simics は完璧なツールなのですが 実行するためには 問題が発生するプログラムを Simics に取り込まなければなりません すなわち Simics 上で Simics を実行するのです まず Simics 内部に開発ホストの複製を作成します これは何も難しいことでは

HP Device Managerご紹介資料

スライド 1

2

Transcription:

Linux 障害解析の状況と今後の 展望 Oct.15, 2004 NTT Data 先端技術株式会社鈴木幸市 koichi@intellilink.co.jp エンタープライズ環境で Linux の利用を促進するうえで カーネル障害解析は重要な位置を占める カーネルダンプとしては LKCD や NetDump が知られているが より高い確実性 信頼性を目指した Linux カーネルダンプ取得ツールの提案もなされてきている これらの動向について紹介する 1

背景 : なぜ障害解析? エンタープライズや政府機関での利用 ミッションクリティカルなアプリケーションへの適用の増大 高信頼化 高可用性追求も重要であるが 障害時の対応が非常に重要になりつつある システム停止による社会的影響 会社の信用問題 生活 取引 生産への影響 2

背景 : なぜ障害解析? (cont.) システムが停止したら リブートして動いただけでは対応は不十分 障害原因と対策の説明責任 障害解析が必須の機能 今後同様な障害が起こらないようにどのような対策を講じるか その対策は十分か きちんと原因がわかっていることが大前提 ソフト障害でも緊急にバグがとれない場合 回避策を講じる必要がある システムが停止しなくとも クラスタノードの障害など システム全体は停止しないが部分的な障害はおこる これらの不具合の原因を究明し システム停止に至らないように対策を講じることが重要 3

背景 : なぜ障害解析? (cont.) 障害 資料採取 原因究明対策 応急措置 説明 4

カーネルは安定しているか? 5

LINUX 故障解析の現状 エンタープライズシステムでは 故障が発生した場合 原因を素早く特定し 迅速に対応することが求められている 障害を解析することによって ハードとソフトの切り分け カーネルとアプリケーションの切り分けを行わなければならない 原因の究明や切り分けのためには カーネルのダンプやトレースデータが必須である クラッシュダンプによる原因究明が有効 しかし LINUX には標準でダンプ機能がない 6

システム障害の事象例 LINUX 故障解析の現状 カーネルパニックが発生してシステムが停止する しかし再現性がないシステムが突然スローダウンし 果てにはハングする方式検討を行い環境構築してみたが どうも思ったような性能が出ない 原因特定の手段は? ( カーネルが原因だと思われる場合 ) KDB や KGDB によるデバッグ すぐさま再起動が必要な状況であるため システムを止めて作業することはできない たとえ可能だとしても 作業者がその場に赴いて全て解析するのは難しい同じ環境を用意して 再現待ち KDB 等で解析 再現してくれるとは限らないダンプ解析を行う LINUX には標準でメモリダンプ機能がない ダンプが取れない場合がある 7

カーネルダンプの取得 カーネル自身がダンプをイニシエートする必要がある マイクロカーネルのように 上位でカーネルの動作を制御する機構がない ハードウェアサポートもない メインフレーム等の LPAR を使うと外部でダンプがとれるが IA アーキテクチャのハードではこのようなものはほとんどない ( 絵を入れる ) カーネル カーネル マイクロカーネル VM モニタなど ダンプ機構 ハードウェアを用いたカーネルダンプ メインフレームなど マイクロカーネル等によるカーネルダンプ Mach, VMWare など カーネル自身によるカーネルダンプ ほとんどの Linux 実装 8

カーネルダンプの取得 (cont.) 信頼性のあるダンプをとる必要がある ダンプ取得中にメモリの状態が変化してしまい ダンプ内容の一貫性が失われないようにする必要がある 確実にダンプをとる必要がある 障害が発生したがダンプが取れないケースは最小限にとどめる必要がある ユーザ空間の再現も必要である アプリケーション起因で障害が発生するケースもある メモリダンプと共に スワップを保全しておけばユーザ空間の再現は可能 9

カーネルダンプ用既存ツール (1) LKCD 最初に SGI が開発し オープンソースとして公開したもの その後 IBM NEC 日立 富士通共同で拡張を行った クラッシュダンプ採取のしくみと解析ツールからなる 長所 短所 活動が活発である ディスクダンプ ネットワークダンプ メモリダンプと 3 つの手段がサポートされている ディスクダンプでデバイスがビジー ( 使用中 ) だとダンプが取れない ディスクダンプの場合 割り込み許可して処理するので 他の割り込みと同時に処理が行われる そのため 資源の競合やダンプデータの不整合が起こり得る 10

カーネルダンプ用既存ツール (2) diskdump 富士通が開発したディスクダンプを実現する仕組み SCSI のポーリングモードを用い ( 割り込みは使わない ) 時サーバの HDD へダンプを採取 長所 割り込みを用いず ポーリングモードで書き込みを行うことで ダンプ取得の確率が高まる 短所 SCSI の最下位レイヤのドライバの修正が必要となる これらをコンパイルしてカーネルを再構築する必要がある 11

カーネル 2.6 での新しいカーネルダンプ取得技法 (1) クラッシュしたカーネルを用いたダンプ取得には確度 一貫性の限界がある クラッシュしたカーネルを使わずにダンプを取る リブートして新しいカーネルを走らせようとすると BIOS でダンプすべきメモリ内容が初期化されてしまう!! カーネルデータ構造 カーネル空間 このデータ構造をそのまま使うと内容が破壊されていたりデッドロックを引き継いだりする可能性大 スワップ ユーザ空間 クラッシュしていてどう破壊されたのか定かでないこの部分を使ってダンプを取得しなければならない カーネルがクラッシュしたということは... 12

カーネル 2.6 での新しいカーネルダンプ取得技法 (2) カーネル 2.6 の新たな機能 Linux カーネルから別のカーネルをブートする内部関数の実装 kexec() これを使えばクラッシュしたカーネルから別のカーネルを使ってダンプができる クラッシュ時は kexec() を使って専用カーネルを起動 カーネルデータ構造 カーネル空間 ダンプ専用データ構造 ダンプ専用カーネル ユーザ空間 ここのどこかが壊れている ダンプ時は I/O 初期化して専用データ構造を使う カーネルとは別のアドレスにダンプ専用カーネルをロードしておく カーネルの管理下なので破壊される危険はあるが これは少ないだろう 13

新しいカーネルダンプの実装例 IBM India Software Labs Hariprasad Nellitheertha, Linux Technology Center, ISL kexec() を介してダンプ専用カーネルを起動 ダンプしたデータはローカルに /dev/oldmem デバイスに蓄積 /dev/mem 同様にメモリイメージでアクセス可能 /dev/oldmem デバイスはあらかじめ作成しておく 出典 : The kexec Way to Lightweight Reliable System Crash Dumping, Hariprasad Nellitheertha, Linux Technology Center, ISL, IBM 14

ダンプ取得のプロセス 出典 : The kexec Way to Lightweight Reliable System Crash Dumping, Hariprasad Nellitheertha, Linux Technology Center, ISL, IBM 15

kexec() 利用上の工夫 kexec() は 古いカーネルを上書きしてしまう 上書きされる前にこの部分のメモリイメージを退避してからダンプ 出典 : The kexec Way to Lightweight Reliable System Crash Dumping, Hariprasad Nellitheertha, Linux Technology Center, ISL, IBM 16

kexec() を使ったもう一つのダンプ取得技法 Linaccident ダンプツール kexec() では古いカーネルイメージが上書きされる 任意の場所にダンプミニカーネルをロードして起動できるように kexec() を変更 mkexec() ダンプイメージは事前に設定したディスクパーティションに書き出す クラッシュしたカーネルのコードもデータ構造も用いない 安全なミニカーネル内のコードとデータ構造で実行 ダンプ採取の確率向上 ミニカーネルは 以下のコードをベースに開発 Linux カーネル LKCD kexec NTT DATA & VA Linux Japan ミニカーネルにはダンプ処理と安全かつ必要最小限のドライバで構成 ドライバは Linux カーネルのものを使用 ミニカーネル内にロードされている カーネルダンプは lcrash(lkcd の解析ツール ) を用いて解析 17

ダンプの取得 (1) Reserve the area for Mini Kernel Load the Mini Kernel 18

ダンプの取得 (2) Real memory crash occurs Run the Mini Kernel 19

ダンプの取得 (3) real memory Dump all memory Dump device 20

ダンプ手法の比較 LKCD(disk) Netdump / LKCD(net) mcore / LKCD(mem) diskdump Linaccident 実行コンテキスト 採取できる情報 メモリキャッシュメモリ スワップ領域 確実性 資源のロックメモリ破壊時 panic / oops 採取の契機 nmi_watchdog 手動 + α nmi スイッチ ライブダンプの可否 ( 検討項目 ) 21

スワップと組み合わせたユーザ空間の再現と障害解析 各種解析資料 ダンプファイル カーネル構造情報 (Kerntypes) カーネルイメージ スワップ領域ダンプファイル System.map ( シンボルマップ ).config ファイル カーネルソース 共有ライブラリのバージョン lcrash によるカーネル解析 core ファイルの作成 core ファイル gdb によるアプリケーション解析 22

lcrash によるカーネル解析 23

gdb によるアプリケーション解析 24

日本 OSS 推進フォーラム開発基盤 WG での検討状況高信頼化ツール開発プラン ミッションクリティカル対応には RAS の強化が必須 ( ダウンタイムの最小化 障害の早期検出 ) 高信頼化に必要なツール群を トレースツール ダンプツール 性能評価ツール アロケーション情報評価ツール に分類 不足している領域を新規に整備 ( ダンプ解析スクリプト アロケーション情報評価 ) ミッションクリティカル対応高信頼化ツール群 ダンプ トレース情報連携解析ツール 性能 トレース情報連携解析ツール トレース解析支援ツール カーネル トレーサ (LKST) 性能プロファイラー (LKST 改造 他 ) ダンプ解析スクリプト ダンプデータ解析ツール (lcrash, crash, ) トレーサー連携ダンプ採取ツール カーネル性能評価ツール ダンプ採取ツール (LKCD, diskdump, ) アロケーション情報採取ツール ディスク割り当て評価ツール メモリ領域割り当て評価ツール ダンプ アロケーション情報連携解析ツール 既存ツール 新規開発ツール 性能 デフラグ情報連携解析ツール 将来開発ツール 出典 : OSS セプテンバーセミナー in 札幌 25

今後の期待 障害解析ツールの開発の促進 OSS 推進フォーラムなど カーネルダンプのメインツリーへの反映 2004 年のカーネルサミットでも話題に カーネルダンプ情報の安全な運用方法 暗号化を施した転送 蓄積 26

Thank you very much koichi@intellilink.co.jp 27