2006年06月12日

そのディスク、捨てる前に 〜shredで内容消去〜

はてなブックマークに登録

かたちあるものいつかは壊れます。ハードディスクも例外じゃありません。

DSASはサーバが200台近くあり、複数台ディスクを積んでいるサーバもあるのでディスクの数はそれ以上です。これだけディスクがあると、どれかが壊れる確率はそれなりに高くなります。


ちなみにDSASは、

  • Webサーバは数十台あってディスク内容は全サーバで同期している。

  • DBサーバのデータ格納用ディスクはRAIDを使っているし、レプリケーションもしている。

  • LVSを使っている負荷分散機などいくつかのサーバはネットブートでディスクレスにしている。(のでディスク故障とは無縁)


というふうに、ディスクが数台壊れたぐらいではサービス停止することのない構成になってます。


でも、壊れたディスクはデータが入っているのでそのままゴミ箱にポイというわけにはいきません。

rm -frで消したりfdiskでパーティションテーブルを壊したとしても、いくらでもディスク上のデータを取り出す方法はあります。例えば、ddでデバイスを吸い出すとか。

そこで、今回は廃棄や保守交換で返送する前にshredをかけましょうというお話をしたいと思います。

shredとは



shredは、GNUのcoreutilsに含まれているコマンドのひとつで、ディスクの内容を論理的に破壊して元データの復元を非常に困難にしてくれるものです。

coreutilsはcpやmvなど基本的なコマンドが収められているパッケージなので、恐らく、ほとんどのLinuxディストリビューションではインストールされていると思います。

knoppixにもshredは入っているので、knoppixでCD-ROMブートしてディスクをshredすることもできますね。

使い方



例えば、

# shred -v -n 3 -z /dev/hda


とすると、/dev/hda 全体を、元データを復元しづらいパターンで上書きするのを3回繰り返した後、最後にゼロクリアします。

上書きの繰り返し数を指定する-nオプションのデフォルトは25回ですが、昨今の大容量ディスクだとそれなりに時間がかかるので、時間とデータの重要度を鑑みて回数を指定するとよいと思います。

オプションの詳細は、Bookshelfさんのところに付属ドキュメントの和訳があるので、そちらを参照するとよいと思います。

留意点



ご覧の通り、shredはOSがディスクを認識していないと使えません。なので、円盤が回らなくなったなどでハードディスクとして認識できなくなった場合はshredが使えません。

また、ディスクそのものが不良セクタを隠蔽してしまうと、その不良セクタはshredの対象になりません。

こういった場合は、磁気的に破壊する機器(『ハードディスククラッシャー』で検索するとたくさん見つかります)を使うか、物理的に完全に破壊するしかありません。

とはいえそのまま捨てるよりかは、shredしてから捨てた方が精神衛生上もよいですね。コストもほとんどかかりませんし。

余談



余談ですが、coreutilsにはいろんなコマンドが収録されています。

お使いのパッケージ管理システムに応じて、
$ dpkg -L coreutils | grep bin


$ rpm -ql coreutils | grep bin

とするとコマンドの一覧が得られます。

cat, ch{grp,mod,own}, cp, lnなど有名どころから、join, merge, tac, tsortといったちょっとマイナー(?)なものまでいろいろあります。わたしはpinkyなんてコマンドがあるのをこの記事を書きながら初めて知りました。(^^;

そうそう。/usr/bin/[なんてのもありますね。『/usr/binの下に"["という名前のゴミファイルがあったので消しておきました! えっへん!!』なんて新米rootがいて、のきなみshスクリプトが動かなくなったという笑い話(なのか?)を思い出しました。ちなみに、bashだと[はビルトインですね。

(ひ)
klab_gijutsu2 at 09:00│Comments(0)TrackBack(0)tool 

トラックバックURL

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔   
 
 
 
Blog内検索
Archives
このブログについて
DSASとは、KLab が構築し運用しているコンテンツサービス用のLinuxベースのインフラです。現在5ヶ所のデータセンタにて構築し、運用していますが、我々はDSASをより使いやすく、より安全に、そしてより省力で運用できることを目指して、日々改良に勤しんでいます。
このブログでは、そんな DSAS で使っている技術の紹介や、実験してみた結果の報告、トラブルに巻き込まれた時の経験談など、広く深く、色々な話題を織りまぜて紹介していきたいと思います。
最新コメント