[리눅스 일반] 파일시스템 튜닝하기 (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 의 순서가 결정됨.

[리눅스 일반] 파일시스템 마운트

 1. 마운트의 의미

– 특정 디바이스(device)를 사용하기 위해 하드웨어장치와 디렉토리를 연결하는 작업을 의미

 
 2. 사용형식

 – mount -a [-fnrvw] [-t 파일시스템타입]

 – mount [-fnrvw] [-o 옵션[,…]] 장치| 디렉토리

 – mount [-fnrvw] [-t 파일시스템타입] [-o 옵션] 장치디렉토리

 – 현재 마운트되어 있는 정보 확인
 Shell# mount

 3. 리눅스에 장착된 CD-ROM 데이터 사용하기

 – CD-ROM 마운트 형식 : mount -t iso9660 /dev/cdrom /mnt/cdrom

 4. 실제로 마운트하지 않고 마운트 가능여부만을 확인하기

 – mount -f /dev/hdb /bakup

 – mount 명령어에 -f 옵션을 사용

 5. 특정 시스템을 읽기만 가능하도록 마운트하기(쓰기금지 마운트)

 – mount -r /dev/hda /backup

 – mount 명령어에 -r 옵션을 사용

 – Read-Only 명령어임. 파일시스템내의 데이터를 보호하는 목적에는 최고의 방법

 6. 읽기, 쓰기 가능하도록 마운트하기

 – mount -w /dev/hda /backup

 – mount 명령어에 -w 옵션을 사용. Default로 사용됨

 7. 현재 마운트된 정보 자세히 살펴보기

 – mount -v

 – mount 명령어에 -v 옵션을 사용

 – -v 옵션을 사용하지 않고 그냥 mount 명령어만 입력해도 동일한 결과를 보여줌.

 – mount -v 의 결과는 /etc/mtab 파일에 저장되어 있음. /etc/mtab 파일을 확인해도 동일한 결과를 확인할 수 있음.

 8. 다양한 파일시스템 유형에 맞는 여러가지 마운트 방법

 – 사용형식  : mount -t 파일시스템타입 장치명 마운트포인트

 – -t 다음에 파일시스템의 종류를 지정하면 됨.

 – mount 명령어에서 지정가능한 파일시스템의 종류
adfs,
affs, autofs, coda, coherent, cramfs, devpts, efs, ext, ext2, ext3,
hfs, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, ntfs, proc, qnx4,
ramfs, reiserfs, romfs, smbfs, sysv, tmpfs, udf, ufs, umsdos, vfat,
xenix, xfs, xiafs

 9. ext3 타입의 파일시스템 마운트하기

 – mount -t ext3 /dev/hda /backup

 –
현재 리눅스에서 대표적으로 사용하는 파일시스템이 ext3이므로 mkfs나 mkfs.ext3등으로 파일시스템을 생성 및 포맥작업을
옵션없이 생성하였을 경우에는 기본적으로 ext3타입으로 포맷됨. 따라서 ext3로 생성된 파일시스템을 마운트하려면 -t ext3
라는 옵션이 없어도 ext3 로 마운트가 됨.

 – mount /dev/hda /backup

 10. ext2 타입의 파일시스템 마운트하기

 – mount -t ext2 /dev/hda /backup

 11. iso9660 파일시스템 타입으로 마운트하기

 – mount -t iso9660 /dev/cdrom /mnt/cdrom

 – CD-ROM의 공식적인 파일시스템타입이 iso9660이므로 CD-ROM마운트시에는 반드시 iso9660 타입을 사용해야함.

 – /etc/fstab 에 정의되어있는 정보를 그대로 이용하는 방법도 있음.
/dev/cdrom           /mnt/cdrom          /udf,iso9660 noauto,owner,kudzu,ro 0 0

 – mount /mnt/cdrom

 – 즉, mount /mnt/cdrom 과 같이 마운트포인트만 지정하여 mount 명령을 사용하면 /etc/fstab 파일의 /mnt/cdrom 에 대한 마운트정보가 정의되어있는 그대로 마운트를 하게 됨.

 12. vfat 윈도우 파일시스템 마운트하여 윈도우디스크 사용하기

 – 윈도우파일시스템(vfat로 가정)이 있는 디바이스(device) /dev/hdc 장치를 /win 디렉토리로 마운트 시키는 예

 – mount -t vfat /dev/hdc /win

 13. MSDOS 파일시스템으로 포맷된 디스켓을 마운트하여 사용하는 방법

 – msdos파일시스템으로 /dev/fd0 를 /mnt/floppy 에 마운트 시키는 예
 mount -t msdos /dev/fd0 /mnt/floppy

 – 윈도우 PC에서 사용하던 플로피디스크를 리눅스에서 바로 사용하려면 반드시 msdos파일시스템으로 마운트를 해야 함

 – CD-ROM마운트 할 때와 마찬가지로 플로피를 마운트 할 때에도 파일시스템 타입과 장치명을 생략하고 간단히 마운트 할 수 있음
 mount /mnt/floppy

 
 14. 원격서버의 파일시스템 마운트하여 사용하기(NFS 마운트하는 방법)

 – mount -t nfs NFS서버IP주소또는호스트명:/NFS서버마운트포인트 /NFS클라이언트마운트포인트

 – -t nfs : 파일시스템타입이며 반드시 nfs로 지정해야함. 네트워크파일스시템(NFS : Network FileSystem)를 사용할 것이기 때문.

 – NFS서버IP또는호스트명 : NFS서버의 IP주소나 호스트명을 적어주면 됨

 – /NFS서버마운트포인트 : NFS서버에서 NFS클라이언트의 마운트가 허용되어 있는(NFS서버의 /etc/exports 에 설정되어 있어야함) 위치를 지정하면 됨.

 – /NFS클라이언트마운트포인트 : 마운트명령어를 사용하고 있는 NFS클라이언트의 마운트포인트를 적어주면 됨.

 – ex) mount -t nfs 192.168.0.1:/tmpdata /backup