MIRACLE

メールサービス申込 ユーザー登録&ログイン パートナー情報
お問い合わせ FAQ サイトマップ
MIRACLE LINUXの特長 製品紹介 サービス案内 購入 サポート 技術フォーラム

テクノロジー情報


Linux技術トレーニング 基本管理コース I

第3章 ディスク管理とファイルシステム

3. ファイルシステム(ext3、ReiserFS、XFS)
3-1. パーティション
  • ファイルシステムは、OSがファイルを管理するための枠組み。
  • MIRACLE LINUXでは、以下のファイルシステムが利用可能
    • ext3
    • RaiserFS
    • XFS
  • ファイルシステムは、以下の手順で作成
    • ファイルを作成したいパーティションに対して、ファイルシステム作成
    • ファイルシステムを作成したパーティションを使用できるようにマウント
    • システム起動時に自動的にファイルシステムをマウントする時は「/etc/fstab」に記述

ファイルシステム

/sbin/fdiskでパーティションを作成しただけでは、そのパーティションを使用することはできません。OSがそのパーティションを利用するためには、そのパーティション上にファイルシステムを作成し、マウントする必要があります。ファイルシステムとは、OSがファイルを管理するための枠組みであり、MIRACLE LINUXでは、ext3、XFS、ReiserFSなどのファイルシステムが利用できます。

ジャーナリング

ext3、XFS、ReiserFSは、ジャーナリングファイルシステムと呼ばれ、ジャーナルと呼ばれるデータ構造を持つことでファイルシステムの信頼性を向上させます。ジャーナルとは、ファイルシステムの変更に対する操作を、あらかじめ準備された領域にログとして記録することを意味します。
ファイルシステム・ドライバーがメタデータに変更を加える前に、ドライバーは、これから行おうとしている処理をジャーナルに書き込みます。その後で、作業を続行してメタデータを修正します。この仕組みにより、ファイルシステムは、メタデータの最近の修正履歴を保持し、適切にアンマウントされなかったファイルシステムの修復する際に、fsckを行う代わりにこの修正履歴を使用します。
ext3ファイルシステムでは、オプションの指定で、メタデータだけではなく、実データの修正履歴をも保持することができます。その分、書き出しの際のオーバーヘッドがかかることになります。


3-2. ext3 ファイルシステム
  • これまでに実績のある ext2 ファイルシステムにジャーナリング機能を追加したファイルシステム
    • ext2ファイルシステムがマウント状態でジャーナリング機能を追加できる(ext3へ変換)
      # /sbin/tune2fs -j デバイスファイル
  • ジャーナル情報として、メタデータと実データの両方を保存する
    • システム障害時のデータの紛失を最小限に抑える
    • 実データのジャーナリングによるオーバーヘッドがかかる
    • 「物理ジャーナリング」:変更前ブロックをそのまま保有する
    • 「data=order」マウント・オプションでメタデータとブロックへのトランザクション情報のみをジャーナリング

ext3ファイルシステム

ext3ファイルシステムは、Linuxの初期段階から利用されてきたext2ファイルシステムに、ジャーナリング機能を追加したファイルシステムです。ext3ファイルシステムは、ext2ファイルシステムと下位互換であり、既存のext2ファイルシステムをext3ファイルシステムに変更したり、ext3ファイルシステムをext2ファイルシステムとして利用したりすることが簡単にできます。


  • ファイルシステム作成
    # /sbin/mkfs -t ext3 /dev/sdd1
    
  • ext2からの変換
    # /sbin/tune2fs -j /dev/sda3
    
  • ラベルの作成・確認
    # /sbin/e2label /dev/sda3 “miracle1”
    # /sbin/e2label /dev/sda3
    miracle1
    
  • マウント
    # /bin/mount -t ext3 /dev/sda3 /mnt/miracle1
    
  • /etc/fstabの設定
    LABEL=miracle1 /mnt/miracle1 ext3 defaults 0 0
    

