Ubuntu Linux 30日間:16日目
WindowsのデフォルトのファイルシステムはNTFSですが、Ubuntu LinuxのデフォルトのファイルシステムはEXT4です。本日の「30 Days With Ubuntu Linux」の記事では、その違いを理解し、気にするべきかどうかを検討します。
「30 Days With Ubuntu Linux」シリーズの初期の頃、Wubi.exeを使ってWindowsにUbuntuをインストールしたという事実に異議を唱えるコメントがいくつかありました。その主な理由の一つは、UbuntuをEXT4ではなくNTFSでフォーマットされたドライブから実行していたことです。

何が問題なのでしょう?理論上は、EXT4ドライブはNTFSドライブよりもパフォーマンスが優れているのですが、コメント投稿者は、私がパフォーマンスが標準以下だと判断したとしても、それをドライブフォーマットの問題として認識するのではなく、Ubuntuの問題だと判断してしまうのではないかと懸念していました。
興味があれば、Wikipedia に NTFS と EXT4 を含む様々なファイル形式の非常に複雑で詳細な比較記事がありますので、ぜひご覧ください。簡単に言うと、EXT4 ではファイル名に '?'、':'、'*' など、NTFS では使用できない文字を使用できます。もちろん、「EXT4:パフォーマンスが優れている理由」というファイル名が付けられるからといって、実際に EXT4 のパフォーマンスが優れているわけではありません。
EXT4は、最大16テラバイトのファイルと、最大1エクサバイトのボリュームをサポートできます。しかし、EXT4のパフォーマンス向上に貢献する要素の一つは、より大きなエクステント(連続した物理データブロックの範囲)を扱えることです。これにより、大容量ファイルへの対応力が向上し、ドライブの断片化を軽減できます。
その他の要因としては、EXT4で使用されているメモリ割り当て(allocate-on-flush)技術が挙げられます。データがディスクに書き込まれる準備ができるまでデータブロックの割り当てを遅らせることで、EXT4はブロックを早期に割り当てるファイルシステムと比較してパフォーマンスを向上させ、断片化を軽減します。
ドライブジャーナリングにチェックサムを使用すると、ジャーナリング処理中にディスクの待機時間が回避されるため、信頼性とパフォーマンスが向上します。ファイルチェックに関しては、EXT4の方が高速です。これは、未割り当てのデータブロックが未割り当てとしてマークされ、ディスクチェック操作中にスキップされるためです。
とはいえ、特に大きな違いを感じたとは言えません。Ubuntu Linuxは、Wubi.exeを使ってNTFSで実行した場合も、EXT4でネイティブ起動した場合もほぼ同じパフォーマンスでした。パフォーマンスの違いは主に理論上のものであり、実際のパフォーマンスはハードウェア、ドライブのブロックサイズの設定方法、そしてデータによって異なります。
Linux は NTFS パーティションと EXT4 パーティションの両方を読み取ることができるため、Windows ドライブ上のフォルダーから直接音楽ファイルを開いたり、このドキュメントのようなファイルを、再起動したり外付けサムドライブを使用したりせずに Windows の通常のドキュメント フォルダーに保存したりできます。
最後に、少し関連のある補足情報をお伝えします。EXT4はNTFSよりもパフォーマンス面で優れているかもしれませんが、LibreOfficeでデフォルトで使用されているODTファイル形式には注意が必要です。ODTファイルは、同等のDOCXファイルよりも約5倍も大きくなります。このファイルを両方の形式で保存してみましたが、ODTファイルは28.7KBですが、DOCXファイルはわずか5.9KBです。
数百メガバイト、あるいはテラバイト規模のドライブでは、数KB程度のデータ量など気にするほど些細なことに思えるかもしれません。しかし、数千ものファイルを扱う組織にとって、これらのKB数は積み重なって大きなものとなり、全く同じデータのために5倍ものストレージ容量を購入したり維持したりしたい組織はまずありません。
前回の「30日間」シリーズを読む: Googleドキュメントで30日間
15日目: Ubuntu One によるクラウド同期とストリーミング
17日目: トップパネルの探索