
〜 ファイルシステム/ボリューム管理機能の進化 〜
カーネル2.4ではext3やLVMが取り込まれたが、カーネル2.6ではさらなる進化を遂げようとしている。新ファイルシステムやネットワークファイルシステム、LVM2はLinuxに何をもたらすのだろうか?(編集局)
加藤丈治
富士通 ファームウェア開発推進統括部開発部
2003/3/11
第1章、第2章と続いたカーネル2.6の概要も、これで3回目です。今回は、新ファイルシステムやボリューム管理機能など、ストレージ関係に焦点を当てて解説します。
ファイルシステムの機能強化
ファイルシステム関連では、以下の機能が追加されています。
- 商用ファイルシステムのサポート
- ACLのサポート
- ネットワークファイルシステムの強化
■商用ファイルシステムのサポート
カーネル2.6では、ReiserFS/ext3などLinux独自のジャーナリングファイルシステムに加え、XFSとJFS(Journaled File System)という商用ファイルシステムが標準カーネルに取り込まれます。
XFSはSGIのIRIX、JFSはIBMのAIXやOS/2で利用されているファイルシステムです。どちらも商用利用実績のある、大規模ストレージ向けのファイルシステムであり、総じて次のような特徴を持っています。
●ジャーナリングファイルシステム
ファイルシステムへの操作をジャーナルとしてディスク上に保存し、後からリプレイすることで停電などによるファイルシステムの一貫性異常を回避できます。XFS/JFSは、ファイルシステムの管理情報(メタデータ)のジャーナリングだけを行います。これにより、再起動時のファイルシステムチェックを回避でき、システムの起動時間の短縮が図れます。
●大規模ストレージ対応
4Tbytes以上の大きさのファイルシステム(パーティション)を作成できるため、大容量データを扱うようなシステムで使用することが可能です。カーネル2.6はブロックI/Oの改善(編注)も行われて大容量ファイルシステムを構築できるようになったので、商用ファイルシステムの大容量ストレージ機能をフルに活用できます。
| 編注:詳しくは、全貌を現したLinuxカーネル2.6[第1章]を参照。 |
●大容量ファイルサイズ対応
ビデオ配送システムやビデオキャプチャシステムの普及に伴い、ファイルサイズは年々増大化する傾向にあります。XFS/JFSは4Tbytes以上のファイルサイズをサポートしており、大規模データベースやHDDレコーダ、動画配信などの分野での利用が期待できます。
●Posix ACLや拡張属性のサポート
Posixで規定されているACL(Access Control List:後述)や拡張属性など、商用UNIXで一般に利用されている機能を使用することができます。これにより、商用UNIXを前提にこれらの機能を使用しているシステムをLinuxに移行させることも可能となります。
●オンラインリサイズ機能のサポート
ファイルシステムがあるパーティションのサイズをシステム実行中に変更する機能をオンラインリサイズといいます。現在はXFSでオンラインリサイズ機能が利用可能です。ほかのファイルシステム(JFS/ext2/ext3)でも、同機能のサポートが予定されています。
ext3/ReiserFS/JFS/XFSの各ファイルシステムの機能比較を表1に示します。
| ext3 | ReiserFS | JFS | XFS | |
| ジャーナリング対象領域 | メタデータ + データ |
メタデータ + データ (対応予定) |
メタデータ | メタデータ |
| ファイルシステムの最大サイズ | 16Tbytes | 16Tbytes | 4Pbytes | 16Ebytes |
| ファイルの最大サイズ | 4Tbytes | 16Tbytes | 16Tbytes | 16Tbytes |
| ACL/拡張属性の使用 | 可 | 不可 | 可 | 可 |
| オンラインリサイズ | 対応予定 | なし | 対応予定 | あり |
| 表1 カーネル2.6におけるジャーナリングファイルシステムの比較 | ||||
■Posix ACLのサポート
カーネル2.6から、ext2/ext3/JFS/XFSの各主要ファイルシステムでPosix ACLがサポートされます。ACLは、WindowsやAIX、Solaris、IRIXなどの商用OSではすでに一般的に利用されており、エンタープライズ分野で使用するうえで必須の機能といえます。
ACLとは、任意のユーザーに任意のアクセス権を設定するアクセス制御機能です。これは、ファイルにアクセス可能なユーザー(またはグループ)とユーザーに認可されるアクセス権の組からなるリストをファイルシステム内に保持することで実現します。カーネルは、アクセス要求とACLに含まれるユーザーのアクセス権を比較し、アクセスの可否を決定します。
従来のLinuxは、古典的なUNIXと同様に、Owner/Group/Public制御によるアクセス制御しかできませんでした。これは、ファイルにアクセスするユーザーを以下の3種類に分類し、それぞれに対して認可する手段を設定するものです。
- ファイルの所有者(Owner)
ファイルを作成したユーザーまたはchownコマンドなどによりファイルの所有者として設定されたユーザー。
- ファイルが所属するグループ(Group)
ファイルのグループ属性で指定されたグループのメンバー。
- そのほかのユーザー(Other)
ファイルの所有者でもファイルが所属するグループのメンバーでもないユーザー。
Owner/Group/Public制御では、ファイルの所属グループが1つしかないため、任意のユーザーに対して異なる認可を与えることができないという問題があります。
それに対してACLを用いたアクセス制御では、(従来、Otherに属していたユーザーを含め)任意のユーザーに任意のアクセス権を設定することが可能となります(図1)。これにより、従来よりも複雑なセキュリティ方針に基づくアクセス制御を実現できるようになります。
![]() |
| 図1 従来のパーミッションとACL |
●ext3ファイルシステムでの利用例
ext3ファイルシステムでACLを利用する場合を例に、具体的な設定方法を紹介します。ext3ファイルシステムでACLを設定するには、getfacl/setfaclコマンド(注)を用います。
| 注:これらのコマンドはfile-utilsに統合される予定です。 |
例えば、ユーザーgeorgeに対してfile1.txtの読み書きを許可する場合、setfaclコマンドを以下のように実行します。
$ setfacl -m u:george:rw file1.txt |
ACLの参照には、getfaclコマンドを用います。
$ getfacl file1.txt |
| 第2章へ |
1/2
|
|
||||
|
||||
| Linux Square全記事インデックス |
| Linux Squareフォーラム Linuxカーネル関連記事 |
| 連載:Linux Kernel Watch(連載中) Linuxカーネル開発の現場ではさまざまな提案や議論が交わされています。その中からいくつかのトピックをピックアップしてお伝えします |
|
| 連載:Linuxファイルシステム技術解説 ファイルシステムにはそれぞれ特性がある。本連載では、基礎技術から各ファイルシステムの特徴、パフォーマンスを検証する |
|
| 特集:全貌を現したLinuxカーネル2.6[第1章] エンタープライズ向けに刷新されたカーネル・コア ついに全貌が明らかになったカーネル2.6。6月に正式リリースされる予定の次期安定版カーネルの改良点や新機能を詳しく解説する |
|
| 特集:/procによるLinuxチューニング[前編] /procで理解するOSの状態 Linuxの状態確認や挙動の変更で重要なのが/procファイルシステムである。/procの概念や/procを利用したOSの状態確認方法を解説する |
|
| 特集:仮想OS「User
Mode Linux」活用法 Linux上で仮想的なLinuxを動かすUMLの仕組みからインストール/管理方法やIPv6などに対応させるカーネル構築までを徹底解説 |
|
| Linuxのカーネルメンテナは柔軟なシステム カーネルメンテナが語るコミュニティとIA-64 Linux IA-64 LinuxのカーネルメンテナであるBjorn Helgaas氏。同氏にLinuxカーネルの開発体制などについて伺った |
|
|
TechTargetジャパン
- 新しい記事も入っていて安心しました (2012/2/7)
Linux Squareのアクセスランキングを公開します。定番の記事ばかりでなく、連載中の記事もよろしくお願いいたします - エラーメッセージをどう扱うか? (2012/2/2)
今回は、スクリプト実行時にエラーが発生したことを知らせるメッセージの扱い方を説明します - ファイルのアップロードを制限する (2012/1/30)
HTTPクライアントがアップロードしてくるファイルの扱いについて解説します。そもそも受け入れる必要があるのか? ということのほかにも、いろいろ設定が必要です - OSに付属するシェルスクリプトを読んで技術を盗む (2012/1/27)
シェルスクリプトマスターに近づくには、他人から技術を盗まなければならない。OS付属のスクリプトから技術を盗もう
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -

