(1) ext2 파일시스템

○ 리눅스 전용 파일시스템 : EXT === (크게개선) ===>EXT2 ===(커널링추가)===> EXT3
  - EXT : EXTended file system
  - 커널링추가로 인해 데이터 신뢰성/속도 상승
  - EXT3의 경우 예외적인 상황(갑작스런 정전, 시스템 고장 등) 에서의 복원이 가능

○ 파일시스템을 만드는 명령 : mke2fs

○ 블록의 크기를 지정하는 옵션 : -b (1024, 2048, 4096 中 택1) - default 4096

○ 파일시스템의 대부분의 블록들은 파일저장에 사용하거나 일부 블록은 파일시스템 자체의 구조를 표현하는 정보를 담는데 사.


(2) ext2 파일시스템의 블록 구성


○- 파일시스템 전체는 여러개의 Block Group으로 구성

○ Block Group은 Super Block || Group Descriptors || Block Bitmap || Inode Bitmap || Inode Table || Data Blocks 로 구성

○ Data Blocks 사이에는 Directory Block 도 함께 위치한다.

○ Block Bitmap은 1개의 블록을 차지하고, 각 비트가 한 블록의 사용상태(yes/no)를 나타낸다.

  - Super Block : 파일시스템 전체에 관한 내용이 들어있다. (블록크기, 사용하지 않는 블록의 개수 등..)
                         각 그룹마다 Super Block의 내용은 동일하고, 만약 다르다면 파일시스템이 손상된 것이다.
                         파일시스템이 마운트 될 때, 커널은 그룹0 에 들어있는 Super Block을 읽어들인다.
                         #dumpe2fs /dev/hda2 | more 명령으로 이 장치의 전체 그룹에 대한 정보를 알 수 있다.

  - Group Descriptor 각 블록그룹을 관리하는 정보를 담고있다.
                                 서로 연결되어 있어서 전체적으로는 하나의 그룹 디스크립터 테이블을 형성한다.
                                 실제로 사용되는 것은 블록그룹0 에 있는 첫번째 복사본 뿐이고, 나머지는 손상될 경우를 대비한다.

  - Block Bitmap :  이 블록에 속한 각 비트들은 그룹 내에 있는 각 블록의 사용상태를 나타낸다.
                           파일 시스템의 정보를 담고있는 블록은 모두 처음부터 set으로 표시된다.

  - Inode Bitmap : 이 블록에 속한 각 비트는 그룹내에 있는 각 inode의 사용상태(yes/no)를 나타낸다.

  - Inode Table : 하나의 파일은 한개의 inode를 갖는다.
                        디렉토리, 심볼릭 링크, 블록장치, 문자장치, FIFO 등 도 inode를 가진다.

  - Data Block : 파일의 실제 데이터가 들어가는 부분으로 파일시스템의 대부분을 차지한다.

  - Directory Block : 해당 디렉토리의 엔트리(파일, 디렉토리)에 대한 정보가 들어간다.
                             필요에 따라 데이터 블록 사이사이에 위치한다.


※ 출처 : http://idkkangjs.blog.me/30091117058

by 민트앤라떼 2011. 9. 28. 11:35