Red Hat Training

A Red Hat training course is available for RHEL 8

第25章 ext4 ファイルシステムの使用

システム管理者は、ext4 ファイルシステムの作成、マウント、サイズ変更、バックアップ、および復元が可能です。ext4 ファイルシステムは、ext3 ファイルシステムの拡張性を高めたファイルシステムです。Red Hat Enterprise Linux 8 では、最大 16 テラバイトの個別のファイルサイズと、最大 50 テラバイトのファイルシステムに対応します。

25.1. ext4 ファイルシステムの機能

以下は、ext4 ファイルシステムの機能です。

  • エクステントの使用 - ext4 ファイルシステムはエクステントを使用します。これにより、サイズが大きいファイルを使用する場合のパフォーマンスが向上し、サイズが大きいファイルのメタデータのオーバーヘッドが削減されます。
  • ext4 は、未割り当てのブロックグループと、inode テーブルセクションに適宜ラベルを付けます。これにより、ファイルシステムのチェック時に、ブロックグループとテーブルセクションをスキップできます。ファイルシステムのチェックが簡単に行われ、ファイルシステムがサイズが大きくなるとより有益になります。
  • メタデータチェックサム - この機能は、デフォルトでは Red Hat Enterprise Linux 8 で有効になっています。
  • 以下は、ext4 ファイルシステムの割り当て機能です。

    • 永続的な事前割り当て
    • 遅延割り当て
    • マルチブロック割り当て
    • ストライプ認識割り当て
  • 拡張属性 (xattr) - これにより、システムは、ファイルごとに、名前と値の組み合わせを追加で関連付けられるようになります。
  • クォータジャーナリング - クラッシュ後に行なわれる時間がかかるクォータの整合性チェックが不要になります。

    注記

    ext4 で対応しているジャーナリングモードは data=ordered (デフォルト) のみです。詳細は、「EXT ジャーナリングオプション "data=writeback" は RHEL でサポートされますか?」を参照してください。ナレッジベース記事。

  • サブセカンド (一秒未満) のタイムスタンプ - サブセカンドのタイムスタンプを指定します。

関連情報

  • man ページの ext4

25.2. ext4 ファイルシステムの作成

システム管理者は、mkfs.ext4 コマンドを使用して、ブロックデバイスに ext4 ファイルシステムを作成できます。

前提条件

手順

  1. ext4 ファイルシステムを作成する場合は、以下の手順を実行します。

    • デバイスが通常のパーティションの場合、LVM ボリューム、MD ボリューム、または類似デバイスは次のコマンドを使用します。

      # mkfs.ext4 /dev/block_device

      /dev/block_device を、ブロックデバイスへのパスに置き換えます。

      たとえば、/dev/sdb1/dev/disk/by-uuid/05e99ec8-def1-4a5e-8a9d-5945339ceb2a、または /dev/my-volgroup/my-lv です。一般的な用途では、デフォルトのオプションが最適です。

    • ストライプ化されたブロックデバイス (RAID5 アレイなど) の場合は、ファイルシステムの作成時にストライプジオメトリーを指定できます。適切なストライプジオメトリーを使用することで、ext4 ファイルシステムのパフォーマンスが向上します。たとえば、4k ブロックのファイルシステムで、64k ストライド (16 x 4096) のファイルシステムを作成する場合は、次のコマンドを使用します。

      # mkfs.ext4 -E stride=16,stripe-width=64 /dev/block_device

      この例では、以下のようになります。

      • stride=value - RAID チャンクサイズを指定します。
      • stripe-width=value - 1 RAID デバイス内のデータディスク数、または 1 ストライプ内のストライプユニット数を指定します。
    注記
    • ファイルシステムの作成時に UUID を指定する場合は、次のコマンドを実行します。

      # mkfs.ext4 -U UUID /dev/block_device

      UUID を、設定する UUID (例: 7cd65de3-e0be-41d9-b66d-96d749c02da7) に置き換えます。

      /dev/block_device を、ext4 ファイルシステムへのパス (例: /dev/sda8) に置き換え、UUID を追加します。

    • ファイルシステムの作成時にラベルを指定するには、以下のコマンドを実行します。

      # mkfs.ext4 -L label-name /dev/block_device
  2. 作成した ext4 ファイルシステムを表示するには、以下のコマンドを実行します。

    # blkid

関連情報

  • man ページの ext4
  • man ページの mkfs.ext4

25.3. ext4 ファイルシステムのマウント

システム管理者は、mount ユーティリティーを使用して、ext4 ファイルシステムをマウントできます。

前提条件

