리눅스마스터2급강좌 : 리눅스 파일시스템의 종류
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 3,207 조회
- 0 추천
- 목록
본문
리눅스마스터2급강좌 : 리눅스 파일시스템의 종류
파일 시스템의 종류
리눅스는 아래의 예들을 포함하는 다양한 파일 시스템들을 지원한다(‘man fs’ 명령을 사용하면 리눅스의 파일 시스템에 관한 정보를 얻을 수 있다).
①minix
리눅스에서 가장 먼저 사용한 파일 시스템이다.
파일 이름은 최대 30문자이고, 파일 시스템당 최대 64메가를 지원하여 기능이나 성능 측면에서 다소 제한이 있다.
②ext
리눅스 초기에 사용되던 파일 시스템으로 상위 호환성이 없던 ext2의 구버전이다.
③ext2
ext3 이전까지 대부분의 리눅스가 채택한 파일 시스템이다.
256 바이트 길이의 파일 이름, 2 기가바이트(GB)의 단일 파일, 4 테라바이트(TB)의 디스크를 사용할 수 있다.
그러나 예상치 못한 정전 등의 사유로 시스템이 비정상적으로 종료되었을 경우에 부팅 시 e2fsck를 실행하여 파일 시스템의 일관성 검사를 한다.
이로 인해 데이터가 많은 경우 검사 시간이 오래 걸리고 그 동안 아무 작업도 할 수 없게 된다.
④ext3
커널 2.4부터 지원하는 파일 시스템으로 레드햇 리눅스의 경우 7.2 버전부터 적용되었다.
ext3는 ext2 파일 시스템에 저널링 기능을 추가한 저널링 파일 시스템(journaling file system)이다.
이에 따라 ext2 파일 시스템보다 데이터 신뢰성이 강화되었고 보다 빠른 속도로 작업을 수행할 수 있다.
ext3 파일 시스템은 16 테라바이트까지 인식할 수 있다.
그렇지만 ext3 파일 시스템은 삭제 파일 복구가 용이하지 않는 등 개선해야 할 점들이 있었다.
⑤ext4
ext3의 문제점들을 개선하여 개발한 것이 ext4이다.
ext4는 파일 시스템 점검 속도가 현저하게 빨라졌고, 파일 복구가 용이해 졌으며, 무엇보다 1 exbibyte(EiB)까지 디스크를 사용할 수 있고 16 tebibytes(TiB)까지 파일을 지원한다(그렇지만 16 tebibytes(TiB)를 초과하는 볼륨은 권장되지 않는다).
ext4는 커널 2.6.19에 처음으로 ext4의 개발버전이 포함되었고, 2008년 10월 11일에 ext4의 안정버전이 커널 2.6.28 버전의 소스코드 저장소에 올려 졌고, 2008년 12월 25일에 ext4 파일 시스템을 포함하는 커널 2.6.28 버전이 발표되었다.
이에 따라 ext4는 페도라 9 버전부터 지원되었고 현재 많은 리눅스 시스템에서 이것을 사용하고 있다.
|
|
|
| ext4의 ext2와 ext3에 대한 호환성 ext3과 ext2에 대한 하위 호환성이 있어서 ext3과 ext2 파일 시스템을 ext4로 마운트하는 것이 가능하다.
이렇게 하면 성능을 조금 향상시킬 수 있는데, ext4의 새 기능 중 새로운 블록 할당 알고리즘과 같은 것은 ext3과 ext2에서도 사용될 수 있기 때문이다.
이에 대해 ext3은 ext4에 대해 ext4 파일 시스템을 마운트(mount)할 수 있는 부분적인 상위 호환성이 있다.
하지만 ext4 파티션이 ext4의 중요한 새 특징인 Extents를 사용한다면 ext3으로 마운트는 불가능하다.
|
|
|
|
|
⑥xiafs
파일 이름과 파일 시스템 크기의 한계 등 minix 파일 시스템을 수정한 파일 시스템이지만, 새로운 특징은 없다.
예전에 ext2 파일 시스템과 함께 사용되었다.
⑦ReiserFS/ReiserFS v3/Reiser4
ReiserFS는 저널링 파일 시스템의 일종으로 안정적인 파일 시스템으로 ext2 파일 시스템을 대체할 만한 것 인정받아 SuSE 리눅스의 기본 파일 시스템으로 사용되기도 하였다.
그러나 2006년 10월 12일 이후의 SuSE 리눅스부터는 ext3 파일 시스템이 사용되었다.
이후 ReiserFS v3가 발표되어 널리 사용되었고, Reiser4가 오픈소스 개발자들에 의해 개발이 지속되고 있지만, 메인라인 리눅스 커널에 포함되지 않아 현재 많은 리눅스 배포판에서 지원되지 않는다.
⑧XFS
XFS는 실리콘 그래픽스(Silicon Graphics, Inc.)에 의해 1993년도에 개발이 시작되어 1994년에 제작된 64비트 고성능 저널링 파일 시스템이다.
이것은 IRIX 5.3 버전 이후로 이 운영체제의 기본 파일 시스템이었다.
2000년 5월부터 GPL을 채택하였고 실리콘 그래픽스사의 스티브 로드(Steve Lord)에 의해 리눅스 커널로 포팅되었다.
그리고 2001년 이후로 XFS를 채용한 리눅스 배포판들이 증가하여 현재는 거의 대부분의 리눅스 배포판에서 XFS 파일 시스템이 사용되고 있다.
⑨FAT / FAT32
FAT 파일 시스템은 MS-DOS 및 윈도우즈 운영체제에서 사용하는 파일 시스템이다.
FAT32는 32비트 버전으로 윈도우즈 95에 처음 도입되어 최근까지도 사용되고 있다.
⑩NTFS
윈도우즈 서버와 데스크톱(XP 이후 버전)에서 사용되는 파일 시스템이다.
예전의 리눅스는 읽기 전용으로 지원되었지만, 현재는 읽기/쓰기 모두 가능하다.
⑪msdos
리눅스에서 지원하는 것으로 FAT 파일 시스템과 호환된다.
⑫umsdos
msdos 파일 시스템을 리눅스상에서 긴 파일 이름, 소유자, 접근권한, 링크와 장치 파일들을 지원하도록 확장한 파일 시스템이다.
umsdos는 보통의 msdos 파일 시스템이 리눅스 파일 시스템처럼 사용되도록 하기 때문에, 리눅스를 위해 파티션을 나눌 필요를 없앤다.
⑬iso9660
CD-ROM 표준 파일 시스템이다.
CD-ROM 표준에 좀 더 긴 파일 이름을 쓸 수 있도록 확장한 록 릿지(rock ridge) 및 iso9660의 전신인 하이시에라(High Sierra)를 지원한다.
⑭nfs
독립되어 있는 각각의 컴퓨터들의 파일에 서로 쉽게 접근하기 위해 파일 시스템을 상호 공유할 수 있도록 하는 네트워크 파일 시스템(Network File System)이다.
⑮hpfs
OS/2 파일 시스템이다.
이용가능한 문서가 부족하여 읽기 기능만(read-only) 제공한다.
⑯sysv
System V/386, System V/386 파생 시스템, Xenix 및 Coherent의 파일 시스템이다.
|
|
|
| 클러스터 파일 시스템(cluster file system) 리눅스는 클러스터링을 위한 클러스터 파일 시스템을 지원한다.
이것은 다수의 시스템 사이에 하드 디스크의 파일을 공유할 수 있도록 하며, 클라우드 시스템의 필수적인 요소이기도 하다.
이러한 파일 시스템으로서 전통적으로 사용되는 것이 NFS, SMB(윈도우즈와의 공유를 위한 SAMBA의 파일 시스템), CIFS(SMB보다 발전된 네트워크 파일 시스템), CODA(NFS와 비슷한 네트워크 파일 시스템) 등이다.
이들은 리눅스 커널에 포함된 기능들이다.
또한 여러 기업들이 클러스터링을 위한 파일 시스템을 개발했는데, RedHat GFS, SGI cXFS, IBM GPFS, IBM SanFS, EMC Highroad, Compaq CFS, Veritas CFS, Oracle OCFS2 등이 있다.
|
|
|
|
|
관련자료
-
이전
-
다음