Open1

図書館を例にファイルシステムを理解する Part2

ひでひで

ファイルシステムのデータブロック管理について

  1. データブロックとは:
    図書館の例で説明すると:
  • 本の内容(実際のデータ)を保存する場所
  • 一定のサイズに区切られた保存スペース
  1. 主要な概念:

a) iノード:

  • 図書館のカード目録のようなもの
  • ファイルの情報(メタデータ)を保存
  • 含まれる情報:
    • ファイルサイズ
    • 所有者
    • アクセス権限
    • タイムスタンプ
    • データブロックの場所

b) エクステント:

  • 連続したデータブロックのまとまり
  • ext4で採用された効率的な管理方式
    例:
  • ext2/3:本のページがバラバラに保存される可能性
  • ext4:できるだけページを連続して保存(エクステント)

c) パーミッション:

  • ファイルへのアクセス権限
    例:
  • 読み取り(r):本を読める
  • 書き込み(w):本に書き込める
  • 実行(x):プログラムを実行できる
  1. ファイルシステムの違い:

ext2:

  • 最も基本的な形式
  • ジャーナリングなし
  • 小さなシステムに適している

ext3:

  • ext2にジャーナリング追加
  • クラッシュからの復旧が容易
  • ext2との互換性あり

ext4:

  • エクステントを採用
  • より大きなファイルサイズ対応
  • より効率的なストレージ使用
  1. データの保存方法:

直接ブロック:

  • 小さなファイル用
  • iノードから直接データブロックを指定

間接ブロック:

  • 大きなファイル用
  • 複数階層でデータブロックを管理
    例:
  • 図書館の本棚の位置を示す案内図のような仕組み
  1. 実際の管理コマンド:

iノード情報の確認:

ls -i ファイル名   # iノード番号表示
stat ファイル名    # 詳細情報表示

ファイルシステム情報:

df -i             # iノード使用状況
tune2fs -l /dev/sdX  # ファイルシステム情報