Linuxでファイルシステム(ext4 / xfs)の違いと選び方

Linuxでファイルシステム(ext4 / xfs)の違いと選び方

LinuxでディスクやLVMを扱うとき、最終的にどのファイルシステムを使うかは運用のしやすさにかなり影響する。特に実務でよく候補になるのが ext4 と XFS。この2つはどちらも非常に一般的で安定した選択肢だが、拡張のしやすさ、縮小の可否、運用時の考え方、向いている用途が少しずつ違う。そのため、「どちらでも動くから適当に選ぶ」より、「何を重視する環境か」を先に決めたうえで選ぶ方が失敗しにくい。この記事では、ext4 と XFS の基本、違い、選び方、実運用で気を付けるポイントを順番に整理する。

最初に理解しておくべきこと

ext4 と XFS は、どちらも Linux で広く使われるファイルシステムになる。
どちらを選んでも一般的なサーバー用途では十分実用になるが、
・あとから容量を広げやすいか
・縮小できるか
・大きなファイルや大量データに向くか
・運用時にどこへ注意が必要か
といった点で違いがある。
つまり、性能だけで一言で決めるというより、「そのサーバーでどう運用したいか」で選ぶ方が分かりやすい。

ext4とは何か

ext4 は、Linux 系で非常に長く使われてきた ext 系列の流れを引くファイルシステム。
歴史が長く、扱えるツールや情報も多く、Linux を使ううえで最も見かけやすい選択肢の1つになる。
一般的なサーバー、仮想マシン、小規模から中規模の運用、シンプルな構成ではかなり扱いやすい。
「まず無難なものを選びたい」という場面では、ext4 は今でも強い候補になりやすい。

XFSとは何か

XFS は、大きなストレージや大きなファイルを扱う場面でも使われやすいファイルシステム。
大容量ディスクやサーバー用途で採用されることが多く、特に「拡張しながら使う」運用ではかなり扱いやすい。
近年のディストリビューションでは、標準の選択肢として XFS が採用されている場面も珍しくない。
そのため、Linux を扱っていると ext4 と並んで実務でよく出会う存在になる。

ext4 と XFS の一番大きな違い

実務で最も大きな違いとして意識しやすいのは、拡張と縮小の考え方。
ざっくり言うと、
・ext4 は比較的柔軟に扱いやすい
・XFS は拡張には強いが縮小を前提にしにくい
という理解がかなり役立つ。
そのため、「あとで減らす可能性がある」「容量設計がまだ揺れている」という環境では ext4 が安心材料になりやすく、「今後増やしていく前提」であれば XFS はかなり扱いやすい。

拡張のしやすさで見る違い

ファイルシステム運用では、後から容量を増やす場面が多い。
この点では XFS はかなり扱いやすく、LVM やディスク追加後の拡張運用と相性が良い。
一方 ext4 も拡張自体は十分実用的で、一般的な運用で困ることは少ない。
つまり、「拡張できるかどうか」だけで言えば両方とも候補になるが、「大きく育てる前提」の環境では XFS を選びやすいことが多い。

縮小のしやすさで見る違い

一方で、縮小の考え方はかなり重要。
XFS は、あとから気軽に縮める前提では扱いにくい。
そのため、「後でサイズを減らす可能性がある」「設計がまだ固まっていない」環境では注意が必要。
ext4 はこの点で比較的柔軟に考えやすく、縮小の可能性を完全には捨てたくない場合に安心感がある。
実務では「広げることは多いが、縮めることは少ない」とはいえ、運用ポリシーでかなり差が出る部分になる。

一般的なサーバー用途ではどちらが無難か

一般的な Linux サーバーで、
・Web サーバー
・アプリサーバー
・小中規模の DB 補助領域
・開発環境
のような用途なら、ext4 はかなり無難な選択肢になる。
情報量が多く、慣れている人も多いため、トラブル時の調査もしやすい。
一方で、運用側が XFS に慣れていて、今後の容量拡張を前提にしているなら、XFS も十分現実的な選択になる。

大容量ディスクや成長前提の環境ではどうか

大きめのデータ領域や、将来的にどんどん容量追加していく想定なら、XFS を選びやすいことが多い。
たとえば、
・ログ保管領域
・バックアップ領域
・大きなアップロード領域
・大量データを置くアーカイブ領域
のような場所では、「あとから広げやすい」ことがかなり重要になる。
そうした意味で、XFS は拡張中心の設計と相性が良いと考えやすい。

小さいファイル中心か、大きいファイル中心か

ファイルサイズの傾向でも考え方は変わる。
小さな設定ファイルや一般的なOS領域では ext4 が扱いやすく、違和感なく使えることが多い。
一方で、大きなファイルや大量データを長く保管する領域では XFS を選ぶ運用もよくある。
ただし、これは絶対的な線引きではなく、実際には
・運用経験
・バックアップ方法
・将来の容量計画
も一緒に考える方が現実的になる。

ルートファイルシステムで選ぶときの考え方

