LPIC Level1 復習ラジオ 04:ファイルシステム

投稿日:2026-07-11

音声

※ AI音声で読み上げます

目次

  1. ファイルシステムとは
  2. ストレージを利用するまでの流れ
  3. ext4
  4. XFS
  5. inode
  6. UUID
  7. マウントとアンマウント
  8. /etc/fstab
  9. 確認コマンド
  10. 30秒チェック
  11. 要約

ファイルシステムとは

ファイルシステムは、ストレージ上のデータを、ファイルやディレクトリとして保存・管理するための仕組みです。

ファイルの中身だけでなく、所有者、グループ、パーミッション、ファイルサイズ、更新日時、データの保存場所なども管理します。

同じSSDやHDDでも、どのファイルシステムを作成するかによって、データの管理方法や利用できる機能が異なります。

要素 役割
ストレージ SSDやHDDなど、データを保存する装置
パーティション ストレージを論理的に分割した領域
ファイルシステム ファイルやディレクトリを管理する仕組み
マウントポイント ファイルシステムを接続するディレクトリ

ストレージを利用するまでの流れ

新しいストレージをLinuxで利用するときは、一般に次のような流れで準備します。

  1. Linuxがストレージをブロックデバイスとして認識する
  2. 必要に応じてパーティションを作成する
  3. パーティションなどにファイルシステムを作成する
  4. ファイルシステムをディレクトリへマウントする
  5. そのディレクトリを通してファイルを読み書きする
ストレージ
  ↓
パーティション
  ↓
ファイルシステム
  ↓
マウントポイント
  ↓
ファイルの読み書き

例えば、/dev/sdb1にext4を作成し、/dataへマウントすると、利用者は/dataを通してそのファイルシステムを利用します。

ext4

ext4は、Linuxで広く利用されているジャーナリングファイルシステムです。ext3を発展させ、より大きなファイルシステムへの対応や信頼性、性能に関する改善が加えられています。

多くのLinux環境で利用されており、汎用的なファイルシステムとして覚えておくとよいでしょう。

ジャーナリング

ジャーナリングは、主にファイルシステムの更新に関係する情報をログへ記録し、障害後の整合性回復を助ける仕組みです。

突然の電源断が起きても、すべての問題を必ず防げるわけではありませんが、ファイルシステムの復旧に必要な処理を減らすことができます。

作成コマンドの例

sudo mkfs.ext4 /dev/sdb1

mkfs.ext4は、指定したデバイスへext4ファイルシステムを作成します。既存データがあるデバイスへ実行すると失われる可能性があるため、対象の確認が必要です。

XFS

XFSは、高性能なジャーナリングファイルシステムです。大きなファイルや大規模なファイルシステムを扱えるよう設計され、並列的な処理や拡張性を重視しています。

Red Hat系のLinux環境などで標準的に採用されることがあり、サーバー用途でもよく見かけます。

ext4との大まかな整理

ファイルシステム 大まかな特徴
ext4 幅広いLinux環境で使われる汎用的なファイルシステム
XFS 大規模なデータや高い並列性を意識したファイルシステム

作成コマンドの例

sudo mkfs.xfs /dev/sdb1

LPIC Level1の復習では、どちらも代表的なLinux向けジャーナリングファイルシステムであることと、環境によって標準採用が異なることを押さえます。

inode

inodeは、ファイルやディレクトリを管理するための情報です。ファイルシステム内では、それぞれのinodeがinode番号によって識別されます。

inodeが管理する主な情報

  • ファイルの種類
  • 所有者のUIDとグループのGID
  • パーミッション
  • ファイルサイズ
  • アクセス時刻や更新時刻など
  • ハードリンク数
  • データの保存場所を参照するための情報

inodeに通常含まれないもの

ファイル名は、inodeそのものではなく、ディレクトリ側でinode番号と対応付けて管理されます。

ファイル名
  ↓
ディレクトリエントリ
  ↓
inode番号
  ↓
inode
  ↓
データ本体

確認コマンド

ls -li report.txt
stat report.txt
df -i
  • ls -i:inode番号を表示する
  • stat:inode番号、サイズ、権限、時刻などを詳しく表示する
  • df -i:ファイルシステム全体のinode使用状況を表示する

空き容量が残っていても、利用可能なinodeがなくなると新しいファイルを作成できないことがあります。小さなファイルが大量に作成された環境では、容量だけでなくinode使用率も確認します。

UUID

UUIDは、Universally Unique Identifierの略です。ファイルシステムなどを識別するために使われる識別子です。

/dev/sdb1のようなデバイス名は、機器の追加や認識順序によって変わる可能性があります。そのため、/etc/fstabなどではUUIDを使って対象を指定することがあります。

UUID=8c12a0d5-0000-0000-0000-000000000000

UUIDの確認

