[Linux 기초] 21. 디스크 관리 - 파일 시스템

Date:     Updated:

카테고리:

태그:


01. 파일 시스템


파일 시스템이란 하드 디스크, 플래시 메모리(USB), DVD 같은 저장매체에 데이터를 저장, 삭제. 검색하는 방법을 제어하기 위해 사용되는 체계


■ XFS 파일시스템

  • XFS는 높은 확장성과 고성능을 지원하는 64비트 파일시스템으로 XFS는 1993년 실리콘 그래픽스(SGI)에서 처음 개발되었으며, 2001년 리눅스 커널에 포함되었다.

  • XFS는 대용량 파일과 디렉터리를 지원하고, 메타데이터 저널링과 스트라이핑을 통해 빠른 복구와 입출력 성능을 제공한다.

  • [링크] 단일 파일 최대 용량으로 500TB, 파일시스템 최대 용량으로 500TB를 지원한다고 되어 있다. 단 플랫폼 이론상으로는 8EB(엑사바이트), 16EB를 지원한다고 되어 있다.


■ EXT 파일시스템

  • EXT는 Extended File System의 약자로, 1992년 리눅스용으로 처음 개발되어, 은 리눅스에서 가장 널리 사용되는 파일시스템이다.

  • 저널링(Journaling) 기능은 파일시스템에 변경사항을 반영하기 전에 저널(Journal) 안에 변경사항을 기록, 추적하는 기능으로 이는 시스템 오류나 전원 문제로 인해 시스템이 리부팅되었을 때 더 빠르게 파일시스템 무결성 체크를 통해 mount 될 수 있도록 해준다.

파일시스템 EXT2 EXT3 EXT4
저널링 지원하지 않음 지원함 지원함
최대 파일 크기 2TB 2TB 16TB
최대 파티션 크기 4TB 32TB 1EB
디렉터리 당 최대 하위 디렉터리 수 32768개 32000개 무제한
확장 속성 지원하지 않음 지원함 지원함
암호화 지원하지 않음 지원하지 않음 지원함


02. mkfs 명령


파티션 또는 볼륨에 파일시스템을 생성하기 위해 사용되는 명령


■ 명령 형식

mkfs [옵션] [장치 이름]
옵션 설명
-t [종류] 파일 시스템의 종류 선택
-c 파일 시스템을 생성하기 전에 bad block을 검사 함
-v 작업 상태와 결과를 자세히 출력 함


■ 예시

$ lsblk /dev/sdc
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sdc      8:32   0  20G  0 disk
├─sdc1   8:33   0  10G  0 part
└─sdc2   8:34   0  10G  0 part


$ mkfs -t xfs /dev/sdc1
meta-data=/dev/sdc1              isize=512    agcount=4, agsize=655296 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=1 inobtcount=1
data     =                       bsize=4096   blocks=2621184, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0


$ mkfs -t xfs /dev/sdc2
meta-data=/dev/sdc2              isize=512    agcount=4, agsize=655296 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=1 inobtcount=1
data     =                       bsize=4096   blocks=2621184, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0


$ blkid | grep sdc
/dev/sdc2: UUID="e0dbc8a5-bfe1-4697-84bd-bf8aa1ac6fb9" TYPE="xfs" PARTLABEL="2st" PARTUUID="1c89b65f-c842-454f-bea5-788365ade8e1"
/dev/sdc1: UUID="42940ece-b83a-4553-aa7a-4f845c739b13" TYPE="xfs" PARTLABEL="1st" PARTUUID="772e26fd-9dc0-45b9-9d45-02b62ad5c642"

LINUX 카테고리 내 다른 글 보러가기

댓글 남기기