리눅스 fstab

From CS Wiki
Revision as of 03:36, 6 February 2023 by 보안기사 (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
부팅시 자동으로 마운트할 대상을 정의하는 시스템 기본 설정파일
  • 위치: /etc/fstab

설정 방법

vi등으로 설정 파일을 열고 규칙에 맞게 내용을 입력한다.
$ vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon Nov 21 17:30:35 2011
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/VolGroup-lv_root /                       ext4    defaults        1 1
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
# 시스템 기본으로 설정되어 있는 내용 밑에 추가로 기입한다. 규칙은 아래와 같다.
# [대상] [목적지] [파일시스템 유형] [옵션] [덤프 주기(일)] [fsck 순서]

입력 규칙

[파일시스템장치명] [마운트포인트] [파일시스템 종류] [옵션] [덤프설정] [파일시스템 체크 설정]

구분은 띄어쓰기로 한다. 한칸 이상 띄우면 동일하게 인식 되므로, 헷갈리지 않도록 입력값 사이사이를 충분히 띄어주면 된다.

파일시스템 종류

ext, ext2, ext3, ext4, iso9660, nfs, swap, ufs, vfat, msdos, ntfs, hfs, hpfs, sysv, ramdisk 등 사용 가능

옵션

여러개의 옵션을 넣는 경우 띄어쓰기 없이 따옴표로 구분한다. ex) defaults,nofail

  • defaults: rw,nouser,auto,exec,suid 속성을 모두 가진다.
  • auto: 부팅시 자동 마운트
  • noauto: 부팅시 자동 마운트 안됨
  • exec: 실행 파일이 실행 되는 것을 허용
  • noexec: 실행 파일이 실행 되는 것을 허용하지 않음
  • suid: SetUID와 SetGID의 사용을 허용
  • nosuid: SetUID와 SetGID의 사용을 허용하지 않음
  • ro: 읽기전용 마운트
  • rw: 읽기, 쓰기 가능 마운트
  • user: 일반 사용자들도 마운트할 수 있음
  • nouser: 일반 사용자들은 마운트할 수 없음(root계정만 가능)
  • usrquota: 개별 계정사용자의 Quota설정이 가능하도록 함
  • grpquota: 그룹별 Quota설정이 가능하도록 함
  • nofail: 드라이브 마운트에 실패해도 오류를 보고하지 않고 부팅을 이어나감
  • noatime: 파일을 읽을 때 access time을 업데이트하지 않음 (속도 향상)
  • relatime: 파일을 읽을 때 필요한 경우만 access time를 업데이트 (속도 향상)

아래는 NFS 전용 옵션이다.

  • hard: 요청 실패 시 서버가 응답할 때까지 재시도
  • soft: 요청 실패 시 오류를 보고하고 종료
  • rsize=n: NFS 서버로부터 읽어들이는 바이트 수를 지정. 기본값은 1024byte(커널에 따라 다를 수 있음)
  • wsize=n: NFS 서버에 쓰기를 할 때 사용하는 바이트 수. 기본값은 1024byte(커널에 따라 다를 수 있음)
  • timeo=n: RPC 타임아웃이 생기고 나서 첫번째 재전송 요구를 보낼 때 사용되는 시간
    • 1/10 초 단위이다. 기본값은 7 * 1/10 초
    • 최대치인 60 초에 이르거나 너무 많은 재전송 요구가 벌어질때까지 타임아웃 시간이 2 배로 변화
  • retrans=n: 주 타임아웃을 발생시키는 부 타임아웃과 재전송 횟수. 기본값은 3(초)
  • acregmin=n: 서버에게 최신 정보를 요청하기에 앞서 캐시되어야 할 최소 시간. 기본값은 3(초)
  • acregmax=n:서버에게 최신 정보를 요청하기에 앞서 일반 화일의 속성이 캐쉬되어야 할 시간. 기본값은 60(초)
  • acdirmin=n: 서버에게 최신 정보를 요청하기에 앞서 디렉토리의 속성이 캐쉬되어야 할 시간. 기본값은 30(초)
  • acdirmax=n: 서버에게 최신 정보를 요청하기에 앞서 디렉토리의 속성이 캐쉬되어야 할 시간. 기본값은 60(초)
  • actimeo=n: 이 값을 다음 acregmin, acregmax, acdirmin, 와 acdirmax 에 똑같이 적용
  • retry=n: 백그라운드에서 진행 중인 NFS 마운트 작업이 포기하기 전까지 실행할 횟수. 기본값 10000
  • port=n: NFS 서버와 연결할 수 있는 포트 번호. 0 이면(기본값)  원격호스트의 포트매퍼(portmapper) 에게 질의
    • 포트매퍼에 NFS 데몬이 등록되어 있지 않은 경우에는 2049 라는 표준 NFS 포트 번호 사용
  • mountport=n: mountd 포트 번호 지정
  • mounthost=name: mountd 를 실행 중인 호스트 명 지정
  • mountprog=n: 원격 호스트의 마운트 데몬과 접속하기 위해 사용할 수 있는 별도의 RPC 프로그램 번호
    • 기본값은 표준 RPC 마운트 데몬 프로그램 번호인 100005
  • bg: 만약 첫번째 NFS 마운트 시도가 타임아웃 걸리면 백그라운드에서 실행을 계속
  • fg: 첫번째 NFS 마운트 시도에서 타임아웃이 걸리면 그 즉시 포기(기본값)
  • tcp: NFS 화일 시스템을 기본값인 UDP 가 아니라 TCP 프로토콜을 사용하여 마운트
  • udp: NFS 화일 시스템을 UDP 프로토콜로 마운트(기본값)

덤프 설정

  • 0: 덤프가 불가능하게 설정
  • 1: 덤프가 가능하게 설정

파일시스템 체크

fsck에 의한 무결성 검사 우선순위 설정

  • 0: 무결성 검사를 하지 않음
  • 1: 우선순위 1위로 검사 수행
  • 2: 우선순위 2위로 검사 수행

적용 방법

  • 파일 내용을 저장해두면 자동으로 적용된다.
  • 단, 해당 파일은 부팅 시 사용되는 설정 파일이므로, fstab에 내용을 적는다고 바로 마운트 되는 것은 절대 아니며, 다음 부팅 시 적용되는 것이다. 현 부팅 상태에서 마운트를 하고자 한다면 mount 명령어를 사용하여 별도로 수행해주어야 한다.

예제

  • NFS 디렉터리 마운트하기[1]
    • NFS 서버 도메인은 data.example.com이고 공유 디렉터리명은 /shared이다.
    • NFS 클라이언트에서 마운트할 디렉터리명은 /remote_data이다.
data.example.com:/shared /remote_data nfs timeo=30,soft,retrans=5 0 0
  1. http://q.fran.kr/문제/6526 리눅스마스터 1급 기출문제