Ubuntu 12.04時代のファイルシステムの選び方 ext4でいいじゃん編
※2013年1月3日、ext2/3/4を更新。
※2012年11月14日、NTFSの欠点を追加。
行っとけ! Ubuntu道場! ― 第55回 〜師範、Ubuntu 12.04の特徴を教えてください!〜
↑の記事の3ページ目にXFSのことが書いてあった。
hito:むしろXFSが安心して使えるようになることの方が大きいかなぁ。 hito:XFSって、わりとメモリ食うんですよ。 で、システム内のメモリがなくなってきたりするとですね……。 Linux全般でどんな挙動になるでしょう、そこのやまねさん。 やまね:キャッシュやバッファを始末するために、 メモリ上に貯めてるものを「追い出す」動作がかかるね。 hito:で、その「追い出す」先がXFSだったりするわけですね。 hito:そうすると何が起こるかっつーと、 「メモリが足りない→XFS領域にデータを書きだそうとする→XFSがメモリを要求する」という……。 hito:で、そういう挙動はダメだよねーっていう修正がやっと入った。6〜7年ぐらいかかってると思う。 まあXFSにはもっと前にスタック使い尽くす問題とかもあったんで、 やっとこさヘビーな使い方ができるかなーという感じ。
XFSの問題点の話になると、xfs stack overflowが引き合いに出されていたような気がするが、このバグがマシになったという事なのだろうか。
この記事を読んで、Linuxのファイルシステムはどれを使えばいいのかを改めて考えてみた。ファイルシステムに関する詳しい知識が無い私の、現時点での印象を纏めると以下のような感じになる。
名前 | 印象 | 利点 | 欠点 |
---|---|---|---|
Btrfs | 開発中 不安定 遅い |
? | ? |
ext2 | 古い 速い |
Ext2Fsdを使えばWindowsからアクセスできる 削除したファイルを復元できる(R-Linux) |
古い fallocate非対応 |
ext3 | 枯れてる 速度はそこそこ |
Ext2Fsdを使えばWindowsからアクセスできる 削除したファイルを復元できる(Ext4magic・R-Linux・extundelete) |
fsckが遅い fallocate非対応 |
ext4 | 全体的に結構速そう バグ多そう |
Ext2Fsdを使えばWindowsからアクセスできる 削除したファイルを復元できる(Ext4magic・R-Linux・extundelete) 色んなディストリのデフォルトファイルシステムなので安心感がある サイズの小さいファイルは結構断片化しにくい fallocate対応 |
ext3よりfsckが速くなっているが、それでも容量が増えると時間がかかる 128MBを超えるような大きなファイルを対象としたfallocateの性能がイマイチで断片化しまくり 遅延確保の性能がイマイチなので大きなファイルは断片化しまくり |
JFS | ? | ? | ? |
NTFS | 共有用 倉庫用 |
Linuxからも読み込めるし、書き込める |
Linuxから書き込むのは今でも何かちょっと不安 Linuxからだと読み書きの速度がちょっと遅い |
ReiserFS | 枯れてる | サイズの小さいファイルに強いらしい? | 今あえてコレを選ぶ理由が分からない |
Reiser4 | ? | ext3よりは速いらしい | ? |
XFS | 倉庫用 バグ多そう |
サイズの大きなファイルに強い シーケンシャルアクセスが速い ファイルが断片化しにくい fallocate対応かつ精度が高い ダイレクトI/Oの性能が良い 削除したファイルは復元不可能らしい |
ランダムアクセスが遅いらしい ファイルやフォルダの作成/削除が遅いらしい 昔nfsと組み合わせると駄目とかいうのどこかで見た気がする。もう直ってるかもしれないが。 クラッシュ時の復旧が難しそう 削除したファイルは復元不可能らしい |
で、どんな人がどのファイルシステムを使うべきなのか考えるとこうなる。
対象 | ファイルシステム |
---|---|
新しもの好き | Btrfs |
安定志向 | ext2/ext3 |
デフォルトのでいいじゃん派 | ext4 |
マルチブート派 | NTFS |
断片化嫌い デフラグ好き 128MBよりも大きなファイルを沢山持っている人 |
XFS |
上級者 | Btrfs/JFS/NTFS/ReiserFS/Reiser4/XFS |
やっぱext4は最強だわ。私は/とバックアップ用外付けHDDはext4、ローカルのデータ置き場はXFSにしようと思う。ってかしてる。あとタイトルは釣り。