3-3. ReiserFS ファイルシステム
小さい大量のファイルを効率的に扱うのが得意
  • B*-Tree を使用し、葉ノードにinodeと実データを含める
    • 1度のI/Oでinodeからデータまでを読み取れる
  • データを効率よく管理する
    • ファイルの末尾の1ブロックに満たない領域を集め、一つのブロックとして使用する
  • inodeを動的に割り当てる
    • inodeの数量制限を受けない
  • メタデータのみのジャーナリング
  • dump, restore コマンドがない
    • 対応するツールが少ない

ReiserFSファイルシステム

ReiserFSファイルシステムはHans Reiser氏が中心に開発したジャーナリングファイルシステムです。バランスドツリー(B*-Tree)と呼ばれる構造を採用し、高速な処理を実現しています。特にディレクトリ内に大量のファイルが存在するような処理では、その効果が顕著に現れます。

  • ファイルシステム作成
    # /sbin/mkfs -t reiserfs /dev/sda5
    
  • マウント
    # /bin/mount -t reiserfs /dev/sda5 /mnt/miracle3
    
  • /etc/fstabの設定
    /dev/sda5 /mnt/miracle3 reiserfs defaults 0 0
    

3-4. XFSファイルシステム
大規模データファイルの扱いに優れている
  • B+-Tree を使用し、フリーブロックの検索も行う
    • 大きな空き領域の高速アクセスが可能
  • データの管理を複数ブロック「エクステント」で行う
    • 少ないアドレッシングで大きなデータを扱える(メタデータの節約)
  • ResierFSより優れたメタデータのみのジャーナリング
    • 頻繁にメタデータの書き出しを行う
  • ACL(Access Control List)機能をデフォルトで搭載
    • 一般ユーザが、ユーザ単位でファイルへのアクセス制御の管理を行える

XFSファイルシステム

XFSファイルシステムは、SGI社がIRIX OSで利用していたファイルシステムをLinuxに移植し、GPLライセンスで公開したジャーナリングファイルシステムです。XFSファイルシステムは、バランスドツリー(B+-Tree)と呼ばれる構造を用いて実装されており、大規模ファイル、大規模ディレクトリの扱いに優れたパフォーマンスを発揮します。

  • ファイルシステム作成
    # /sbin/mkfs -t xfs /dev/sda4
  • ファイルシステム作成と共にラベル作成
    # /sbin/mkfs -t xfs -L “miracle2” /dev/sda4
  • ラベルの作成・確認
    # /usr/sbin/xfs_admin -L “miracle2” /dev/sda4 
    # /usr/sbin/xfs_admin -l /dev/sda4
    label = "miracle2" 
    
  • マウント
    # /bin/mount -t xfs /dev/sda4 /mnt/miracle2
  • /etc/fstabの設定
    LABEL=miracle2 /mnt/miracle2 xfs defaults 0 0

3-5. ext3,ReiserFS,XFSの比較
ext3 ReiserFS XFS
ファイルシステムの最大サイズ 16Tバイト 16Tバイト 16Eバイト
ファイルの最大サイズ 4Tバイト 16Tバイト 16Tバイト
ジャーナリング対象 メタデータ、データ メタデータ メタデータ
ACL あり なし あり
オンラインリサイズ なし あり あり
基本アルゴリズム 通常のブロックアルゴリズム B*-ツリー B+ツリー
スパースファイルサポート なし あり あり
エクステント方式 なし なし あり
特徴 安定している。データまでジャーナリング対象にできるので、信頼性が高い 小さいファイルを高速に扱うことができる 大規模ファイルシステムの構築に向いている

3-6. ファイルシステムのマウント
  • マウントとは、ファイルシステムをOSの管理下に配置し、ユーザから使用可能な状態にすること
  • /bin/mountコマンドを使用
# /bin/mount /mnt
# /bin/mount /dev/hda5 /mnt

/bin/mount

/bin/mountコマンドにて、ファイルシステムをOSの管理下に配置し、実際にユーザから使用できる状態にします。

