최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday

티스토리 뷰

레드햇 리눅스 7.2 버전 이상부터는 기존 ext2 파일시스템에 저널링 기능을 추가한 ext3 파일시스템을 기본파일시스템으로 사용한다.

 

파일스템이란 무엇이며, 가지고 있는 특징과 장단점 그리고 종류에 대해 알아보자.

 


 

1. 파일시스템이란

 

파일의 실제 데이터와 메타데이터(파일위치,크기,소유자,허가권등 ls -al로 볼 수 있는 파일 정보)를 유지/저장하는 체계로서

일반적으로 운영체제별 고유한 파일시스템을 가지고있다.

이러한 이유로 하나의 하드디스크에 fdisk와 같은 명령어로 파티션의 크기 및 사용할 파일시스템을 지정하여 지정한 파일시스템의

종류에 따라 특정 운영체제를 설치하고 부트 로더를 통해 선택적으로 부팅하게 함으로써 멀티 운영체제가 구현 가능하다.

 

리눅스의 표준 파일시스템으로 사용되었던 ext2(minix extend version2)파일시스템은 파일의 실제 데이터와 메타데이터를

비동기식으로 저장한다.

 

이러한 비동기식 파일시스템은 메타데이터를 파일의 실제데이터를 저장할때 함께 저장하는 것이 아니라, 메모리에 두었다가

일정시간 간격을 두고 저장한다.

성능상의 장점은 있지만 다음의 약점이있다. 비동기식 파일시스템을 사용하는 OS는 일정 횟수만큼 파일시스템을 마운트하였거나,

비정상적인 방법으로 시스템이 종료되었을 경우 재부팅시 무결성 검사 (fsck)를 위해 파일시스템의 크기에 따라 상당한 시간을 소모하게된다.

 

만약 큰 파일시스템을 가진 24시간 제공되는 서버일 경우 무결성 검사 fsck를 위해 오랜시간 해당 서버를 구동할수없게되어

서비스불능 상태에 빠지게된다. 또한 비정상적인 방법으로 시스템이 종료되었을때(정전) 데이터가 동기적으로 저장되지않아

데이터의 일부가 손상되는 매우 심각한 문제에 처하게 될 가능성이있다.

 

2. 저널링 파일 시스템

 

데이터베이스에서 사용하는 저널링 기술을 적용해서 사용하는 의미이다. 앞서 얘기했듯이 심각한 문제를 해결하기 위한 방법.

일정 부분을 기록을 위해 남겨두어, 백업 및 복구 능력이 뛰어난 파일시스템으로, 비정상적인 종료로 인해 수행되는 파일시스템 복구에

시간이 아주 적게 소요된다.

 

동작원리는 이렇다 사용자가 데이터를 생성 혹은 수정하게 되면 관련 데이터를 로그에 기록한 후 하드디스크에 기록한다. 만약 기록중에

시스템이 비정상적인 종료를 하게되면, 재 부팅시 로그에 기록된 데이터를 참고로 하여 파일 시스템을 재 작성하거나 복구하게된다.

 

장단점은 비정상적인 종료로 인해 파일시스템 복구시 ext2보다 복구 확률이 높아진다. 이것은 많은 사용자가 이용하는 서비스를 운영한다면

매우 중요한 문제다. 또한 재부팅시 fsck(file system check - 파일 시스템이 문제가 없더라도 마운트를 일정횟수 하였을 경우 fsck를 구동하게됨)의 오랜시간을 감안한다면 또 다른 강점이 될 수있다.

단점은 ext2파일시스템에 비해 저장속도가 다소 느리다.

 

3. ext3 ??

 

오류(정전,셧다운)이 생겼을경우 ext2처럼 많은 파일을 보유하고있는 거대한 볼륨을 일일이 점검하는게 아니라

저널링기술을 가지고있으므로 하드디스크오류와 같은 아주 특별한 문제에 대해서만 점검 과정을 진행한다.

일반적으로 몇 초만에 복구가 가능하다. 강력한 무결성을 보장하며 특정 데이터를 한번 이상 저장시 최적화를 통해 ext2보다 높은 효율을

보장한다.

 

4. 저널링 파일시스템 종류

 

리눅스에서 사용가능한 저널링 파일시스템은 다음과 같다.

JFS(Journaling File System) - IBM사의 독자적인 파일시스템. 자사의 하이엔드 서버와 OS/2에서 사용. GPL로 공개됨.

 

XFS(eXtend File System) - SGI사에서 만든 상당히 훌륭한 파일시스템. GPL

 

ReiserFS(Reiser File System) - 독일의 한스 라이저(Hans Resier)에서 만듬. 자체 벤치마크에 따르면 저널링시스템중 가장 성능이 뛰어남

                                             작은 파일이 많이 사용되는 경우 ext2 파일시스템보다 빠르다.

 

ext3(Extension3) - 리눅스 커뮤니티에서 개발 (...응?;;;) 커널2.4부터 지원하고 있는 새로운 파일 시스템.

 

5. 그밖의 파일시스템의 종류

 

ext2 (minix extend version2) - 리눅스 표준 파일시스템. 최대 255바이트 파일명, 2기가 바이트의 단일 파일, 4테라바이트의 디스크를

                                          사용가능.

 

minix - 리눅스의 모태인 미닉스에서 사용하던 파일 시스템이다. 자잘한 제한(파일용량,이름)으로 인해 ext, ext2로 발전됨.

 

msdos - MS-DOS혹은 MS-Windows에서 사용되는 FAT 시스템. 파일명 8바이트, 확장자는3바이트 제한. 파일의 소유자 정보나

액세스 허가 정보 등이 없기 때문에 리눅스에서는 잘 쓰이지 않는다.

 

vfat - win95부터 등장한 파일시스템. 255바이트의 긴 파일명을 지원하는 FAT확장 버전이다.

 

NTFS - winNT에서 사용하는 파일 시스템. 긴 파일명을 지원하며, OS가 winNT인 경우 액세스 권한이나 압축 기능을 지원.

 

댓글