Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第3章 XFS ファイルシステム

XFS は、当初 Silicon Graphics, Inc. で設計されていた、スケーラビリティーが高く高性能なファイルシステムです。XFS は、Red Hat Enterprise Linux 7 のデフォルトファイルシステムです。
XFS の主な機能
  • XFS は、メタデータジャーナリングをサポートします。これにより、クラッシュに対するより迅速な復元が容易になります。
  • XFS ファイルシステムは、マウントおよびアクティブな間にデフラグし、拡大できます。
  • さらに、Red Hat Enterprise Linux 7 は、XFS 固有のバックアップおよび復元ユーティリティーに対応しています。
割り当て機能
XFS は、次の割り当てスキームを特長としています。
  • エクステントベースの割り当て
  • ストライプを認識できる割り当てポリシー
  • 遅延割り当て
  • 領域の事前割り当て
遅延割り当ておよびその他のパフォーマンスの最適化は、ext4 と同様に XFS に影響します。そして、プログラムが fsync() 呼び出しを発行しない限り、XFS ファイルシステムへのプログラムの書き込みはディスク上の保証はありません。
ファイルシステム(ext4 および 割り当て機能 5章ext4 ファイルシステム
注記
ファイルの作成および拡張は、ディスク領域が十分にある場合でも、予期しない ENOSPC 書き込みに失敗することがあります。これは、XFS のパフォーマンス指向の設計が原因です。実際には、残りのスペースがいくつかのブロックのみである場合に限り問題が発生することはありません。
その他の XFS 機能
XFS ファイルシステムは、以下にも対応しています。
拡張属性 (xattr)
これにより、システムは、ファイルごとに、名前と値の組み合わせを追加で関連付けられるようになります。これはデフォルトで有効になっています。
クォータジャーナリング
これにより、クラッシュ後に行なわれる時間がかかるクォータの整合性チェックが不要になります。
プロジェクト/ディレクトリーのクォータ
ディレクトリーツリー全体にクォータ制限を適用できます。
サブセカンド(一秒未満)のタイムスタンプ
これにより、タイムスタンプがサブ秒に戻ることができます。
デフォルトの atime 動作は、
relatime は、XFS ではデフォルトでオンになっています。スタップタイムの値を維持しながらも 、noatime にはほぼオーバーヘッドがありません。

3.1. XFS ファイルシステムの作成

  • XFS ファイルシステムを作成するには、次のコマンドを使用します。
    # mkfs.xfs block_device
    • block_device を、ブロックデバイスへのパスに置き換えます。たとえば、/dev/sdb1、/dev/disk/by-uuid/05e99ec8-def1-4a5e-8a9d-5945339ceb2a、または /dev/my-volgroup/my-lv です
    • 通常、デフォルトのオプションは、一般的な使用に最適なものです。
    • 既存のファイルシステムを含むブロックデバイスで mkfs.xfs を使用する場合は、そのファイルシステムを上書きする -f オプションを追加します。

例3.1 mkfs.xfs コマンドの出力

以下は、mkfs.xfs コマンドの出力例です。
meta-data=/dev/device            isize=256    agcount=4, agsize=3277258 blks
         =                       sectsz=512   attr=2
data     =                       bsize=4096   blocks=13109032, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal log           bsize=4096   blocks=6400, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
注記
XFS ファイルシステムの作成後、サイズを縮小することはできません。ただし、xfs_growfs コマンドを使用して拡大することもできます。詳細は、「XFS ファイルシステムのサイズの拡大」

ストライプ化ブロックデバイス

ストライプ化されたブロックデバイス(RAID5 アレイなど)の場合は、ファイルシステムの作成時にストライプジオメトリーを指定できます。適切なストライプジオメトリーを使用すると、XFS ファイルシステムのパフォーマンスが大幅に強化されます。
LVM ボリュームまたは MD ボリュームにファイルシステムを作成する場合は、mkfs.xfs で最適なジオメトリーを選択します。これは、ジオメトリー情報をオペレーティングシステムにエクスポートする一部のハードウェア RAID でも当てはまります。
デバイスがストライプジオメトリー情報をエクスポートすると、mkfs ユーティリティー(ext3、ext4、xfs)はこのジオメトリーを自動的に使用します。mkfs ユーティリティーでストライプジオメトリーが検出されず、実際にはストライプジオメトリーがある場合、以下のオプションを使用してファイルシステムを作成するときに手動で指定できます。
su=value
ストライプユニットまたは RAID チャンクサイズを指定します。値はバイト単位で指定する必要があります。オプションの km、または g 接尾辞を使用します。
sw=value
RAID デバイス内のデータディスク数、またはストライプ内のストライプユニット数を指定します。
以下の例では、4 つのストライプユニットを含む RAID デバイスで、チャンクサイズ 64k を指定します。
# mkfs.xfs -d su=64k,sw=4 /dev/block_device

関連情報

XFS ファイルシステムの作成方法は、以下を参照してください。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。