본문 바로가기
기록하는 중/UNIX

[Unix] 파일 시스템

by 성장하는 요롱이 2023. 12. 2.
  파일 시스템

  -  파일에 파일명과 경로 부여

  -  저장 or 검색 

  -  식별 방법 제공

  -  파일 시스템의 종류에 따라 파일 시스템의 크기, 파일 이름의 길이, 파일의 크기,

     파일의 총 개수, 파일의 복구, 성능/보안/유연성 등에 차이가 남

 

  Unix 파일 시스템의 구조

  1)  슈퍼 블록

     -  파일 시스템의 특징을 기록한 블록

     -  손상 되면 안됨, 복사본 필요

     -  기록 : 블록의 크기, 전체 블록의 개수, inode 테이블의 크기와 위치, 디스크 블록 맵, 첫 번째 데이터 블록의 주소 

  2)  inode 테이블

     -  'inode 리스트'

     -  하나의 inode(레코드)는 한 개 파일의 이름을 제외한 모든 정보를 가짐

     -  파일의 이름은 해당 파일이 속한 디렉토리에 있음

     -  정보 : inode 번호, 파일의 형태, 크기, 접근권한, 소유자, 소유 그룹, 수정시간, 링크 수, 디스크 블록의 위치 등

     -  디렉터리나 특수 파일도 하나의 파일로 간주

  3)  데이터 블록

     -  일반 파일의 경우 실제 데이터가 저장됨

     -  디렉터리의 경우 포함된 파일 이름이 inode 번호와 함께 저장됨

 

 파일 시스템 유형
파일 시스템 설명
ext4  리눅스 전용 파일 시스템으로 범용 파일 시스템.
 ext2와 ext3의 개선된 버전으로 최대 크기는 1EiB. 최대 파일 크기는 16TiB.
 저널링을 통한 신뢰성, 온라인 단편화 제거, 하위 호환성 등의 기능
  ※ 저널링 : 디스크에 기록 전에 저널에 먼저 기록하는 방법. 비정상 종료 등의 대비하여 파일 시스템 복구가 용의하게 지원. 시스템 무결성이나 안정성을 보완하는 방법.ext2 안됨. ext3 저널링 됨.
lso9660  CD-ROM과 같은 광학 디시ㅡ크에서 사용되는 표준 파일 시스템
vfat  윈도우 운영체제와 호환되는 파일 시스테믕로 USB에서 주로 사용됨
HFS+  매킨토시에서 사용되는 표준 파일 시스템
Btrfs  리눅스의 차세대 파일 시스템
XFS  고성능으로 대용량 파일(또는 파일 시스템)을 사용하기 위한 파일 시스템. 주로 서버컴퓨터에서 사용

 -  커널을 사용하는 가상 파일 시스템(tmpfs, proc, sysfs 등 등)과 네트워크 파일 시스템도 있음

 

 mkfs 명령

  -  파티션이나 논리 볼륨에 리눅스 파일 시스템을 만드는 명령

  -  mkfs[-t fs-type] device

  -  옵션 -t fs-type을 사용하여 파일 시스템의 종류를 지정

  -  device는 /dev/sdb1과 같은 파티션의 장치 이름 또는 논리 볼륨의 이름

  -  실제 mkfs 명령은 'mkfs.파일시스템종류이름'을 사용하여 수행

  -  코드 재사용을 높이려는 목적으로 기본은 /sbin/mkfs.ext2

  -  ex)

# mkfs -t ext4/dev/myVg/my_volume
<중간생략>
# mkfs -t ext4/dev/sdc1

 

  fsck 명령

  -  파일 시스템의 무결성을 검사하고 손상된 파일을 고치는 명령

  - 마운트 되어 있지 않은 파일 시스템을 검사

  -  문제가 있다면 대화식으로 파일 시스템 복원

  -  파일 시스템의 'lost+found'디렉터리에 손상된 파일을 남겨둠

  - fsck [options] device

  -  e2fsck와 같은 파일 시스템 고유의 검사 프로그램 존재 가능

 

  스왑 영역

  -  RAM의 크기가 부족할 때 사용

  -  특정 파티션이나 파일을 스왑 영역으로 지정하여 사용 가능

  -  free 명령 : 메모리의 사용량 확인, 스왑 메모리도 확인 가능

  -  파티션을 스왑 영역으로 사용할 때

    ▷  빈 파티션을 만듦 

    ▷  mkswap device를 수행하여 스왑 파티션으로 함 : 지정된 특정 장치나 파일을 리눅스용 스왑 영역으로 지정

    ▷  swapon device 를 수행하여 활성화 : 커널에 스왑 영역 사용 등록, free명령으로 스왑 영역 공간 확인

    ▷  부팅할 때마다 사용하려면 /etc/fstap 파일에 기록 ex) /dev/sda3 none swap defaults 0 0 

 

  df 명령

  -  마운트 되어 있는 파일 시스템의 공간 사용 정보를 보여 줌

  -  df [options] [names]  : names는 장치 이름 또는 마운트 지점

options 설명
 -h  용량 단위를 KB, MB, GB 단위로 보여줌
 -T  파일 시스템의 유형을 포함하여 출력함
 -i  inode의 사용량을 보여줌

  

  du 명령

  -  디렉터리(또는 특정 파일)의 디스크 사용량을 표시하는 명령

  -  du [options]  [directories]

    ▷ directories는 특정 파일 또는 디렉터리, 기본적으로 하위 디렉터리를 포함하고 1KiB단위로 출력함

option 설명
 -a  디렉터리 외에 파일의 디스크 사용량도 출력함
 -s  주어진 디렉터리 또는 파일만의 총 사용량을 요약하여 출력함

  -   단순 du : 현재 디렉터리와 모든 서브 디렉터리의 사용량을 표시

  -  du --max-depth=1   /home  :  사용자 별로 디스크 사용량 표시

 

'기록하는 중 > UNIX' 카테고리의 다른 글

[Unix] 프로세스 상태  (0) 2023.12.11
[Unix] 프로세스  (0) 2023.12.02
[Unix] 볼륨  (0) 2023.12.02
[Unix] 파티션  (0) 2023.11.30
[Unix] mount와 umount  (0) 2023.11.26