コマンド形式)
  • /etc/fstabに登録済みの場合
    # /bin/mount <マウント・ポイント>
    
  • 例)/etc/fstabに、/mntに関する情報が登録されている場合
    # /bin/mount /mnt
    
  • /etc/fstabに未登録の場合
    # /bin/mount <デバイスファイル名> <マウントポイント>
    
  • 例/dev/hda5に作成したファイルシステムを/mntにマウントする場合
    # /bin/mount /dev/hda5 /mnt
    

3-7. /etc/fstabファイル
起動時に自動的にマウントするファイルシステムを定義する設定ファイル
# This file is edited by fstab-sync - see 'man fstab-sync' for details
LABEL=/         /            ext3       defaults           1 1
LABEL=/boot1    /boot        ext3       defaults           1 2
none            /dev/pts     devpts     gid=5,mode=620     0 0
none            /dev/shm     tmpfs      defaults           0 0
none            /proc        proc       defaults           0 0
None            /sys         sysfs      defaults           0 0
LABEL=SWAP-hda2  swap        swap       defaults           0 0

/etc/fstab

/etc/fstabファイルは、起動時に、OSの管理下に自動的に配置するファイルシステムについて設定するファイルです。このファイルは、スペース、あるいはタブで区切られた以下の6つのフィールドから構成されています。

フィールド番号 説明
1 マウント対象となるデバイス名、あるいはラベル名
2 マウントポイントとなるディレクトリ
3 ファイルシステムタイプ
4 マウント時のオプション
5 0: dumpコマンドの非対象
1: dumpコマンドの対象
6 0: boot時fsck対象外
1: rootファイルシステム
2: boot時fsck対象

3-8. 使用中のファイルシステムの確認
  • マウント済みのファイルシステムについて使用状況を確認する。
  • /bin/dfコマンドにて確認
# /bin/df -h

Filesystem          サイズ  使用  残り 使用% マウント位置
/dev/hda3              20G  3.3G   16G  18% /
/dev/hda1             122M   11M  105M  10% /boot
    
    (以下省略)

/bin/df

dfコマンドにて、現在使用中のファイルシステムについて、以下の情報を得ることができます。

  • ファイルシステムを構築し、マウントしているパーティション
  • 容量
  • 使用済み容量
  • 使用可能容量
  • 使用率
  • マウントポイント
/bin/dfコマンドの代表的なオプション

-hオプション:
それぞれのサイズに、K/M/Gのようなサイズ文字を付加します。例えばメガバイトなら M のようなサイズ文字を付加します。10 の累乗ではなく 2 の累乗を用いるので、 M は 1,048,576 バイトを表すことになります。


3-9. ファイルシステムのアンマウント
  • 使用しなくなったファイルシステムをOSの管理下から切り離す。
  • /bin/umountコマンドを使用する。
# /bin/umount /mnt

/bin/umount

/bin/umountコマンドにて、使用しなくなったファイルシステムをOSの管理下から切り離します。/bin/umountコマンドを実行する場合、マウント中のファイルシステムを使用しているプロセスがないことを確認する必要があります。もし、そのようなプロセスが存在する場合は、アンマウントの処理はエラーとなります。

  • コマンド形式)
    # /bin/umount <マウント・ポイント>
    
  • 例)/home/miracleにマウントされているファイルシステムをアンマウントする場合
    # /bin/umount /home/miracle
    

第3章 2へ 第3章 4へ

■この資料の評価をお願いします。
とても参考になった
参考になった
どちらでもない
あまり参考にならなかった
まったく参考にならなかった

コメントがある場合は以下に記述してください。技術資料として取り上げてほしいテーマも受け付けています。

以下は任意です。

お名前(フルネーム) :
会社名 :
メールアドレス :
 

会社情報 採用情報 個人情報保護方針 情報セキュリティ基本方針 商標等取り扱い事項 English
Copyright(c)2000-2015 MIRACLE LINUX CORPORATION. All Rights Reserved.