ゆうなんとかさんの雑記帳的な。

Twitterで踊ったり音ゲーしたりしてるあの名前がよくわからない人が書いてるらしいよ。

そういえばLinuxってデフラグしなくていいのかなって思って調べたらやっぱりしなくてよかった

WindowsもVistaからはOSが暇なときにこっそり余裕のあるときにバックグラウンドでデフラグするようになり、デフラグツールを使ってストレージの最適化をするような機会はほぼなくなりました。また、HDDにかわってフラッシュストレージも普及してきたので、今後デフラグツールを使ったデフラグの必要性はあんまり必要ないかなと思っているこのごろです。
でもやっぱり気になるんですよね。そこで、「そういえばLinuxデフラグって聞かないなぁ」と思って調べてみたところ、やっぱりしなくていいっぽいことが分かりました*1

なんでしなくていいんでしょう

わかりやすい説明はこちらのブログでどうぞ。
403 Forbidden
ここから下は劣化コピーもいいところです。
Windowsはデフラグが必要なのに、Linuxはいらないのか。この差はファイルシステムの哲学の違いによるようです。
Windowsで使われているファイルシステムは「とりあえず最初の方に詰めておけば検索が早くなるだろう」という作戦でデータを書き込んでいくようです。NTFSはもっと賢いやりかたをするらしいですが、FATなんかはこの作戦を地で行きます。
本棚をストレージ、本をデータに例えると、本棚の左上から順にとにかく本を詰めて並べていく感じですね。ここで詰めて並べた本の中にあるとあるシリーズものの作品ががあって、その新刊を手に入れたとしましょう。この本棚の主は次の作戦のうち、どれかをとることを迫られます。

  1. 他の本をずらしてその本を置くためのスペースを確保する
  2. 新しく買った本も含めて、シリーズを通しでおける場所に移して並べる
  3. 気にせず上から詰めていく

3つ目はもう一度新しい作品が出た時に困りますね。どの刊まで買ったのか調べのに一苦労です。自分で覚えていればいいのですが、こういうのは案外覚えていられないものです。同じ本を2冊買ってしまった*2なんてことになったら最悪ですよね。
これが一度きりならいいのですが、そうは問屋がおろしません。頻繁に新刊を仕入れてきては本棚に入れていく必要があります。そのたびに本を動かしてなんてやってたら大変です。そうやってシリーズものを動かすうちに、使うにも微妙な隙間があちこちにできてしまいます。中にはどうしても続けておくのが難しくて、いくつかの隙間に分けて並べざるを得なかったシリーズもあったりします(これが断片化)。なので、定期的に本棚を整理してうまく並べてやる(デフラグする)必要があります。
Linuxファイルシステムはどうなっているのかというと、まずは本棚の真ん中に最初のシリーズを並べ、次は上半分の真ん中くらい、下半分の真ん中くらい…みたいな感じで、なるべく偏りが起きないように置くような感じになるらしいです。こうすると、ちょっと置き換えたり追加したりしただけなら他のシリーズには影響がほとんどありません。仮にシリーズどうしがぴったりくっついたとしても、少し動かすのは最初の例ほど大変ではありません。なので、こまめに本を動かして散り散りにならないようにするコストが安いといえます。もちろん、スペースに空きがなくなってくるとどうしてもバラバラになりがちですが、きょうび余程のことがない限りめったに起きない*3ので、気にしなくてもいいといえます。
なるほど、こういう理由だったのですね。一応デフラグツールはあるようですが、その前に環境の移行や再構築のタイミングが先にきそうなので、やっぱりそれほど重要というわけではなさそうです。

*1:Linuxではありませんが、ついでに調べたところOS Xもしなくていいっぽい

*2:私はまだやらかしたことはないのですが

*3:頻繁に変更があるディレクトリを極端に少ない容量でフォーマットしてるとかそもそもストレージの容量自体が少ないとか