1. Krótkie przypomnienie struktury fizycznej ext2/ext3

Na początek warto wspomnieć, że ext3 został zaprojektowany jako nakładka na ext2 w taki sposób, żeby pozostawić dane zapisywane na dysku niezmienione - co oznacza, że struktura fizyczna tych dwóch systemów plików jest taka sama.

Dysk ext2 jest podzielony na grupy, które składają się z bloków. Bloki mają wielkość od 1KB do 4KB, liczba bloków w grupie zależy od wielkości bloku - bitmapa zajętości bloków w jednej grupie musi zajmować jeden blok - czyli waha sie od 8192 do 16384. W każdej grupie pierwsze kilka bloków (co najmniej 5) jest zajętych przez metadane (dane o danych). W kolejności są to:

  1. Superblok - zawiera informacje fizyczne i o formacie danych - jego kopia znajduje się w pierwszym bloku każdej grupy.

  2. Deskryptor Grup - wawiera informacje o położeniu początków innych części grup, liczbie wolnych i-węzłów i bloków w grupach. Jego kopia także znajduje się w każdej grupie.

  3. Bitmapa zajętości bloków

  4. Bitmapa zajętości i-węzłów

  5. Tablica i-węzłów danej grupy

  6. Bloki danych

Jak widać na metadane przeznaczony jest zawsze taki sam obszar w stosunku do objętości całego dysku, a redundancja danych jest stosunkowo duża - kopia najważniejszych danych znajduje się w każdym bloku - a bloków może być dowolnie dużo.

Figure 3.1. Schemat struktury dysku w ext3

Schemat struktury dysku w ext3