Disk full の場合2008年07月20日 12時39分11秒

ディスクの容量が無くなった時には、何を諦め何を行なうかを決める必要がある。簡単明瞭な回答は無いが、システムが何を行なう為のシステムかをしっかり考え直す事により見えてくる。また、

もう一つ大切なのは、ファイルに書き込むのはレコード単位に行なう事だ。そして、それらのファイルを読む側もレコード単位で処理を行なえる様にする。UNIX を始めとするシステムでは、レコードはアプリケーションレベルで定義するものだが、これをしっかりと決めておく。もし、ディスクに空きが出来た時にレコードを完結できないと、読めないレコードが出来る事になる。また、未完のレコードを読み出し側が処理をしようとすると、処理落ちにつながる。

以下が、個人的に使っている指標だ。

まず、システムのログ、特に統計などの情報は諦める。システムの動作を見る上で役に経つが、無くても動作に問題ないものは切り捨てる。

それに引き替え、重要なデータを記録するプロセスであれば であれば諦める。無いと不便なだけなら、基本的に動作に問題がない。

重要なプロセスであれば一時的に処理を止める。例えば、取引決裁のシステムだとしよう。注文の記録を書き込めないのであれば、決裁の為の情報が保存できない。そうなると、注文を一時的に停止するのが、一番被害が小さくなる。ディスクに余裕が出来れば、注文の受付を再開すればいい。

ファイルを IPC に使うとしよう。異なった OS を連係させる時のデータの移動などに使う事がある。受信側がネットワーク越しに流れてくるデータをファイルに書き込む。この様な場合は、正しい制御が重要となる。もし、ファイルに書き込めないのであば、入力側を一時停止する必要がある。ファイルに書き込めないのであれば下流側のシステムは動作を続けられない。下流側には、主要な機能を置かないようにする必要もあるだろう。

思い付くままに書き連ねたが、システムをより強固にするのに役に立てばと思う。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2008/07/20/3639320/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。