OS のルートファイルシステムとして使う場合は、保守性や扱いやすさを優先することが多い。
その意味では ext4 はかなり無難で、トラブル時の対応も考えやすい。
一方、ディストリビューションや運用方針によっては XFS を標準採用しているケースもあり、その場合は周辺ツールや運用フローも XFS 前提で整っていることがある。
そのため、ルート領域は「自分の好み」だけでなく、OS標準やチームの慣れもかなり重要になる。

LVM と組み合わせるときの違い

LVM と組み合わせると、どちらも柔軟に使える。
ただし、LVM であとから LV を増やす運用を考えるなら、XFS は「増やす前提」でかなり相性が良い。
一方で、LVM だからといって縮小の問題が消えるわけではない。
つまり、LVM を使っていても、
・XFS は伸ばす前提
・ext4 は比較的柔軟
という感覚は残る。
この違いは、サーバーの容量計画を後から調整したい場面で効いてくる。

ext4 を選びやすいケース

ext4 を選びやすいのは、次のようなケース。
・迷ったときの無難な標準が欲しい
・運用チームが ext4 に慣れている
・縮小の可能性を完全には捨てたくない
・比較的小中規模のサーバー
・ルート領域や汎用用途
・トラブル時に一般的な手順で対処したい
特に「まず普通に安定運用したい」場面では ext4 は非常に選びやすい。

XFS を選びやすいケース

XFS を選びやすいのは、次のようなケース。
・大容量データ領域を扱う
・今後も拡張前提で運用する
・縮小の必要が基本的にない
・ディストリビューションや社内標準が XFS ベース
・ログ、アーカイブ、保管領域などを大きく育てていく
特に「最初から大きく使う」よりも、「後からどんどん広げる」前提に向きやすい。

運用で気を付けるべき違い

運用で最も大事なのは、「後でどうしたいか」を先に決めること。
たとえば、
・拡張だけならどちらも現実的
・縮小可能性があるなら ext4 が安心しやすい
・大容量成長前提なら XFS が自然
という見方がしやすい。
単にベンチマークの数字だけで決めるより、
・障害時の復旧
・運用チームの知識
・LVMとの組み合わせ
・容量設計の将来像
を含めて選ぶ方が、実際のサーバー運用では失敗しにくい。

確認コマンドを覚えておくと運用しやすい

今どのファイルシステムを使っているかは、運用中にすぐ確認できた方がよい。
代表的な確認コマンドは次の通り。

df -T
lsblk -f
mount | grep “^/dev”

これで、
・マウントポイント
・ファイルシステム種別
・デバイス名
を確認しやすい。
拡張や移行作業の前に、この確認を習慣にするとミスが減りやすい。

作成コマンドの違い

新規作成時は、ファイルシステムごとにコマンドが違う。
ext4 は次のような形。

sudo mkfs.ext4 /dev/sdb1

XFS は次のような形。

sudo mkfs.xfs /dev/sdb1

どちらも作成時点で既存データを消す前提になるため、対象デバイスの確認は必須。
ファイルシステム選定は、作成コマンドの違いより、その後の運用差を意識した方が重要になる。

拡張時の代表的な違い

拡張の場面では、ext4 と XFS で使うコマンドも変わる。
ext4 なら代表的には resize2fs

sudo resize2fs /dev/vgdata/lvapp

XFS なら代表的には xfs_growfs

sudo xfs_growfs /data

つまり、「LVMを広げたあと何を打つか」がファイルシステムによって違う。
この違いを理解していないと、「LVは増えたのに容量が見えない」という失敗が起こりやすい。

よくある失敗と勘違い

ext4 と XFS の選定でよくある失敗はかなり典型的。
・なんとなく片方を選ぶ
・拡張だけ見て縮小の可否を考えていない
・チームやOS標準と違う方を選んで運用が複雑になる
・LVM拡張後のファイルシステム拡張コマンドを間違える
・XFS を ext4 と同じ感覚で縮小できると思う
特に危ないのは、「後から何とかなるだろう」と考えて選ぶこと。
ファイルシステムはあとからの変更が簡単ではないため、最初の判断がかなり重要になる。

迷ったときの考え方

実務で迷ったときは、次の基準で考えるとかなり整理しやすい。
・無難さを優先するなら ext4
・大容量・拡張前提なら XFS
・縮小可能性があるなら ext4 寄り
・チーム標準やOS標準があるならそれを優先
・運用経験が多い方を選ぶ
最終的には「理論上どちらが上か」より、「自分たちの運用で事故が少ないか」を優先した方が現実的になる。

まとめ

Linuxで ext4 と XFS を選ぶときは、
・ext4 は無難で扱いやすい標準的な選択肢
・XFS は拡張前提の大容量運用と相性が良い
・どちらも実用的だが、縮小の考え方に差がある
・LVM と組み合わせるならその違いがより重要になる
という理解を持つと整理しやすい。
迷ったときは、
・縮小の可能性
・今後の拡張前提
・運用チームの慣れ
・OSや社内の標準
を基準に決めると失敗しにくい。
つまり、ext4 と XFS は「どちらが絶対に上か」ではなく、「どの運用に合うか」で選ぶ方が実務では正解に近づきやすい。