Linux は、ディスク形式、ネットワークプロトコル、整合性モデル、機能、運用ツールが異なる多数のファイルシステム実装に対応します。適切な選択はディストリビューションの対応、ワークロード、復旧要件、ストレージ構成、管理者の経験次第です。
ファイルシステム · レッスン 2
ファイルシステムの種類
Linux VFS がローカル、ネットワーク、仮想ファイルシステムを1つのインターフェースで示す仕組みを学びます。
仮想ファイルシステム層
カーネルの Virtual Filesystem(VFS)層は、open、read、write、rename、権限検査などの共通操作を提供します。各実装はそれらを独自のデータ構造と格納先へ結び付けます。
1つのプロセスが ext4、XFS、NFS、tmpfs、procfs を共通のパス名・ファイル記述子モデルで利用できます。ただし、大文字小文字、ロック、権限、rename の保証、拡張属性、エラー処理などの機能や動作が同じになるわけではありません。
Linux VFS の主な役割は何ですか?
ジャーナリングとクラッシュ整合性
ジャーナリングファイルシステムは選択した更新を journal へ記録し、クラッシュ後に未完了トランザクションを再生または破棄できます。主目的は、全体走査より速く構造的な整合性を回復することです。
最新のアプリケーションデータの生存、複数ファイルのトランザクションの正しさ、ストレージが全書き込みを守ったことまでは保証しません。ファイルシステムごとにデータモードと順序保証が異なり、アプリケーションも適切な flush と原子的更新を使う必要があります。journal はバックアップではなく、削除、マルウェア、デバイス故障を防ぎません。
ファイルシステムのジャーナリングがクラッシュ後に主に回復を助けるものは何ですか?
一般的なローカルファイルシステム
- ext4:成熟したジャーナリングファイルシステムで、Linux ディストリビューションと復旧ツールから広く対応される。
- XFS:大きなファイルシステムと並列 I/O ワークロードによく選ばれる、拡張性の高いジャーナリングファイルシステム。
- Btrfs:チェックサム、サブボリューム、スナップショット、統合マルチデバイス機能を持つ copy-on-write ファイルシステム。
機能には運用上の文脈が必要です。同じ障害デバイス上の Btrfs スナップショットは当初、元データとストレージを共有し、独立バックアップではありません。XFS と ext4 は拡張、縮小、修復、調整能力が異なります。root 用を選択・変更する前に、導入カーネル、起動環境、復旧ツールの対応を確認します。
同じデバイス上の Btrfs スナップショットが完全なバックアップではないのはなぜですか?
互換、ネットワーク、仮想ファイルシステム
Linux は FAT 系、exFAT、NTFS などもマウントできますが、Unix の所有権、権限、リンク、ファイル名の意味は異なります。不足機能をどう示すかはマウントオプションとドライバー実装次第です。
NFS や SMB はサーバーとネットワークプロトコルに依存し、独自のキャッシュと識別規則を持ちます。tmpfs、procfs、sysfs は通常の永続ディスク形式を使わない仮想ファイルシステムです。tmpfs は揮発性データをメモリで支えられたページに置き、procfs と sysfs はカーネルインターフェースを公開します。
procfs に最も合う説明はどれですか?
稼働中の種類を調べる
$ findmnt -o TARGET,SOURCE,FSTYPE,OPTIONS
ほかに、マウント済み容量には df -T、ブロックデバイスと検出シグネチャには lsblk -f、実行中カーネルが対応・認識する種類には /proc/filesystems を使えます。答える質問が異なり、未マウントのファイルシステムは通常のマウント一覧へ現れません。
ここで、マウント先、ソース、種類、オプションを直接一覧表示するコマンドはどれですか?
使い捨てストレージ上の Linux パーティションとファイルシステムの管理 で、種類、マウントオプション、検出方法を比較できます。
レッスン完了
ファイルシステムの種類 を完了しました
同じ意味だと思い込まず、ファイルシステムの分類を比較できるようになりました。
VFS を実装間の共通操作へ関連付ける。
ジャーナリングをバックアップではなくクラッシュ整合性支援として扱う。
ext4、XFS、Btrfs を対応操作とワークロードで比較する。
ローカルディスク、ネットワーク、互換、仮想ファイルシステムを区別する。
マウント・ブロックデバイスツールを異なる一覧質問へ使い分ける。