2011918

兵ちゃん

第10回 Linuxのファイルシステムについて

兵ちゃんの研究室へ戻る

 

 みなさんが使っているMS Widowsでフォルダ(ディレクトリ)やファイルを使っています。Linux(リナックス)でも同じようにフォルダ(ディレクトリ)、そしてファイルが同じように使われています。しかも、どちらもフォルダ(ディレクトリ)やファイルの事、そしてフォーマットされたディスクのことも含めてファイルシステムと言っています。今回はLinuxと言っても沢山種類がありますが、一般的に使われているフォルダ(ディレクトリ)話、そしてLinuxで変わっていると思った点について紹介したいと思います。


1.Linuxのフォルダ(ディレクトリ)

 Linuxのフォルダ(ディレクトリ)/(ルートという)を一番上にしてその下にそれぞれの用途ごとフォルダ(ディレクトリ)が作られています。Linuxは種類が多く、Linuxごと少しずつ使われているフォルダ(ディレクトリ)が違いますが一般的につぎの図のようになっています。


















 考え方としては、MS WindowsやDOSでは一番上が「C:¥」ですがLinuxでは一番上が「/(ルート)」になります。そしてルートの下にそれぞれに分けられたフォルダが作られていて、その中に各種ファイルが格納されています。

 あと、昔からパソコンをやっている人は気がついたかもしれませんが・・・Linuxでは、DOSの頃の用語がよく使われています。というのは正しくは、UNIX(ユニックス)を源流とする、UNIX→DOS→MS WindowsUNIX→Linuxの流れがあります。用語はUNIXからそれぞれ採用されて使われています。従って全部ではありませんがDOSMS Windowsで使われていた用語がLinuxでも使われているものがあります。


2.Linuxで変わっているところ

 Linuxで変わっているところと言えばハードウェアの扱い方が違う点です。MS Windowsでは、ハードウェアはデバイスとして扱われていますが、Linuxではハードウェアはファイルとして扱われています。Linuxがインストールされたパソコンではシステムのほぼ全装置を「デバイスファイル」という特殊なファイルとして扱われています。

 あと、USBメモリ、CD-ROMDVD-ROMやネットワーク上のフォルダ等にアクセスするのにマウントという操作が行われます。今は、コマンドを叩かなくても自動的にマウントされて、あまり気にせずに扱う事ができます。マウントとはLinuxで読み取りや書き込みがなどができる状態にすることでマウントポイントと呼ばれるディレクトリの下に接続されますちなみにMS Windowsでも「マウント」と言う用語が使われています。


3.ディスクのパーテーションについて

 Linuxで扱えるフォーマットは次の表のとおりです。MS Windowsとは違い沢山の種類に対応しています。


特徴

推奨される用途

Ext2

初期のLinuxディストリビューションでは主にデフォルトのファイルシステムとして採用されていた。現在ではすでにExt3Ext4によってそのポジションは取って代わられているが、ソリッドステートデバイスやUSBメモリでは今でもよく採用されている。Ext2にはジャーナル機能がないため、その分読み書きが少なく、SSDといったデバイスの寿命に良いと考えられている。

USBメモリやSSDなど。または、少ない読み書きで高い安定性が求められるケースで採用できる。

Ext3

Ext2にジャーナル機能を追加したファイルシステム。すでにかなり成熟してよくサポートされており、デスクトップOSとして必要とされる機能をすべて含んでいる。

ほかのファイルシステムを使いたい理由が特にないのであれば、採用するのにもっとも適したファイルシステム。

Ext4

Ext3に対して大規模ファイルシステムサポート、高速チェック機能、ナノセカンドタイムスタンプ、チェックサムを使ったジャーナルの検証といった改善が盛り込まれたファイルシステム。Ext2およびExt3と互換性があるためExt2Ext3のファイルシステムをExt4としてマウントして使うこともできる(ただし、古いバージョンをマウントした場合はいくつかの新機能は利用できない)。最新のLinuxディストリビューションではインストール時にExt4の採用を選択できたり、またはデフォルトファイルシステムとして採用されている。

デスクトップおよびサーバで採用するにはすでに安定した候補。ディストリビューションが同ファイルシステムを提供しているなら、採用するのもいい選択といえる。

Reiser3

Ext3が登場する前のLinuxで使える代表的なジャーナリングファイルシステム。動的にファイルシステムのサイズの変更が可能で、特に小さいファイルを大量に扱うケースではExt3と比較しても素晴らしい性能を発揮する。半面、マルチコアのような環境では性能がスケールしないという問題もある。

シングルコアシステムで小さいファイルをインタラクティブに利用するようなケースに適している。

Reiser4

Reiser3の問題を解決することに注力して開発されたファイルシステム。パフォーマンスの向上、圧縮や暗号化を可能にするプラグイン機能などが実現されている。ただし、依然としてLinuxカーネルに取り込まれる見通しがなく、今後もどうなっていくかが不透明な状況にある。このため長期の採用には検討が必要。

ファイルシステムの試験や開発目的。

XFS

I/Oレートの保証、動的なファイルシステムサイズの変更、クォート機能、8エクサバイトのサポートなど多くの機能をサポートしたファイルシステム。2001年からLinuxで採用されており、すでにさまざまなLinuxディストリビューションにおいて選択肢として提供されている。ブロックサイズの変更もできるなど、ファイルシステムをチューニングしたい場合には優れた選択肢。

要求に合うようにファイルシステムをチューニングしたい場合には特に優れた候補。

Btrfs

開発段階にあるファイルシステム。いつかのLinuxディストリビューションではインストール時に選択できるようになっているものの、プロダクションサーバユースで採用するといった段階にはない。透過的な圧縮、スナップショット機能、クローン機能などいくつもの機能がある。完成した日にはデスクトップユースにもサーバユースにも強力な候補となりうる。

いずれはサーバユースや高負荷が要求されるストレージデバイスにおけるファイルシステムとして採用される見込み。

FAT16

フロッピーディスクで使われた。当然、Linuxでマウントして使うことが可能です。

フロッピーディスク

FAT32

MS WindowsをはじめUSBメモリの標準フォーマットであるが単一のファイルサイズが4GBまでしか扱えない。当然、Linuxでマウントして使うことが可能です。

USBメモリ

NTFS

現在のMS Windowsで標準として使われている。当然、Linuxでマウントして使うことが可能です。

ハードディスクやUSBメモリ等



 これで、Linuxのファイルシステムについて「Linuxではこうなっているんだ〜」とおおよそ解かってもらえれば幸いです。






参考URL

日経BPパソコンベストムック 日経Linux編 この一冊でLinuxがイチからわかる

Linuxファイルシステムまとめ http://journal.mycom.co.jp/news/2010/04/15/058/index.html


その他・・・色々

3