Open1
図書館を例にファイルシステムを理解する Part2
ファイルシステムのデータブロック管理について
- データブロックとは:
図書館の例で説明すると:
- 本の内容(実際のデータ)を保存する場所
- 一定のサイズに区切られた保存スペース
- 主要な概念:
a) iノード:
- 図書館のカード目録のようなもの
- ファイルの情報(メタデータ)を保存
- 含まれる情報:
- ファイルサイズ
- 所有者
- アクセス権限
- タイムスタンプ
- データブロックの場所
b) エクステント:
- 連続したデータブロックのまとまり
- ext4で採用された効率的な管理方式
例: - ext2/3:本のページがバラバラに保存される可能性
- ext4:できるだけページを連続して保存(エクステント)
c) パーミッション:
- ファイルへのアクセス権限
例: - 読み取り(r):本を読める
- 書き込み(w):本に書き込める
- 実行(x):プログラムを実行できる
- ファイルシステムの違い:
ext2:
- 最も基本的な形式
- ジャーナリングなし
- 小さなシステムに適している
ext3:
- ext2にジャーナリング追加
- クラッシュからの復旧が容易
- ext2との互換性あり
ext4:
- エクステントを採用
- より大きなファイルサイズ対応
- より効率的なストレージ使用
- データの保存方法:
直接ブロック:
- 小さなファイル用
- iノードから直接データブロックを指定
間接ブロック:
- 大きなファイル用
- 複数階層でデータブロックを管理
例: - 図書館の本棚の位置を示す案内図のような仕組み
- 実際の管理コマンド:
iノード情報の確認:
ls -i ファイル名 # iノード番号表示
stat ファイル名 # 詳細情報表示
ファイルシステム情報:
df -i # iノード使用状況
tune2fs -l /dev/sdX # ファイルシステム情報