1. 파일시스템의 이해

- 파일시스템 : 운영체제가 파티션이나 디스크에 데이터를 저장하고, 읽고, 쓰고 찾기위해 구성하는 일련의 체계, 운영체제가 사용자에게 제공하는 가장 직접적인 서비스 형태중 하나

- 파일시스템의 구성은 운영체제 설치지 발생

 

1. 파일시스템의 기능

(1) 사용자가 파일을 생성(Create), 수정(Modify), 삭제(Delete) 할 수 있도록 제공

(2) 사용자가 파일을 사용하기 적합한 형태의 구조로 구성하고, 다양한 추가 정보 제공

(3) 다른 사용자와의 파일을 공동으로 사용할 수 있는 적절한 제어 방법 제공

(4) 파일 공유를 위하여 판독 접근, 기록 접근, 수행 접근 등의 다양한 접근 제어방법제공

(5) 정보 손실이나 파괴를 방지하기위해 백업(Backup)이나 복구(Recovery)를 위한 기능 준비

(6) 사용자와 장치 간의 독립성(device independence)을 유지하기위해, 사용자가 물리적인 장치 이름 대신에 적절한 이름 제공

(7) 정보가 안전하게 보호되고 비밀이 보장될수 있도록 정보의 암호화(encryption) 및 복호화(decryption)기능제공

(8) 사용자가 파일이나 디렉터리에 접근하기 쉬운 인터페이스 및 명령어 제공

 

2. 리눅스 파일 시스템

-cf)운영체제는 저장단위를 바이트로 사용한다

- 주요 파일 시스템

 minix: 파일시스템으로 초기 리눅스 파일 시스템의 모태가되었고 사이즈와 파일 이름이 제한이 많았다

 ext: minix최대 파티션 크기와 파일 이름 제한을 해결한 시스템 이지만 파일접근지원에 문제 있음

 ext2 : 고용량 디스크 사용을 대비해 확장성에 염두하고 설계

ext3 : ACL(Acces Control List)를 통한 접근 제어 지원

ext4 (주로사용) : 기억공간제한을 없애고 대형파일 시스템관련된 기능 강화

nfs : 네트워크 상의 시스템 파일들을 공유할 때 사용하는 파일 시스템

proc : 리눅스에서 사용하는 가상 파일 시스템으로 커널과 관련된 데이터를 담는 영역

항목

ext2

ext3

ext4

XFS

RHEL 6

RHEL7

RHEL 6

RHEL 7

최대 파일크기

2GB

2TB

16TB

100TB

500TB

최대 파일 시스템 크기

4TB

16TB

16TB

50TB

300TB

500TB

하위 디렉터리

생성 최대수

32000

32000

65000

제한없음

3. 리눅스 파일 시스템의 구조

-블록 : 파일 시스템에서 기본적으로 데이터를 저장하는 단위로 메모리에서 입출력 작업시 한번 거칠떄 읽거나 쓰여지는 단위

-슈퍼블록: 파일시스템에 대한 전체적인 정보를 가지고 있는블록

-데이터 블록 : 파일을 보관해야 하는 정보를 저장하는 영역으로 파일의 데이터가 존재

-간접 블록 : 추가적인 데이터 블록을 위한 포이터들이 사용할 동적으로 할당되는 공간

-: 아이노드나 간접 블록 안의 데이터 블록의 주소로 특별한 값이 저장되지만 디스크상 공간은 실질적으로 할당되지 않음

-저널링 기술 : 기존 FSCK에 걸리는 시간을 단축하기위해 데이터를 디스크를 사용하기전 로그에 데이터를 남겨 시스템의 비정상적인 종료에도 로그를 사용해 FSCK보다 빠르고 안정적인 복구기능을 제공하는 기술

로그 정보를 바탕으로 파일 시스템에 수정내용을 적용하기되면 속도도빠르고 복구안정성도 뛰어난다

EX ) ext3, ext4, XFS, JFS, ReiserFS

-아이노드 : 전통적인 유닉스 계열 파일 시스템에서 사용하는 일종의 자료구조로 각각의 파일은 하나의 아이노드를 할당받아 관리

           아이노드는 아이노드 넘버,접근모드, 파일형식, 소유자 정보, 파일크기 등 정보를 저장

+ Recent posts