2011. 8. 9. 05:00

■ fstab - 파일 시스템에 대한 정보를 고정적으로 저장

/etc/fstab 파일은 보통 리눅스 설치단계에서 루트 파일시스템과 시스템에서 사용될

다른 파일시스템 정보를 바탕으로 자동적으로 만들어 진다.

fstab 파일은 리눅스에서 사용하는 파일시스템 정보를 고정적으로 저장하고 있는 파일로

시스템이 부팅될 때 자동으로 마운트되거나 사용자가 직접 마운트한다.

fstab파일의 정보가 조금이라도 잘못되면 부팅과정의 파일시스템 마운트 단계에서 멈춤.

 

◈ /etc/fstab 파일 예제:

<file system>

<mount point>

<type>

<options>

<dump>

<pass>

/dev/VolGroup00/LogVol00

/

ext3

defaults

1

1

LABEL=/boot

/boot

ext3

defaults

1

2

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

/dev/VolGroup00/LogVol01

swap

swap

defaults

0

0

/dev/sda1

/mnt/windows

vfat

noauto

0

0

( 직관적으로 보기 위해UUID 목록 제외 )

☞ 루트 파일시스템(/) 과 스왑 파티션(swap)의 경우 논리적 볼륨 관리자(LVM)의 볼륨으로 설정.

- LVM은 볼륨 ID는 그대로 유지하면서 물리적인 파티션들을 이동시키거나 연결하기 쉽도록 만들어 줌.

☞ 여러 가상 파일시스템(물리적 파티션이 없는 파일시스템)으로 구성.

- devpts(pts 가상 터미널 인터페이스)

- sysfs(커널 2.6에 관한 정보 제공 통로)

- proc(커널 2.6 이전에 구현된 커널 정보 제공 통로) 등

☞ 마지막 /dev/sda1 디스크 파티션의 경우, 하드디스크에 있는 윈도우 파티션을 마운트하기 위해 사용자가 직접 추가.

 

※ 과거 리눅스 버전과 달리 /etc/fstab 파일에서는 이제 더 이상 이동식 저장장치 정보를 관리하지 않음.

이러한 이동식 저장장치들은 하드웨어 추상화 계층(Hardware Abstraction Layer, HAL)이라고 하는

시스템에 의해 자동적으로 검색된 후, /media 디렉토리에 생성된 전용 마운트 지점

(디바이스 볼륨 ID 정보 등을 바탕으로 생성)에 마운트 된다.

- 필요하다면 /etc/fstab 파일에 자신만의 하드디스크 또는 이동식 저장장치 파티션에 대한 정보 추가.

- 원격지 파일시스템(NFS, 삼바 등) 역시 /etc/fstab 파일에 포함될 수 있음.

 

◈ /etc/fstab 파일의 필드

필 드

설 명

1 <file system>

파일시스템을 대표하는 디바이스명:

⇒ 마운트되는 파티션의 디바이스명(/dev/sda1와 같은) 표시.

(그러나 최근에는 디바이스명 대신 LABEL 또는 UUID를 사용)

2 <mount point>

파일시스템이 마운트될 위치:

⇒ 마운트된 파일시스템의 모든 디렉토리 트리구조와 저장된 데이터가 이 지점과 연결.

3 <type>

파일시스템 유형:

⇒ ext?, tmpfs, devpts, sysfs, swap, vfat, hfs, ufs …와 같은 파일시스템 장치 종류

/proc/filesystems에서 리눅스에서 현재 사용하고 있는 지원가능한 파일시스템 확인

4 <options>

마운트 옵션:

⇒ 파일시스템을 용도에 맞게 사용하기 위한 파일시스템 속성 설정.

⇒ defaults, auto, exec, suid, ro, rw, user, nouser 등 (man mount 에서 -o 옵션 참조)

5 <dump>

파일시스템 덤프 여부: ( 0 또는 1의 값을 가짐)

dump 명령을 사용하여 백업을 수행할 때에만 의미가 있다.

숫자 0 : dump 명령으로 덤프 되지 않는 파일시스템.

숫자 1 : 데이터 백업등을 위해 dump가 가능한 파일시스템.

6 <pass>

파일시스템 검사 여부:

fsck 명령을 사용한 무결성 검사가 필요한지 여부를 가리킨다.

숫자 0 : 해당 파일시스템에 검사가 필요 없음 (fsck가 실행 되지 않음)

숫자 1 : 먼저 파일시스템 검사가 필요 (루트 파일시스템)

숫자 2 : 루트 파일시스템을 제외한 나머지 파일시스템을 의미

 

 

[ 디바이스명 대신 UUID를 사용하자 ]

♧ 하드디스크를 추가한 후 드바이스명이 순서가 바뀔 수 있다.

이런경우 하드디스크의 고유한 UUID 를 이용하면 바뀌는 것에 신경을 쓰지 않아도 된다.

 

fstabdata용으로 쓸 /dev/sda3을 마운트 해보자.

 

① fstab에 추가할 디바이스 UUID 확인

$ blkid -o list

device            fs_type label     mount point       UUID

-----------------------------------------------------------------------------------

/dev/sda1     ext4                      /                            01b059a5-5924-4a72-968d-88df4ad60374

/dev/sda2     swap                  <swap>               285a650a-1313-496f-aa6c-9c574c15d912

/dev/sda3     ext4                     /data                    e3853343-ec3b-4933-b0e0-2a872112ed6d

 

② /etc/fstab 파일 편집

# data was on /dev/sda3

UUID=e3853343-ec3b-4933-b0e0-2a872112ed6d     /data     ext4      defaults     0 0

☞ /dev/sda3 디바이스명을 위처럼 UUID=e3853343… 처럼 바꿔주면 된다.

 

이렇게 하면 추후 하드디스크를 추가해서 드라이브문자가 바뀐다고 해도 이상 없이 작동한다.

Posted by devanix