Linux管理・運用の基本
システム管理者のための実践ガイド
システム管理者のための実践ガイド
今回は、ファイルシステムについて解説します。 Linuxを使う上で、ext4、xfs、btrfsといった言葉を耳にする機会は多いでしょう。それぞれのファイルシステムは異なる特徴や得意な分野を持ち、用途によって最適解が異なります。 この記事では、それぞれの違いを理解し、目的に合ったファイルシステム選びができるようになることを目指します。
ファイルシステムとは、OSがストレージ(HDDやSSD)上のデータを効率的に管理する仕組みです。 ファイルやディレクトリの階層構造、パーミッション(権限)、更新日時といったメタデータの管理も担っています。 つまり、私たちが「ファイル」や「ディレクトリ」という分かりやすい単位でデータを扱えるのは、ファイルシステムのおかげです。
Linuxでは複数のファイルシステムが使え、それぞれ性能・信頼性・機能に違いがあります。 サーバー運用やストレージ管理をする上で、ファイルシステム選びはパフォーマンスや保守性にも直結します。
ここでは、現代Linuxで広く利用されている「ext4」「xfs」「btrfs」の特徴を解説します。
ext4(fourth extended filesystem)は、最も長い実績を持つファイルシステム。多くのLinuxディストリビューションでデフォルトとして採用されてきました。
特徴:
得意なこと:
運用上の注意点:
xfsは、SGIが開発した大容量・高速I/Oに特化したファイルシステムです。
特徴:
得意なこと:
運用上の落とし穴:
btrfs(B-tree file system)は、将来的にext4/xfsを置き換える「次世代」ファイルシステムとして登場しました。
特徴:
得意なこと:
運用上の落とし穴:
btrfs-progs
のバージョンを十分に確認し、事前に検証を行うことが推奨されます。Linuxで利用できるファイルシステムはext4/xfs/btrfsだけではありません。用途や要件によっては、下記のような選択肢も検討に値します。
ZFSは、もともとSolaris用に開発された、強力なデータ保護・スナップショット・RAID機能を統合した“ストレージの決定版”とも言われる存在です。
主なメリット:
注意点・落とし穴:
用途例:
F2FS(Flash-Friendly File System)は、Samsungが開発したSSDやeMMCなどのフラッシュストレージ向けに最適化されたファイルシステムです。
主なメリット:
注意点・落とし穴:
用途例:
exFATは、Windows・macOS・Linuxで相互運用性の高いファイルシステムです。主に大容量USBメモリやSDカードで4GB超のファイルを扱いたい時に用いられます。
主なメリット:
注意点・落とし穴:
用途例:
ファイルシステム | 特徴・向いている用途 | 落とし穴・注意点 |
---|---|---|
ext4 | 汎用/デスクトップ/仮想環境 | 大規模・大量小ファイルには弱め |
xfs | 大容量/高速I/O/DB/ログ | サイズ縮小不可、運用要確認 |
btrfs | スナップショット/柔軟性/RAID | RAID 5/6は安定性注意、開発動向を事前確認 |
zfs | データ保護重視/バックアップ/アーカイブ | メモリ多め必須、公式サポート外、運用とアップグレード要注意 |
f2fs | SSD最適化/組み込み/省電力 | サーバー用途は非主流、最新カーネル必須 |
exFAT | 大容量USB/SDカード/受け渡し | 信頼性や権限管理に乏しい、本格運用には不向き |
ファイルシステムは一度決めたら変更が困難です。 要件・運用ポリシー・拡張性・障害対応も見据えて、十分な事前検証とバックアップ戦略をもって選択しましょう。
$ df -Th
または
$ findmnt -t ext4,xfs,btrfs
$ sudo mkfs.ext4 /dev/sdx1
$ sudo mkfs.xfs /dev/sdx1
$ sudo mkfs.btrfs /dev/sdx1
注意:
mkfs
コマンドはパーティション内の全データを消去します。実行前にバックアップを必ず取得しましょう。
$ lsblk -f
→ デバイスとファイルシステム種別を一覧できます。
この記事では、Linuxの主要なファイルシステムであるext4、xfs、btrfsについて、それぞれの特徴と選び方を解説しました。
システムの用途や要件に合わせて、最適なファイルシステムを選択することが、快適なLinux管理・運用への第一歩となります。
この記事がファイルシステムについての理解を深める一助となれば幸いです。ご覧いただきありがとうございました。