부팅 시 파일시스템 자동 마운트(/etc/fstab)
/etc/fstab은 파일시스템 마운트 테이블이 기록되어있는 파일로
시스템이 부팅되면서 이 파일의 기록 대로 자동 mount합니다.
fstab의 구성
LABEL=/12 | / | ext3 | default | 1 | 1 |
디바이스명 | 마운트위치 | 파일시스템 | 옵션 | 덤프 | fsck |
디바이스필드
UUID로 디바이스 표시하기
UUID(Universally Unique IDentifier)는 생성된 파티션 장치를 포맷할 때마다 자동으로 부여되는 고유의 번호로,
/sbin/blkid 명령으로 모든 파티션의 UUID 값을 간단하게 확인할 수 있습니다.
예)blkid의 사용
root@test2:~# blkid
/dev/sda1: UUID="07e94eab-3641-4521-9be3-8e58edc2ebd8" TYPE="ext4"
/dev/sda5: UUID="48d630eb-2948-4771-ab15-4cf2a895ef7a" TYPE="swap"
/dev/sda6: UUID="61968d71-b87d-46dd-8a12-b80e34113e8e" TYPE="ext4"
/dev/sdb1: UUID="fcc51ad3-3b12-48c3-a8bb-975993c7ab92" TYPE="ext4"
예)원하는 파티션의 UUID도 알수 있습니다.
root@test2:~# blkid /dev/sda1
/dev/sda1: UUID="07e94eab-3641-4521-9be3-8e58edc2ebd8" TYPE="ext4"
/dev/disk/by-uuid 디렉토리에 UUID 정보가 저장되므로 ls -l /dev/disk/by-uuid 명령으로도 확인이 가능
예)ls -l 로 uuid 확인
root@test2:~# ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 Feb 14 16:09 07e94eab-3641-4521-9be3-8e58edc2ebd8 -> ../../sda1
lrwxrwxrwx 1 root root 10 Feb 14 16:09 48d630eb-2948-4771-ab15-4cf2a895ef7a -> ../../sda5
lrwxrwxrwx 1 root root 10 Feb 14 16:09 61968d71-b87d-46dd-8a12-b80e34113e8e -> ../../sda6
lrwxrwxrwx 1 root root 10 Feb 14 16:09 fcc51ad3-3b12-48c3-a8bb-975993c7ab92 -> ../../sdb1
예)상기명령의 결과를 UUID와 디바이스명으로 나오게 하기
root@test2:~# ls -l /dev/disk/by-uuid/ | awk '{ print $9,$11}' | perl -pi -e "s@../..@/dev@g"
07e94eab-3641-4521-9be3-8e58edc2ebd8 /dev/sda1
48d630eb-2948-4771-ab15-4cf2a895ef7a /dev/sda5
61968d71-b87d-46dd-8a12-b80e34113e8e /dev/sda6
fcc51ad3-3b12-48c3-a8bb-975993c7ab92 /dev/sdb1
예)반대로 UUID값이 어떤 디바이스명을 갖는지는 findfs 명령으로 확인 할 수 있습니다.
root@test2:~# findfs UUID=fcc51ad3-3b12-48c3-a8bb-975993c7ab92
/dev/sdb1
정리 : UUID의 사용 장단점
장점
UUID로 파티션 디바이스명을 나타내는 방식은하드 디스크의 위치가 변경되더라도(예)sda->sdb)
UUID는 변함이 없기 떄문에 부트로더와 fstab 파일에서 마운트 정보를 수정하지 않아도 장치명 문제로 커널패닉에 빠질염려가 없고
정상적으로 마운트 됩니다.
단점
복잡한 숫자로 구성되어 있어서 findfs같은 도구를 이용하여 디바이스명을 변환하지 않는 한 정확한 디바이스명을 파알하기 어렵다.
라벨명으로 디바이스명 나타내기
고전적 파티션 디바이스명(/dev/hda1)대신 LABEL=/test 와 같이 라벨명으로도 e2label도구를 이용 표현할 수있습니다.
e2label 디바이스명 새라벨명
예)e2label /dev/hda1 /newname
이 명령으로 새롭게 지정한 라벨명은 /etc/fstab 파일에 하드 디스크의
디바이스명 대신에 "LABEL=/라벨명(16자)" 과 같은형식으로 교체가 가능합니다.
수정 후 재시작 하면 해당 파티션에 대해 라벨명으로 마운트 됩니다.
단점으로는 UUID 디바이스명 라벨명 혼동이있을 수 있습니다.
이 경우 findfs LABEL=/라벨명 명령을 이용 라벨에 해당되는 파티션을 알아낼 수 있습니다.
마운트 위치(mount point) 필드
파티션 또는 파일시스템이 마운트되어질 위치를 지정합니다. 스왑 파티션은 swap 으로 지정
파일시스템 종류(filesystem) 필드
해당 파티션이 갖고 있는 파일시스템의 종류를 지정합니다. 지원하는 리눅스 파일시스템으로는 ext2,ext3,reiserfs,jfs,xfs 등이 있으며,
그 외 다른 파일시스템으로는 msdos, vfat, ntfs, iso9660, nfs, udf 등이 있으며, 어떤 파일시스템을 갖는지 모를 때에는
auto로 지정해주면 자동으로 파일시스템을 인식하게 됩니다.
옵션(options) 필드
파일시스템 마운트에 대한 옵션을 부여할 수 있습니다. default 옵션은 기본 옵션을 사용하여 마운트되도록 하는것으로, 일반 사용자가 마운트 할 수 없게 하는 옵션인 nouser와 프로그램 실행(exec), 읽기(ro), 쓰기(rw), 비동기(async), 그리고 블록(block) 등의 옵션을 포함합니다. 플로피 디스크나 CD/DVD 경우에는 noauto,user 옵션이 사용되는데 noauto 부팅시 자동으로 마운트되도록 마운트되지 않도록 하는 옵션이며, user 옵션은 일방 사용자도 파일시스템을 마운트 할 수 있도록 하는 옵션입니다. default 명령 뒤에 콤마(,) 로도 다른 옵션을 지정할 수 있습니다. 만을 디스크 쿼터에 관한 옵션을 지정하고자 한다면 다음과 같은 형식으로 지정
LAVEL=/123 / ext defaults,usrquota 1 1
덤프(dump) 필드
덤프 필드는 dump 명령으로 파일 시스템을 덤프할 것인가를 결정, 1은 리눅스 파일 시스템일 때 사용하고 그 외 0을 사용
fsck(파일시스템 점검) 필드
마지막 필드로 파일 시스템을 점검할 것인가? 설정
1.루트파일시스템에 대해서 적용 fsck에 의해 해당 파일시스템 점검
0.부팅시 파일시스템을 점검하지않는다.
2.병렬처리
root파일시스템에대해서 1 그 외 2로 적용
부팅 후 /etc/fstab에 의해서 자동으로 마운트되는 정보는 /etc/mtab 파일에 저장됩니다.
자동 마운트(automount, autofs)
CD/DVD 를 드라이브에 넣으면 마운트를 하지 않아도 이들 드라이브가 마운트되는 마운트 위치로 접근하면 자동 마운트 되는 기능이다.
윈도 리눅스간 자료공유 서버인 삼바(samba)와 리눅스 리눅스 사이 자료공유 서버인 NFS(Network Filesystem)에 서버 공유 디렉토리를 자동으로 마운트 되도록 할 떄 융요한 기능 입니다.
automount?
자동 마운트 데몬(autofs)에 의해 어느 특정 파티션이 필요한 경우에 자도으로 마운트와 언마운트가 이뤄지도록 하는 동적 마운트 방식
특정 파티션이 마운트되지 않은 상태에서, 시스템 관리자가 그 파티션을 직접 마운트시키지 않아도 사용자가 그 파티션이 마운트될 경로에 접근시 자동적으로 마운트가 이뤄지고 미사용시 주어진 시간후 자동으로 언마운트 이뤄짐
설정
autofs 패키지 설치
apt-get install -y autofs
autofs는 master map 설정 파일(/etc/autofs/auto.master)를 참고 이미 정의된 마운트 지점을 알아내고 마운트 지점 아래로 마운트되도록 정의된(/etc/autofs/auto.misc 파일의 설정을 읽어들여 특정 파티션의 파일시스템을 마운트시키고, 언마운트시키게 합니다.
/etc/autofs/auto.master 구조
마운트 지점 마운트 포인트 설정 파일 옵션~~~~
마운트지점 : 마운트 상위디렉토리 (주의점) 마운트지점 디렉토리 하위에 디렉토리생성금지
예) /media /etc/autofs/auto.misc --timeout=60
해당 맵 파일을 읽어 맵파일정보대로 /media 아래에 자동마운트 미사용시 60초후 자동 언마운트
/etc/autofs/auto.misc 구조
마운트 관련 정보를 담고있는 3개의 필드로 구성되는 맵파일
마운트위치 마운트옵션 :마운트디바이스
예)sda10 -fstype=ext4 :/dev/sda10
자동마운트 예제
예제)
/dev/sdb1 파티션을 /mnt/sdb1 디렉토리로 자동으로 마운트 1분후 자동 언마운트 설정
1. /etc/autofs/auto/master 마스터맵 파일 수정
/mnt /etc/autofs/auto.misc --timeout=60
2. /etc/autofs/auto.misc 파일에 다음과 같이 마운트 정보를 설정
sdb1 -fstype=ext4 ;/dev/sdb1
3. autofs 데몬 재시작
# service autofs restart
4. /dev/sdb1 파티션이 마운트 되었는지 /mnt/sdb1 디렉토리 이동 후 ls 명령으로 마운트 데이터 확인
df 명령으로 마운트 재확인
부팅시 모든 파티션 자동 마운트
1. fstab 을 이용한 부팅시 자동 마운트
2. autofs 를 이용한 자동 마운트