[리눅스 일반] 파일시스템 튜닝하기 (tune2fs)

1. 파일시스템 튜닝명령어 tune2fs 개론

– tune2fs 는 리눅스 파일시스템의 변경가능한 파라미터값을 설정하는 명령어임. 즉, 파일시스템의 파라미터값을 변경함으로서 파일시스템을 튜닝할 수 있으며 결과적으로 시스템의 성능을 향상시킬 수 있음. 하지만, tune2fs는 파일시스템의 파라미터값을 변경하는 것이므로 잘못하용하면 파일시스템에 큰 손상을 입힐 수도 있음.

– 사용형식
tune2fs [ -l ] [ -c 최대마운트횟수] [ -e 에러발생시반응 ] [ -i 각점검간의간격 ] [ -m 예약블록퍼센트] [ -r 예약블록갯수 ] [ -u 사용자 ] [ -g 그룹 ] 장치명

2. 특정 파일시스템의 수퍼블록정보 확인하기

– tune2fs -l /dev/sda1

– dumpe2fs -h 명령어를 사용한 것과 동일한 결과를 출력함.

3. 특정 파일시스템의 최재 마운트횟수 설정하기

– 파일시스템의 최대 마운트횟수를 변경하려면 -c 옵션을 사용하면 됨
tune2fs -c 100 /dev/sda1

– /dev/sda1 파일시스템의 최대 마운트횟수가 100으로 변경됨

4. 특정 파일시스템의 예약블록갯수 변경하기

– tune2fs -r 10000000 /dev/sda1

– -r 옵션을 사용하면 특정 파일시스템의 예약블록갯수를 변경할 수 있음.

5. 특정 파일시스템의 예약된 블록을 사용할 수 있는 그룹 설정하기

– 예약된 블록은 기본적으로 root 그룹만이 사용가능하도록 기본설정이 되어있음.

– tune2fs -g wheel /dev/sda1

– tune2fs -g 10 /dev/sda1

– -g 옵션으로 그룹명과 GID로 설정이 가능함.

6. 특정 파일시스템의 예약된 블록을 사용할 수 있는 사용자 설정하기

– 예약된 블록은 기본적으로 root 사용자만이 사용가능하도록 기본설정이 되어있음.

– tune2fs -u stkim /dev/sda1

– tune2fs -u 501 /dev/sda1

– -u 옵션으로 사용자명과 UID로 설정이 가능함

7. 파일시스템의 예약블록퍼센트 설정하기

– 파일시스템의 예약블록은 기본적으로 5%로 설정이 됨. 이를 변경하기 위해서는 -m 옵션을 사용함.

– tune2fs -m 20 /dev/sda1

8. 변경된 수퍼블록의 파라미터값들 확인하기

– tune2fs -l /dev/sda1

– -l 옵션으로 해당 파일시스템의 설정값들을 확인할 수 있음.

[리눅스 일반] 파일시스템 자동마운트 정보파일 /etc/fstab

1. 리눅스 파일시스템 마운트 설정정보파일 /etc/fstab 의 파워활용

– 해당파일시스템의 장치명(device name)

– 파일시스템이 마운트될 마운트포인트(디렉토리명)

– 파일시스템 타입(ext2, ext3, iso9660, swap등)

– 파일시스템을 Read Only로 마운트할 것인가?

– 파일시스템을 Read, Write로 마운트할 것인가?

– Quota정책을 적용할 것인가?

– 일반 사용자도 마운트할 수 있도록 허용할 것인가?

– 부팅시 자동으로 마운트를 할 것인가?

– SerUIS, SetGID 설정을 허용할 것인가?

– fsck로 파일시스템검사시 검사하는 순서설정

– /etc/fstab 파일의 표시 예 #1 (파일시스템장치명을 ‘레이블명’ 으로 표시)
LABEL=/        /        ext3        defaults        1   1

– /etc/fstab 파일의 표시예 #2 (파일시스템장치명을 ‘장치명’ 으로 표시)
/dev/hda5     /         ext3        defaults        1   1

– /etc/fstab 파일이 ‘레이블명’ 으로 되어있는 것 보다는 명확한 ‘파일시스템장치명’ 으로 표시하는 것이 서버관리에 효과적임

2. /etc/fstab 파일의 구조

– /etc/fstab 파일의 각행은 모두 6개의 항목으로 구분되어 있음
[파일시스템장치명] [마운트포인트] [파일시스템종류] [옵션] [dump관련설정] [파일점검옵션]

3. [파일시스템장치명] : /etc/fstab 파일의 첫번째 항목