lsblk -f
sudo blkid
指定方法 特徴
デバイス名 /dev/sdb1 分かりやすいが、認識順序で変わる可能性がある
UUID UUID=... 特定のファイルシステムを安定して指定しやすい
LABEL LABEL=DATA 人が意味を理解しやすい名前を付けられる

マウントとアンマウント

マウントは、ファイルシステムをLinuxのディレクトリツリーへ接続する操作です。接続先となるディレクトリをマウントポイントと呼びます。

マウントの例

sudo mkdir -p /data
sudo mount /dev/sdb1 /data

この例では、/dev/sdb1上のファイルシステムを/dataへ接続します。

アンマウントの例

sudo umount /data

マウントを解除するコマンドはunmountではなく、umountです。

アンマウントできない場合

マウントポイントをプロセスが使用している場合は、target is busyなどと表示され、アンマウントできないことがあります。

findmnt /data
lsof +D /data
fuser -vm /data

自分のシェルのカレントディレクトリが/data内にある場合も使用中になります。まず別のディレクトリへ移動し、どのプロセスが使用しているかを確認します。

/etc/fstab

/etc/fstabは、ファイルシステムをどこへ、どの種類とオプションでマウントするかを記述する設定ファイルです。

起動時の自動マウントや、mountコマンドで省略指定を行うために利用されます。

基本形式

UUID=8c12a0d5-0000-0000-0000-000000000000 /data ext4 defaults 0 2
フィールド 意味
1 UUID=... マウントするデバイスやファイルシステム
2 /data マウントポイント
3 ext4 ファイルシステムの種類
4 defaults マウントオプション
5 0 dumpによるバックアップ対象の指定
6 2 起動時のファイルシステムチェック順序

設定の確認

findmnt --verify
sudo mount -a

findmnt --verifyは、/etc/fstabの内容を検査するときに利用できます。mount -aは、通常/etc/fstabに記述された対象を実際にまとめてマウントするため、実行前に対象と影響を確認します。

マウントポイントの不存在、UUIDの入力間違い、ファイルシステム種別の間違いなどがあると、マウントに失敗する可能性があります。

確認コマンド

コマンド 主な確認内容
lsblk ディスク、パーティション、LVMなどのブロックデバイス構成
lsblk -f ファイルシステム種別、UUID、LABEL、マウント先
blkid デバイスのUUID、LABEL、ファイルシステム種別
findmnt 現在のマウント関係や指定パスの所属先
df -h マウント済みファイルシステムの容量使用状況
df -i inodeの使用状況
stat ファイルのinode番号、権限、所有者、時刻など
mount ファイルシステムをマウントする
umount マウントを解除する

確認の流れ

lsblk -f
findmnt
df -h
df -i
  1. lsblk -fで、デバイスとファイルシステムの全体像を見る
  2. findmntで、どこへマウントされているかを見る
  3. df -hで、容量の使用状況を見る
  4. 必要に応じてdf -iで、inodeの使用状況を見る

コマンドの詳細は、man mountman fstabman lsblkman blkidman findmntなどで確認できます。

30秒チェック

  1. ファイルシステムは、何を管理する仕組みでしょうか。
  2. ext4とXFSに共通する大きな特徴は何でしょうか。
  3. ファイル名は、通常inodeの中に保存されるでしょうか。
  4. inode使用量を確認するコマンドは何でしょうか。
  5. UUIDを利用する主な理由は何でしょうか。
  6. ファイルシステムをディレクトリへ接続する操作を何と呼ぶでしょうか。
  7. マウント解除に使うコマンドは何でしょうか。
  8. 自動マウント設定を記述する代表的なファイルは何でしょうか。
答え
  1. ストレージ上のデータを、ファイルやディレクトリとして保存・管理する仕組みです。
  2. どちらも代表的なジャーナリングファイルシステムです。
  3. 通常は保存されません。ディレクトリがファイル名とinode番号を対応付けます。
  4. df -iです。
  5. デバイス名の認識順序が変わっても、対象を安定して識別しやすいためです。
  6. マウントです。
  7. umountです。
  8. /etc/fstabです。

要約

  • ファイルシステムは、ファイル、ディレクトリ、所有者、権限、時刻、データ配置などを管理します。
  • ext4は幅広く使われる汎用的なジャーナリングファイルシステムです。
  • XFSは、大規模なデータや高い並列性を意識したジャーナリングファイルシステムです。
  • inodeはファイルのメタデータを管理しますが、ファイル名は通常ディレクトリ側で管理されます。
  • df -hは容量、df -iはinode使用状況を確認します。
  • UUIDは、ファイルシステムを安定して識別するために利用されます。
  • mountで接続し、umountで切り離します。
  • /etc/fstabには、マウント対象、マウントポイント、種類、オプションなどを記述します。

参考資料