ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 마운트 관리
    linux/centOS 2018. 6. 21. 17:59

    ☆ 마운트 확인

     

    장치(Device)를 사용하기 위해서는 반드시 마운트 과정을 거쳐야 사용이 가능하다. 그리고 다 사용한 자원은 언마운트(Umount)하면 된다. 마운트 되어진 장치를 누군가 사용한다면 기본적으로 언마운트 되지 않는다. 부팅시에 마운트 해야 하는 자원(: 장치)이 존재한다면 /etc/fstab 파일을 사용하면 된다.

     

    현재 자원(Resource)를 마운트 하기 위해서는 mount 명령어를 수행하고, 부팅시에 마운트 할 자원이 있다면 /etc/fstab 파일에 정의하여 사용하면 된다. mount 명령어에 의해서 수행되는 자원 마운트는 현재 쓰이기는 하지만 mount 명령어를 통해서만 마운트가 된 경우, 부팅시에는 마운트가 되지 않기 때문에 /etc/fstab 파일에도 반드시 정의하여야 한다.

     

    현재 마운트 할 때 사용하는 명령어 : mount CMD

    부팅시 마운트 할 때 사용하는 파일 : /etc/fstab (부팅시에 자동 마운트)

     

    현재 마운트 되어진 정보를 확인 하기 위해서는 df 명령어에 -k 옵션을 사용하거나, mount 명령어에 아무런 옵션없이 사용하는 방법을 많이 사용한다. df 명령어는 주로 마운트 된 상황을 보기 위해서나 파일시스템의 사용량을 점검할 때 주로 사용하고, mount 명령어에 특별한 옵션이 없는 경우에는 주로 마운트 옵션 정보를 확인 하거나, 마운트 된 시간을 확인 할 때 사용한다.

     

    [명령어 형식]

    # df -k /* 마운트 상황 정보, 디스크 사용량 점검 확인 */

    # mount /* 마운트 옵션 정보 확인, 마운트 시간 확인 */

     

     

     

    [EX] df 명령어 출력 결과 해석

    # df -k (# df -h)

    Filesystem 1K-blocks Used Available Use% Mounted on

    /dev/sda1 16798832 3477500 12454228 22% /

    /dev/sda8 497829 10544 461583 3% /data1

    /dev/sda7 497829 10544 461583 3% /data2

    /dev/sda6 497829 10544 461583 3% /data3

    /dev/sda5 497829 10544 461583 3% /data4

    /dev/sda3 497861 10633 461524 3% /home

    tmpfs 517520 0 517520 0% /dev/shm

     

    (df -h 출력 화면 해석)

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

    /dev/sda1 장치 이름(Filesystem)

    18G 전체 공간(Size)

    5.3G 사용중인 공간(Used)

    12G 남은 공간(Avail)

    32% 전체공간에서 사용중인 공간의 백분율(Use%)

    / 마운트 포인트(Mounted on)

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

     

     

    # mount

    /dev/sda1 on / type ext3 (rw)

    proc on /proc type proc (rw)

    sysfs on /sys type sysfs (rw)

    devpts on /dev/pts type devpts (rw,gid=5,mode=620)

    /dev/sda8 on /data1 type ext3 (rw)

    /dev/sda7 on /data2 type ext3 (rw)

    /dev/sda6 on /data3 type ext3 (rw)

    /dev/sda5 on /data4 type ext3 (rw)

    /dev/sda3 on /home type ext3 (rw)

    tmpfs on /dev/shm type tmpfs (rw)

    none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

    none on /proc/fs/vmblock/mountPoint type vmblock (rw)

    sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

     

    (mount 명령어 출력결과 해석)

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

    /dev/sda1 장치 이름

    / 마운트 포인터

    ext3 마운트 파일시스템

    (rw) 마운트 옵션

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

     

     

     

    ☆ 마운트에 관련한 파일들

     

     

    리눅스 시스템에서 /etc/mtab 파일은 현재 마운트 되어져 있는 정보를 담는다. /etc/mtab 파일은 마운트 된 자원이 있다면 mntfs에 의해서 자동으로 정보가 등록되고, 언마운트가 되면 자동으로 정보가 삭제된다. 따라서 관리자가 /etc/mtab 파일을 관리할 필요는 없다. /etc/fstab 파일은 부팅시에 마운트 할 만한 자원(Resource, : 장치)에 대한 정보를 담는다. 이 파일은 관리자가 직접 편집을 통해서 관리해야 한다. 새로이 마운트 할 자원이 있다면 /etc/fstab 파일에 정보를 등록하면 된다.

     

    /proc/mounts : proc 가상 파일 시스템의 일부 (리눅스 커널이 시스템 상태를 파일 형식으로 보여주는 것)

    /etc/mtab : 현재 마운트된 정보를 담는다.

    /etc/fstab : 부팅시에 마운트 할 만한 정보를 담는다.

     

     

    (1) /etc/mtab 파일

     

    현재 마운트 상태에 대한 정보를 가지고 있는 파일이다. mount 명령을 내릴 때 어떤 옵션도 주지 않으면 이 목록이 표시된다. mountumount/etc/mtab이라는 파일에 현재 마운트 되어 있는 파일 시스템의 목록을 기록한다.

     

    /proc라는 디렉토리에 proc 파일 시스템이 마운트 될 때, /etc/mtab/proc/mounts는 비슷한 내용을 가지게 된다. 전자는 마운트 옵션 등 더욱 자세한 정보를 지니고 있지만 항상 최신 정보를 지니고 있는 것은 아니다.

     

    (/etc/mtab 파일의 해석)

    # cat /etc/mtab | grep /dev/sda1

    /dev/sda1 / ext3 rw 0 0

    필 드

    설 명

    /dev/sda1

    [파일시스템 장치명]

    /

    [마운트 포인트]

    ext3

    [파일 시스템 종류]

    rw

    [옵션]

    0

    [dump 관련 설정]

    0

    [파일 점검 옵션]

     

     

    (mount 명령어 출력 화면 해석)

    # mount | grep /dev/sda1

    /dev/sda1 on / type ext3 (rw)

    필 드

    설 명

    /dev/sda1

    [파일시스템 장치명]]

    on /

    [마운트 포인트]

    type ext3

    [파일 시스템 종류]

    (rw)

    [옵션]

     

    mount 명령어에 아무런 옵션이나 인자(Arguments) 없이 사용하면 현재 마운트 되어진 자원들에 대한 정보를 얻을 수 있다. mount 명령어는 /etc/mtab 파일을 정보를 사용하여 일정한 형식(출력 형식)으로 보여준다. /etc/mtab 파일은 현재 마운트된 정보를 담고 있고 mntfs 가상 파일시스템으로 리눅스에 의해 관리된다. 관리자가 관리할 필요가 없는 파일이다.

     

     

    (2) /etc/fstab 파일

     

    /etc/fstab 파일은 부팅시에 마운트 할 만한 정보를 담고 있다. 부팅시 커널은 /etc/fstab 파일을 읽어서 마운트 할 디바이스를 찾고 이 디바이스들을 /etc/fstab파일에 명시된 디렉토리에 마운트 시킨다.

     

    (/etc/fstab 파일 출력결과 해석)

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

    필드 설 명

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

    LABEL=/ 마운트할 장치이름

    / 마운트포인터, 파일 시스템을 마운트해서 사용할 경로를 지정

    ext3 마운트할 파일 시스템의 형식 지정 (리눅스 : ext3, 윈도우 : FAT, NTFS, CD-ROM : iso9660)

    defaults 마운트 할 때 사용할 옵션 지정

    1 dump라는 프로그램에 의해 덤프 파일시스템 지정. (ext3 리눅스 파티션 - 1, 이외 파티션 - 0으로 할당)

    1 부팅과정에서 파일 시스템의 이상 여부를 확인하고 문제가 있다면 자동으로 점검

    0 : 파일 시스템 점검하지 않는다.

    1 : 파일 시스템 점검 시 가장 먼저 check

    2 이상 : 파일 시스템 점검 시 순서

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

     

     

    (3) /proc/mounts 파일

     

    /proc/mounts 파일은 proc 가상 파일 시스템의 일부이다. 다른 /proc/ 파일 시스템과 마찬가지로, mounts "파일"Linux 시스템 상 어느 디스크 드라이브에도 실제 존재하지 않는다. 실제로 이 파일은 파일이라고 할 수가 없다. 오히려 리눅스 커널이 시스템 상태를 파일 형식으로 나타내어 보여주는 것이다. cat /proc/mounts 명령을 사용하여 마운트 된 모든 파일 시스템 상태 정보를 볼 수 있다.

     

    /proc라는 디렉토리에 proc 파일 시스템이 마운트 될 때, /etc/mtab/proc/mounts는 비슷한 내용을 가지게 된다. 전자는 마운트 옵션 등 더욱 자세한 정보를 지니고 있지만 항상 최신 정보를 지니고 있는 것은 아니다.

     

     

     

    ☆ mount 명령어

     

    마운트 관련 명령어

    mount CMD /* 자원(Resource)을 마운트할 때 사용하는 명령어 */

    umount CMD /* 자원 마운트를 해제 할 때 사용하는 명령어 */

    mount -a CMD /* 마운트 할 만한 정보를 모두 마운트 하는 명령어 */

    umount -a CMD /* 마운트 되어 있는 자원을 모두 해제할 때 사용하는 명령어 */

     

    마운트는 자원(: 장치)을 마운트 포인터에 얻어져 마운트 포인터를 사용하면, 자원을 사용하도록 하는 방식이다. 리눅스는 장치를 파일 시스템으로 바꾸어 주어야만 인식 할 수 있고 그 역할을 하는 것이 마운트 기능이다. 시스템의 모든 파일들은 하나의 거대한 나무 구조에 속해 있으며 그 뿌리는 ”/“ 이다.

     

     

    (1) mount / umount 명령어

     

    (명령어 형식)

    # mount [-t ext3] [-o OPTIONS] /dev/sdb1 /testmount

    # mount /dev/sdb1 /testmount

    # mount /testmount (/etc/fstab)

     

    (명령어 형식)

    # umount /dev/sdb1

    # umount /testmount

     

     

    (마운트 옵션)

    마운트시 기본 옵션(Defaut Options)을 사용한다. 하지만, 기본 옵션은 mount 명령어 수행시 옵션을 따로 주지 않으면 기본 옵션으로 마운트 하게 된다. 기본 옵션은 rw, suid, exec, auto, nouser 이다.

     

    # mount

    defaults : rw, nouser, auto, exec, suid 속성을 모두 가지는 옵션

     

    rw <-> ro /* ro : 쓸수 없다. */

    auto <-> noauto /* noauto : 부팅시 자동 마운트하지 않음 */

    atime <-> noatime /* noatime : Access Time을 기록으로 남기지 않는 옵션 */

    exec <-> noexec /* noexec 실행 파일이 실행되는 것을 허용 안함 */

    suid <-> nosuid /* nosuid : SetUID 프로그램처럼 동작하지 않는다. */

    nouser <-> user /* nouser : 일반 계정 사용자이 마운트 할 수 없는 옵션 */

     

    nousrquota <-> usrquota /* nousrpuota : 일반사용자 quota적용하지 않음(ext3 지원하지 않음)*/

    nogrpquota <-> grpquota /* nogrpquota : 그룹 quota 적용하지 않음 */

     

     

    (2) mount -a / umount -a 명령어

     

    mount -a 명령어는 마운트 할 만한 정보들을 모두 마운트 한다. 마운트 할 만한 정보들은 /etc/fstab 파일을 참조하여 마운트한다. umount -a 명령어는 현재 마운트 되어 있는 모든 파일시스템을 언 마운트 한다. 현재 마운트 된 정보는 /etc/mtab 파일에 존재한다. 하지만 언마운트 시킬 수 없는 파일시스템이 있다. 이것들은 /, /usr, /var, /tmp, 가상 파일시스템등이다.

     

     

    (명령어 형식)

    # mount -a /* (/etc/fstab) 마운트 할 만한 정보를 모두 마운트 하는 명령어 */

    # umount -a /* (/etc/mtab) 마운트 되어 있는 자원을 모두 해제할 때 사용하는 명령어 */

     

     

    ☆ quota

     

     

    쿼터(Quota)? 사용자나 혹은 그룹이 가질 수 있는 inode의 수, 혹은 사용자나 그룹에게 할당된 디스크 블록의 수를 제한함으로써 디스크 저장 장치의 사용을 제한한다.

     

    Quota 관련 명령어

    명령어

    설명

    quota

    설정된 각 사용자 또는 그룹의 쿼타를 확인

    edquota

    각 사용자 또는 그룹의 디스크 쿼타를 설정 (edit)

    quotaon

    쿼타 작동

    quotaoff

    쿼타 중지

    quotacheck

    쿼타 상황 확인 (check)

    repquota

    쿼타 설정내역 확인 (report)

     

     

    Quota 설정 방법

    () 마운트 옵션 설정

    # mount -o usrquota /home (/etc/fstab)

    () F/S(EX: /home)aquota.user(EX: /home/aquota.user)

    # quotacheck am

    () Quota 설정

    # edquota qtest1

    () Quota ON

    # quotaon a

     

    Quota 해제 방법

    () Quota OFF

    # quotaoff a

    () F/S(EX: /home)aquota.user 파일 삭제

    # rm f /home/aquota.user

    () 마운트 옵션 복원

    # mount -o remount /home (/etc/fstab)

     

     

     

    ☆ 사용중인 파일시스템 마운트 해제

     

    마운트 된 파일시스템을 누군가 사용하고 있다면 기본적으로 관리자는 파일시스템을 언마운트 할 수 없다. 관리자는 이런 경우라 하더라도 반드시 언마운트 해야 한다면 fuser -ck로 마운트포인터를 사용하는 사용자들을 강제로 로그아웃 시키고 umount 명령어를 사용하여 강제적으로 파일시스템을 언마운트 할 수 있다.

     

    (명령어 형식)

    # fuser -cu /home

    # fuser -ck /home

     

    [EX1] 사용중인 파일시스템 언마운트 실습

     

    [TERM1] 사용자 윈도우

    # telnet localhost

    fedora 사용자로 로그인

     

    $ pwd

    /home/fedora

     

     

    [TERM2] 관리자 윈도우

     

    서비스 운용중에 작업해야 하는 경우

    - F/S Check (fsck CMD) : (umount CMD + fsck CMD)

    - Offline Backup(dump CMD) : (umount CMD + dump CMD)

     

    # umount /home

    umount: /home: device is busy

    umount: /home: device is busy

     

    # fuser -cu /home /* -c : PID, -u : username */

    /home: 5103c(fedora)

     

    # wall '/home directory! stops a use'

    Broadcast message from root (pts/1) (Wed Jan 27 05:53:29 2010):

    /home directory! stops a use

     

    ..... (30분 정도 후) .....

     

    # fuser cu /home

    /home: 5103c(fedora)

     

    # fuser ck /home

    /home: 5103c

     

    # umount /home

    # df -h

    -> umount 정보 확인

     

     

    ☆ 기타 마운트 실습

     

    장치를 사용 할 수 있도록 인식시켜 주는 것이 마운트이다. CD-ROM을 마운트 하기 위해 CD-ROM에 미디어를 먼저 넣는다. 가상머신에서 physical device로 선택되어 있는 경우에는 실제 CD-ROM에 미디어를 넣으면 되고 ISO image file로 선택 되어 있으면 iso 이미지를 가상머신에서 선택해 준다.

     

    CD 마운트 방법

     

    (자동으로 마운트 되는 경우)

    Automount

    # cd /media/CentOS_5.4_Final ; ls

    # cd ; umount /media/CentOS_5.4_Final

     

    (수동으로 마운트 하는 경우)

    # mkdir -p /mnt/cdrom ; mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom

    # cd /mnt/cdrom ; ls

    # cd ; umount /mnt/cdrom

     

     NTFS인 경우 마운트 실습

     

    파일 시스템을 NTFS를 사용하고 있는 파티션인 경우에는 -t 옵션에 ntfs를 주고 마운트 한다. 마운트하기 위해서는 커널이 NTFS를 지원해야 한다. 운영체제에 따라 NTFS모듈이 설치되어 있지 않은 경우엔 사용을 위해 모듈을 설치해야 한다.

     

     

    [실습]

    # mount -t ntfs /dev/hda2 /mnt/ntfs /* 또는 # mount -t ntfs -o iocharset=cp949 /dev/hda2 /mnt/ntfs */

    # ls -l /mnt/ntfs | more

    'linux > centOS' 카테고리의 다른 글

    RAID 관리  (0) 2018.06.26
    LVM 생성 및 관리  (0) 2018.06.22
    파일 시스템 작업  (1) 2018.06.20
    장치 인식과 파티션 작업  (0) 2018.06.19
    디렉토리 관리  (0) 2018.06.18

    댓글

Designed by Tistory.