00 개요
- 리눅스에는 여러 디렉토리가 있다 (참조: 2024.03.20 - [LINUX/디렉토리] - Linux 디렉토리 구조 )
- 그 중 구성 (Configuration) 파일들이 모여있는 etc 폴더 안에는 fstab이라는 파일이 있는데 이 파일은 mount 설정 파일로서 여러 파일 시스템에 대한 정적 정보를 담고 있다
01 fstab 파일
0. 용어
1) mount
- 컴퓨터 과학에서 mount란 저장 장치에 접근할 수 있는 경로를 디렉토리 구조에 편입시키는 작업을 의미
- 쉽게 말해 어떠한 것을 Available 한 상태로 준비하는 것
2) NFS
- 'Network File System'의 약자
- 분산된 파일 시스템 프로토콜 (통신규약)
- 클라이언트 컴퓨터의 사용자가 로컬 저장소와 유사하게 컴퓨터 네트워크 상의 파일에 액세스할 수 있도록 허용하는 프로토콜
1. fstab 파일이란?
- Mount 설정 파일
- 파일 시스템에 대한 정적 정보(static information about the filesystems)를 담고 있음
- 각 파일 시스템은 별도의 줄에 설명되며, 각 줄의 필드는 탭 또는 공백으로 구분
- '#'으로 주석 처리, 공백 줄은 무시됨
- fstab의 레코드 순서 중요 - fsck(8), mount(8), umount(8)는 fstab을 순차적으로 반복하여 작업을 수행하기 때문
2. fstab 내용
# /etc/fstab
# Created by anaconda on Thu Apr 18 10:35:55 2024
#
# 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/rhel-root / xfs defaults 0 0
UUID=0224acdc-d77c-46db-9a36-dacdb094ea19 /boot xfs defaults 0 0
/dev/mapper/rhel-swap swap swap defaults 0 0
10.0.0.26:/opt/LSF-10.1_RHEL7.9 /opt/LSF-10.1_RHEL7.9 nfs auto 0 0
- 각 줄은 6개의 필드로 구성됨
- 각 필드는 탭(' ') 또는 공백(' ')으로 구분됨
- 다음과 같은 정보를 담음
1) 첫번째 필드: fs_spec
- : the block special device or mount될 원격 파일시스템 (remote filesystem to be mounted)
- For ordinary mounts it will hold (a link to) a block special device node (as created by mknod(8)) for the device to be mounted, like `/dev/cdrom' or `/dev/sdb7'
- For NFS (Network File System) mounts one will have <host>:<dir>, e.g., `knuth.aeb.nl:/'
- For procfs, use `proc'
- Instead of giving the device explicitly, one may indicate the filesystem that is to be mounted by its UUID or LABEL (cf. e2label(8) or xfs_admin(8)), writing LABEL=<label> or UUID=<uuid>, e.g., 'LABEL=Boot' or 'UUID=3e6be9de-8139-11d1-9106-a43f08d823a6'
- It's also possible to use PARTUUID= and PARTLABEL=. These partitions identifiers are supported for GUID Partition Table (GPT) and MAC partition table only
- See blkid(8) or lsblk(8) for more details about devices identifiers
- Note that mount(8) uses UUIDs as strings. The string representation of the UUID should be based on lower case characters
2) 두번째 필드: fs_file
- : mount 될 파일시스템의 목적 경로 (mount point for the filesystem)
- For swap partitions, this field should be specified as 'none'
- If the name of the mount point contains spaces these can be escaped as '\040'
3) 세번째 필드: fs_vfstype
- : 파일시스템의 type
- Linux supports lots of filesystem types:
- adfs, affs, autofs, coda, coherent, cramfs, devpts, efs, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, ntfs, proc, qnx4, reiserfs, romfs, smbfs, sysv, tmpfs, udf, ufs, umsdos, vfat, xenix, xfs, and possibly others (For more details, see mount(8))
- For the filesystems currently supported by the running kernel, see /proc/filesystems
- An entry swap denotes a file or partition to be used for swapping, cf. swapon(8). An entry none is useful for bind or move mounts.
- mount(8) and umount(8) support filesystem subtypes
- The subtype is defined by '.subtype' suffix (e.g., 'fuse.sshfs')
- recommended to use subtype notation rather than add any prefix to the first fstab field (e.g., 'sshfs#example.com' is deprecated)
4) 네번째 필드: fs_mntops
- : 파일시스템과 관련된 mount options
- 형식: a comma separated list of options
- contains at least the type of mount plus any additional options appropriate to the filesystem type
- For documentation on the available mount options, see mount(8)
- For documentation on the available swap options, see swapon(8)
- 기본 옵션:
- defaults: use default options: rw, suid, dev, exec, auto, nouser, and async
- noauto: do not mount when "mount -a" is given (e.g., at boot time)
- user: allow a user to mount
- owner: allow device owner to mount
- comment: or x-<name> for use by fstab-maintaining programs
- nofail: do not report errors for this device if it does not exist
5) 다섯번째 필드: fs_freq
- : used for these filesystems by the dump(8) command to determine which filesystems need to be dumped
- If the fifth field is not present, a value of zero is returned and dump will assume that the filesystem does not need to be dumped
- dump란
- examines files on a file system and determines which files need to be backed up. These files are copied to the given disk, tape or other storage medium for safe keeping.
- 덤프는 컴퓨터 주기억장치나 레지스터, 데이터, 프로그램의 전체 또는 일부 자료에 기억시킨 내용을 보조기억장치 등 기록 매체에 복사 또는 전이하는 조작을 의미
- easy definition: 기억장치의 내용을 전부/일부를 인쇄하여 출력하는 것으로 출력을 꼭 종이로 하는 것이 아니라 주기억장치에서 보조기억장치에 복사하는 것을 의미
- 주로 복잡한 프로그램이나 S/W 사업할 때 사용됨
6) 여번째 필드: fs_passno
- : used by the fsck(8) program to determine the order in which filesystem checks are done at reboot time
- The root filesystem should be specified with a fs_passno of 1, and other filesystems should have a fs_passno of 2
- Filesystems within a drive will be checked sequentially, but filesystems on different drives will be checked at the same time to utilize parallelism available in the hardware
- If the sixth field is not present or zero, a value of zero is returned and fsck will assume that the filesystem does not need to be checked
참조
- man fstab
- (mount) https://ko.wikipedia.org/wiki/마운트#:~:text=마운트(mount)는%20컴퓨터%20과학,를%20사용하는%20것을%20말한다.
- (mount) https://blog.naver.com/dbwodlf3/220980418851
- (NFS) https://en.wikipedia.org/wiki/Network_File_System
- (dump) https://man.freebsd.org/cgi/man.cgi?query=dump&sektion=8&apropos=0&manpath=FreeBSD+8.0-RELEASE
- (dump) https://ohdiki1314.tistory.com/67
'OS 운영체제 > LINUX' 카테고리의 다른 글
dialog (dialog 박스 시각화 패키지) (0) | 2024.05.10 |
---|---|
NFS란 (네트워크 파일 시스템) (0) | 2024.05.02 |
exportfs (nfs을 export/unexport하는 명령어) (0) | 2024.05.02 |
chkconfig (실행 프로그램 설정 도구) (0) | 2024.04.30 |
nohup (터미널 끊겨도 proc 진행 시키는 명령어) (0) | 2024.04.29 |