手順

  1. ファイルシステムをマウントするためのマウントポイントを作成するには、以下のコマンドを実行します。

    # mkdir /mount/point

    /mount/point を、パーティションのマウントポイントを作成するディレクトリー名に置き換えます。

  2. ext4 ファイルシステムをマウントするには、以下を行います。

    • ext4 ファイルシステムを追加のオプションなしでマウントするには、次のコマンドを実行します。

      # mount /dev/block_device /mount/point
    • ファイルシステムを永続的にマウントする場合は、16章ファイルシステムの永続的なマウント を参照してください。
  3. マウントされたファイルシステムを表示するには、次のコマンドを実行します。

    # df -h

関連情報

mount' の man ページ * ext4 の man ページ * man ページの fstab * 14章ファイルシステムのマウント

25.4. ext4 ファイルシステムのサイズ変更

システム管理者は、resize2fs ユーティリティーを使用して、ext4 ファイルシステムのサイズを変更できます。resize2fs ユーティリティーは、特定の単位を示すサフィックスが使用されていない限り、ファイルシステムのブロックサイズの単位でサイズを読み取ります。以下のサフィックスは、特定の単位を示しています。

  • s (セクター) - 512 バイトのセクター
  • K (キロバイト) - 1,024 バイト
  • M (メガバイト) - 1,048,576 バイト
  • G (ギガバイト) - 1,073,741,824 バイト
  • T (テラバイト) - 1,099,511,627,776 バイト

前提条件

  • ext4 ファイルシステム。ext4 ファイルシステムの作成方法の詳細は、「ext4 ファイルシステムの作成」 を参照してください。
  • サイズ変更後にファイルシステムを保持するための、適切なサイズの基本ブロックデバイス

手順

  1. ext4 ファイルシステムのサイズを変更するには、以下の手順に従ってください。

    • アンマウントされている ext4 ファイルシステムのサイズを縮小および拡張するには、次のコマンドを実行します。

      # umount /dev/block_device
      # e2fsck -f /dev/block_device
      # resize2fs /dev/block_device size

      /dev/block_device を、ブロックデバイスへのパス (例: /dev/sdb1) に置き換えます。

      size を、sKMG、および T のサフィックスを使用して必要なサイズ変更値に置き換えます。

    • ext4 ファイルシステムは、resize2fs を使用して、マウントしたままの状態でサイズを大きくすることができます。

      # resize2fs /mount/device size
      注記

      拡張時のサイズパラメーターは任意です (多くの場合は必要ありません)。resize2fs は、コンテナーの使用可能な領域 (通常は論理ボリュームまたはパーティション) を埋めるように、自動的に拡張します。

  2. サイズを変更したファイルシステムを表示するには、次のコマンドを実行します。

    # df -h

関連情報

  • man ページの resize2fs
  • man ページの e2fsck
  • man ページの ext4

25.5. RHEL システムロールを使用した ext4 ファイルシステムの作成およびマウント

本セクションでは、ディスクで指定したラベルが付いた ext4 ファイルシステムを作成し、storage ロールを使用してファイルシステムを永続的にマウントする方法を説明します。

前提条件

  • storage ロールを含む Ansible Playbook がある。

このような Playbook を適用する方法は、「ロールの適用」 を参照してください。

25.5.1. Ext4 ファイルシステムを作成してマウントする Ansible Playbook の例

本セクションでは、Ansible Playbook の例を紹介します。この Playbook は、storage ロールを適用して、Ext4 ファイルシステムを作成してマウントします。

例25.1 /dev/sdb に Ext4 を作成し、/mnt/data にマウントする Playbook

---
- hosts: all
  vars:
    storage_volumes:
      - name: barefs
        type: disk
        disks:
          - sdb
        fs_type: ext4
        fs_label: label-name
        mount_point: /mnt/data
  roles:
    - rhel-system-roles.storage
  • Playbook は、/dev/sdb ディスクにファイルシステムを作成します。
  • Playbook は、/mnt/data ディレクトリーにファイルシステムを永続的にマウントします。
  • ファイルシステムのラベルは label-name です。

関連情報

  • storage システムロールで使用されるパラメーターの詳細は、/usr/share/ansible/roles/rhel-system-roles.storage/README.md ファイルを参照してください。

関連情報

25.6. ext4 および XFS で使用されるツールの比較

本セクションでは、ext4 ファイルシステムおよび XFS ファイルシステムで一般的なタスクを行うのに使用するツールを比較します。

タスクext4XFS

ファイルシステムを作成する

mkfs.ext4

mkfs.xfs

ファイルシステムを確認する

e2fsck

xfs_repair

ファイルシステムのサイズを変更する

resize2fs

xfs_growfs

ファイルシステムのイメージを保存する

e2image

xfs_metadump および xfs_mdrestore

ファイルシステムのラベル付けまたはチューニングを行う

tune2fs

xfs_admin

ファイルシステムのバックアップを作成する

dump および restore

xfsdump および xfsrestore

クォータ管理

quota

xfs_quota

ファイルマッピング

filefrag

xfs_bmap


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