PD思考法の基礎と情報収集(その1)(1/3 ページ)

Linux環境で問題が発生した場合、管理者がするべきことは「その原因がどこにあるか」の正確な把握である。今回は、発生した問題に対し原因がどこにあるかを判別するための基本的な考え方と、問題判別に必要な情報収集の基礎について解説しよう。

» 2005年12月09日 12時00分 公開
[秋田英行(日本アイ・ビー・エム),ITmedia]

問題発生時にこそ問われる管理者のセンス

 ここ数年、Linuxの進化とともにその利用形態は変化し、さらにこれからも多様なニーズが期待されていることは言うまでもない。しかし、もし自分の手元のLinux PCや仕事でかかわっているLinuxシステムに問題が起きた場合、皆さんはどう対応するであろうか。たとえば、「ブートの途中で止まって起動できない」、「突然キー入力ができなくなった」、「しばらく放置したらスクリーンがブラックアウトして何も操作できなくなった」、「突然panicメッセージとともにクラッシュした」、「負荷が高くなるにつれ異常にパフォーマンスが低下する」、「突然ネットワークアクセスができなくなった」など、日常で起こりうるこれらのような現象に直面したら、次に何をすべきなのかを具体的にイメージできるであろうか。

 これが自分だけで使用するPCで起きたのならば、「とりあえず再起動」がまず思い浮かぶ対処法だろうが、サーバーとして稼働させなければならないシステム、とくに日常のオペレーションで中心的な役割を担うサーバーで起きた場合、それだけではどうしようもない。正確な問題の把握や原因の究明、修正や回避策の模索など、システムを復旧させるための問題解決に向けた早急な対応が必要となり、具体的な策が要求される。

 すべてのシステムに実際に起こりうる問題を常に予見し、特定できるのであればこれほど楽なことはないが、そもそも実際に起きる事象を初めから特定したシステム作りなどは不可能といって良いだろう。当然問題自体は突然やってきて、対応は問題が発生してからのスタートとなるのが実際なのである。そして、問題が生じた場合に重要になってくるのは、単に問題を解決するだけではなく、発生してから問題個所を修正または除去し、復旧させるまでの時間であり、この時間の短縮化を左右する大きな要因は問題を効率良く切り分けられるか否かである。効率良く切り分けるとは、問題点に向かって最短パスで到達するということになる。要するに問題個所の発見をいかに早くするかということに尽きるのである。 しかし、問題個所の早期発見と一口にいっても、それはそう簡単に誰でもができることではない。生じる問題は稼働環境によって異なり、その要因はBIOS、ファームウェア、カーネル、デバイスドライバ、デーモン、ユーザープロセス、ミドルウェアなどさまざまであるうえ、それぞれにバージョンの差異が存在する。つまり、ケースによって構成が変化するため、生じる問題も常に変化するのである。A+B+Cの組み合わせなら発生しないが、A+C+Dの組み合わせだと発生する、もしくは両方で発生するが事象は異なる、という場合も起こりうる。

問題判別の心構え

 ここまで書くと、「手法を確立すれば効率化が図れるではないか」と考える方もいるかと思う。しかし、常に変化するオープンシステムの前では、基本骨子はできても変化ごとに亜種を生み出し複雑化するだけになるのは目に見えている。 何にでも基本骨子は重要と筆者も考えているが、複雑化した手法では理解が困難であり、使いこなしきれない、改変に時間を要するなど、問題を解決するための手法自体が問題を呼び、利用価値がなくなる。こうなると、やがては単に高尚な文献として封印され風化してしまうのは世の常である。

 変化に富んだ環境の中で生じた問題に対応するには、「自分自身が、ケースごとに発生した問題に柔軟に対応できるようになる」ことが重要である。これは単なる気構えのようなものだが、実は奥が深い。発生したシステム全体を理解し、構成要素を理解し、要素そのものを理解し、データを分析し、異常か正常かの判断を繰り返す(図1)。これらに必要な作業をほぼ瞬間的に展開し最適化していくのである。つまり、問題に対応するためには、それなりに個々の要素に対するスキルとアイテムを使いこなすことが必要となるのである。

図1 図1 PDの思考法

 この連載では、問題判別に利用する概念や機能、データ分析、実例などを、数回にわたって紹介したいと思う。

       1|2|3 次のページへ

Copyright(C) 2010 SOFTBANK Creative Inc. All Right Reserved.

注目のテーマ