리눅스 fstab: Difference between revisions

From IT Wiki
No edit summary
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
;부팅시 자동으로 마운트할 대상을 정의하는 시스템 기본 설정파일
;부팅시 자동으로 마운트할 대상을 정의하는 시스템 기본 설정파일
위치 : /etc/fstab


== 사용법 ==
* 위치: /etc/fstab
 
== 설정 방법 ==
; vi등으로 설정 파일을 열고 규칙에 맞게 내용을 입력한다.
; vi등으로 설정 파일을 열고 규칙에 맞게 내용을 입력한다.
<pre class='shell'>
<pre class='shell'>
Line 21: Line 22:
# [대상] [목적지] [파일시스템 유형] [옵션] [덤프 주기(일)] [fsck 순서]
# [대상] [목적지] [파일시스템 유형] [옵션] [덤프 주기(일)] [fsck 순서]
</pre>
</pre>
=== 입력 규칙 ===
<blockquote>[파일시스템장치명] [마운트포인트] [파일시스템 종류] [옵션] [덤프설정] [파일시스템 체크 설정]</blockquote>구분은 띄어쓰기로 한다. 한칸 이상 띄우면 동일하게 인식 되므로, 헷갈리지 않도록 입력값 사이사이를 충분히 띄어주면 된다.
=== 파일시스템 종류 ===
ext, ext2, ext3, ext4, iso9660, nfs, swap, ufs, vfat, msdos, ntfs, hfs, hpfs, sysv, ramdisk 등 사용 가능


=== 옵션 ===
=== 옵션 ===
* defaults : rw,nouser,auto,exec,suid 속성을 모두 가진다.
여러개의 옵션을 넣는 경우 '''띄어쓰기 없이''' 따옴표로 구분한다. ex) defaults,nofail
* auto : 부팅시 자동 마운트
* defaults: rw,nouser,auto,exec,suid 속성을 모두 가진다.
* noauto : 부팅시 자동 마운트 안됨
* auto: 부팅시 자동 마운트
* exec : 실행 파일이 실행 되는 것을 허용
* noauto: 부팅시 자동 마운트 안됨
* noexec : 실행 파일이 실행 되는 것을 허용하지 않음
* exec: 실행 파일이 실행 되는 것을 허용
* suid : SetUID와 SetGID의 사용을 허용
* noexec: 실행 파일이 실행 되는 것을 허용하지 않음
* nosuid : SetUID와 SetGID의 사용을 허용하지 않음
* suid: SetUID와 SetGID의 사용을 허용
* ro : 읽기전용 마운트
* nosuid: SetUID와 SetGID의 사용을 허용하지 않음
* rw : 읽기, 쓰기 가능 마운트
* ro: 읽기전용 마운트
* user : 일반 사용자들도 마운트할 수 있음
* rw: 읽기, 쓰기 가능 마운트
* nouser : 일반 사용자들은 마운트할 수 없음(root계정만 가능)
* user: 일반 사용자들도 마운트할 수 있음
* usrquota : 개별 계정사용자의 Quota설정이 가능하도록 함
* nouser: 일반 사용자들은 마운트할 수 없음(root계정만 가능)
* grpquota : 그룹별 Quota설정이 가능하도록 함
* 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 명령어를 사용하여 별도로 수행해주어야 한다.


== 예제 ==
== 예제 ==
Line 44: Line 95:
data.example.com:/shared /remote_data nfs timeo=30,soft,retrans=5 0 0
data.example.com:/shared /remote_data nfs timeo=30,soft,retrans=5 0 0
</pre>
</pre>
[[분류:리눅스]]
[[분류:리눅스 파일]]

Latest revision as of 17:36, 6 February 2023

부팅시 자동으로 마운트할 대상을 정의하는 시스템 기본 설정파일
  • 위치: /etc/fstab

설정 방법[edit | edit source]

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 순서]

입력 규칙[edit | edit source]

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

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

파일시스템 종류[edit | edit source]

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

옵션[edit | edit source]

여러개의 옵션을 넣는 경우 띄어쓰기 없이 따옴표로 구분한다. 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 프로토콜로 마운트(기본값)

덤프 설정[edit | edit source]

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

파일시스템 체크[edit | edit source]

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

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

적용 방법[edit | edit source]

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

예제[edit | edit source]

  • 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급 기출문제