– 파일시스템의 장치명을 설정함( /dev/sda1, /dev/hda2 등과 같은 파일시스템 장치명의 자리)

– 만약 파일시스템에 레이블(LABEL)이 설정되어 있다면 장치명 대신 레이블명으로 지정할 수도 있음.

4. [마운트포인트] : /etc/fstab 파일의 두번째 항목

– 파일시스템이 마운트될 마운트포인트임( /, /home 과 같은 이름을 의미)

– /home 과 /home1 과 같은 부분을 마운트포인트라고 함

5. [파일시스템종류] : /etc/fstab 파일의 세번째 항목

– 파일시스템의 종류를 설정하는 항목

– ext : 초기 리눅스에서 사용되었던 파일시스템으로서 현재는 사용하지 않음

– ext2 : 현재 많이 사용하고 있는 파일시스템으로서 긴파일명을 지원하는 것이 특징

– ext3 : 저널링파일시스템으로서 etx2에 비해 파일시스템 복구기능과 보안부분을 크게 향상시킨 것으로 현재는 ext2보다 ext3을 기본 파일시스템 타입으로 사용하고 있음.

– iso9660 : CD-ROM의 표준파일시스템으로서 Read Only로 사용됨.

– nfs : Network File System으로서 원격서버를 마운트할 때 사용함.

– swap : 스왑파일시스템으로서 스왑공간으로 사용되는 파일시스템에 사용됨.

– ufs : UNIX FileSystem으로서 UNIX SYSTEM 5계열에서는 표준파일시스템임.

– vfat : 윈도우 95나 98, 그리고 NT를 지원하기 위한 파일시스템.

– msdos : MS-DOS파티션을 사용하기 위한 파일시스템.

– hpfs : HPFS에 대한 파일시스템.

– ntfs : 윈도우NT나 2000의 NTFS파일시스템을 사용하기위한 파일시스템

– sysv : 유닉스시스템 V를 지원하기 위한 파일시스템.

– hfs : Mac컴퓨터의 hfs 파일시스템을 지원하기 위한 파일시스템.

– ramdisk : RAM디스크를 지원하는 파일시스템

– …그외 다수.

– 현재 사용하고 있는 리눅스시스템에서 지원가능한 파일시스템을 확인해 보려면 /proc/filesystems 를 확인하면 됨.

6. [옵션] : /etc/fsta 파일의 네번째 항목

– 파일시스템을 용도에 맞게 사용하기 위한 파일시스템 속성을 설정하는 옵션

– defaults : rw, nouser, auto, exec, suid 속성을 모두 가지는 속성. 가장 일반적인 파일시스템에서 사용되는 속성.

– auto : 부팅시 자동마운트됨.

– exec : 실행파일이 실행되는 것을 허용하는 파일시스템.

– suid : SetUID와 SetGID의 사용을 허용하는 파일시스템.

– ro : 읽기전용 파일시스템으로만 사용됨 (Read Only)

– rw : 읽고 쓰기 파일시스템으로 사용됨 (Read, Write)

– user : 일반 계정사용자들도 마운트를 할 수 있는 파일시스템.

– nouser : 일반 계정사용자들은 마운트 할 수 없는 파일시스템. root 만 mount 할 수 있음.

– noauto : 부팅시 자동마운트되지 않게 함.

– noexec : 실행파일을 실행되지 못하게 하는 파일시스템.

– nosuid : SetUID와 SetGID의 사용을 허용하지 않는 파일시스템.

– usrquota : 개별 계정사용자의 쿼타(Quota)설정이 가능한 파일시스템.

– grpquota : 그룹별 쿼타(Quota)설정이 가능한 파일시스템.

7. [dump 관련설정] : /etc/fstab 파일의 다섯번째 항목

– /etc/fstab 파일의 다섯번째 설정항목으로서 0 또는 1 을 가질 수 있음. 1 은 데이터백업등을 위해 dump 가 가능한 파일시스템이며, 0 은 dump 명령으로 덤프되지 않는 파일시스템임.

8. [파일점검옵션] : /etc/fstab 파일의 여섯번째 항목

– /etc/fstab 파일의 여섯번째 설정항목으로서 0 또는 1, 그리고 2 가 올 수 있음. 0 은 부팅시 실행되는 fsck 가 실행되지 않는 설정이며, 1 은 루트파일시스템을 의미하며, 2는 루트파일시스템이외의 파일시스템을 의미함. 여기서 설정된 파일시스템의 순서를 기준으로 부팅시 실행되는 fsck 의 순서가 결정됨.