[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:04351] What is ``System Administration''. ( was Re: お勧めの管理スクリプトはありますか? )



In <9802130021.AA06359@xxxxxxxxxxxxxxxxxxxxxx>
[debian-users:04281] お勧めの管理スクリプトはありますか?, Feb.13 '98 09:21 JST
m.tomimoto@xxxxxxxxxxxx says:
=   具体的に何をしたいというものはなくて、「システムの管理とはどんなことをす
=   るべきか」という疑問が一番なんですごく返答に困るないようですがよろしくお
=   付き合いください。

このくらい抽象的になるとなかなかFollowもつかないようですが、少し私
の考えていることを書いてみましょう。

「システム管理」とは、「システムが円滑に稼働するための様々な調整」
です。「円滑な稼働」が何をさすかはそのシステムが何をするものか、ど
んな環境下にあるかに依存します。「調整」はマシンに対するものだけで
なく、人間側の組織に対するものなども含みます。

「円滑な稼働」が何を意味し、そのためになにをなすべきかを定義するこ
とが「システム管理」の第一歩になります。具体的に「これとこれ*さえ*
やっとけば、はい、OK」というものは基本的には存在しません(もちろん、
汎用的に通用する管理taskはあるでしょう)。

どこそこのメニューのどの項目をクリックし、でてきたDialog Boxのここ
とここに何何と記述して「OK」ボタンをクリックしておしまい、というの
はAdministrationではないのです。実際、この程度のことしかできない人
は「OK」を押して「おっけー」に動かなかった時、それ以上なにもできな
かったりします。「WIMPsはAdminではない」という好例でしょう。NTでは
こうしたてあいはめずらしくもないですが。

そうではなくて、その、「何何をすればOK」というのをきちんと定義する
ことが「管理」であるといえます。そして、Unixではそうした「定義され
た管理task」を定型化(機械化)するための手段が揃っています。「管理ス
クリプト」はその一例です。そして、cronやatといった自動化のための手
段も完備されています。

そういう意味では、汎用的な管理taskの定型化のために既存の管理スクリ
プトを探すと言うのは、省力化という点で良いことですが、それが必ずし
も、とみもとさんの求めているものであるかというと、それはなんとも言
えないということは理解しておく必要があると思います。

ですから、むしろ、

=   たとえば僕は、アスキーから出ている"UNIXシ
=   ステム管理者入門"の6章を参考にしてユーザの増減とディスク使用量の変化をレ
=   ポートするスクリプトをcronで自動実行させています。

というような事をこつこつ積み重ねていくことの方がより重要であると考
えています。


管理taskは大雑把に次のように分類できます。

1.  システムの目的の定義
    「そのシステムは何(誰)に対して何をするためのものか」ということ
    をはっきりさせておく必要があります。それはたとえば「The
    Internet向けのWebコンテンツを発信する」かもしれませんし、「社
    員向けに社内localなNetnewsの記事の配送をする」かもしれませんし、
    「アタシがdebian-users MLを読み書きしたい」というものかもしれ
    ません。

2.  システムの現状の把握
    「1.の目的の実現のため、どのようにシステムを構成したか」をはっ
    きりさせておく必要があります。構成についてはハードウェアとソフ
    トウェアにわけられますが、ソフトウェアの場合、Debianには
    dpkg/dselect という構成管理のための強力なツールが既に存在して
    います。

    また、「システムの定常稼働状態」というのを定義する必要がありま
    す。これは運用に関わることなので、「運用taskを定義する」という
    のと同じ意味になります。

3.  分析と最適化
    最適化とは、ここでは、システムから「無理、ムラ、無駄を取り除く」
    という意味です。2.で把握した現状を分析し、改善すべき点について
    検討します。diskやmemoryの増設、CPUのグレードアップなどが必要
    になるかもしれませんし、ソフトウェアのバージョンアップが必要か
    もしれません。

    最適化した結果は2.にフィードバックされます。また、「今はこうい
    う目的で使用しているが、将来はこういうこともさせたい」というこ
    とがあれば、1.にもフィードバックがあるでしょう。


運用taskは大雑把に次のように分類できます。

1.  定常稼働状態の監視と記録
    「各種Logをtail -f で監視」「Logをperlなどで整形してMailで送ら
    せる」「メモリ使用状況の監視」「バックアップを取る」などがあり
    ます。重要なのは、単に「動いている」ことに満足するのではなく、
    「そのシステムが『正常に動いている』とはどういう状態にあること
    をいうのか」ということを把握しておくこと、できれば記録しておく
    ことです。

2.  障害対応
    これについては詳細の説明はいらないと思いますが、重要な点として、
    「障害対応した結果、システム構成に変更があったのなら、それをちゃ
    んと把握しておかなければいけない」ということがあげられます。

3.  変更管理
    システムの機能に変更がなくてもシステム構成が変わる可能性が存在
    します。たとえば、Web hostingをしているのなら、コンテンツ提供
    者からコンテンツ入れ換えの要請があるかもしれませんし、shellア
    カウンティングを提供しているのなら、ユーザの増減が起こり得ます。
    こうした、「定常稼働中のシステム変更」についても、変更点をきち
    んと把握しておかなければなりません。


 -.- . -. -.
Ken Nakagaki <kenn@xxxxxxxxxxxxxxxxx>
「人は船ではない。人は会社ではない」-- Gerry Spence