마운트에 관하여

FAQ 2005/07/01 15:05
마운트에 관하여


윈도우95/98/NT에서는 플로피나 CD-ROM 같은 장치들은 시스템이 부팅이 되면서 거의 대부분 자동으로 인식되므로 부팅 후에는 바로 사용할 수 있다. 또한 새로 설치한 하드웨어장비는 PnP(Plug and Play)라는 기능에 의해 대부분 자동으로 인식하게 된다. 물론 리눅스에서도 PnP기능을 지원하지만 아직은 지원하는 하드웨어가 많지 않으므로 시스템 부팅후에 수동으로 마운트(mount)라는 작업을 해서 사용을 하고 사용이 끝난 후에는 언마운트(umount)를 시켜야 한다. 지금 설명코자하는 것이 이 마운트에 관한 것이다.


쉽게 설명해서 마운트는 특정 디바이스(device)를 특정 디렉토리처럼 사용하기 위해 장치와 디렉토리를 연결하는 작업을 말한다. 여기에는 플로피드라이브와 CD-ROM드라이브등의 디바이스들이 마운트를 해서 사용한다.


자, 그럼 마운트하는 방법을 알아보도록 하자. 리눅스에서 마운트 명령어의 사용형식은 다음과 같다.

mount -a [-fFnrsvw] [-t vfstype]

mount [-fnrsvw] [-o options [,...]] device | dir

mount [-fnrsvw] [-t vfstype] [-o options] device dir


그냥 mount라고 하면 현재 마운트되어 있는 정보를 볼 수 있다.



[root@ciss9 /]# mount

/dev/ida/c0d0p1 on / type ext2 (rw)

none on /proc type proc (rw)

/dev/ida/c0d2p1 on /home type ext2 (rw)

/dev/ida/c0d1p1 on /usr type ext2 (rw)

none on /dev/pts type devpts (rw,mode=0622)




첫 번째 열은 디바이스이름이며 두 번째는 마운트 포인트(디렉토리명)이며 세 번째는 파일시스템타입이며 괄호안의 내용은 읽고 쓸수있는가의 여부이다. 자, 그럼 이제 가장 빈번하게 쓰이고 있는 CD-ROM을 마운트해 보자.



[root@ciss9 /]# mount -o ro /dev/cdrom /mnt/cdrom

[root@ciss9 /]#

[root@ciss9 /]# umount /mnt/cdrom





CD-ROM을 마운트 한 것이다. 이렇게 마운트한 다음에는 "mnt/cdrom 디렉토리로 가서 CD-ROM을 읽을 수 있다. 위의 예에서 -o ro는 CD-ROM은 읽을 수만 있으므로 옵션을 ro(read-only)로 준 것이다. 이 옵션을 주지 않아도 리눅스는 알아서 마운트를 시켜주지만 mount: block device /dev/cdrom is write-protected, mounting read-only과 같은 경고를 보여준다.



[root@ciss9 /]# umount /mnt/cdrom






그리고 마운트를 한 다음에는 CD-ROM을 뺄 수 없으며, 위의 예처럼 언마운트(umount)를 하면 마운트가 해제되고 CD-ROM을 뺄 수 있다.



이렇게 운용자가 직접 마운트를 시켜줘야 쓸 수 있는 장치가 있는 반면 시스템이 부팅되면서 자동으로 마운트를 시켜주는 것이 있다. 시스템에 꼭 필요한 디바이스같은 경우에는 부팅시에 자동으로 마운트를 시켜주어야 한다. 어떤 디바이스를 부팅과정에서 마운트를 시킬 것인가에 대한 설정은 /etc/fstab파일에 되어있다. 이 파일을 보통 파일시스템 테이블이라고 부른다.




[root@ciss9 /etc]# cat fstab

/dev/ida/c0d0p1 / ext2 defaults 1 1

/dev/ida/c0d2p1 /home ext2 defaults 1 2

/dev/ida/c0d1p1 /usr ext2 defaults 1 2

/dev/ida/c0d0p5 swap swap defaults 0 0

/dev/fd0 /mnt/floppy ext2 noauto 0 0

/dev/cdrom /mnt/cdrom iso9660 noauto,ro 0 0

none /proc proc defaults 0 0

none /dev/pts devpts mode=0622 0 0





첫 번째 열은 디바이스명을 나타낸다. /dev 디렉토리에는 이들 디바이스파일들이 지정되어 있다. 두 번째 열은 마운트포인트(디바이스와 연결하여 사용할 디렉토리경로)이며 세 번째 열은 파일시스템 타입이다. 그리고 네 번째 열에서 defaults라고 되어있으면 부팅과정에서 자동으로 마운트가 되며, noauto라고 되어있는 경우에는 직접 마운트를 시켜서 사용해야 한다. noauto로 되어 있는 경우에 마운트를 시키는 방법은 매우 간단하다. 아래와 같이 "mount 마운트포인트"라고 하면 /etc/fstab에 지정되어 있는 디바이스로 자동으로 마운트를 시켜준다. 예를 들어보자.




[root@ciss9 /]# mount /mnt/cdrom




/mnt/cdrom는 /etc/fstab에서 /dev/cdrom 디바이스가 지정되어 있으므로 이 디바이스로 마운트를 시켜준다.
2005/07/01 15:05 2005/07/01 15:05
사용자들은 지금 어떤 작업을 하고있나? w


w는 working의 약어로 현재 시스템에 접속해 있는 사용자들과 이들이 어떤 일을 하고 있는가를 확인해 보는 명령어이다. 다음의 예를 보면 알겠지만 출력결과에는 다음과 같다.



[root@ciss9 /root]# w

12:27am up 37 days, 9:44, 4 users, load average: 1.72, 1.70, 1.64

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

root pts/0 :0 6Sep99 37days 0.03s 0.03s bash

root pts/1 :0 6Sep99 2days 0.87s 0.00s nslookup

sspark pts/2 128.134.23.176 12:13am 0.00s 0.16s 0.04s telnet 168.126.72.51

sspark pts/3 ciss9 12:21am 0.00s 0.17s 0.02s w




① 누가 로그인해 있는가?

② 어떤 터미널 타입을 사용하는가?

③ 어디에서 로그인했는가?

④ 언제 로그인했는가?

⑤ 현재까지 얼마동안 로그인해 있는가?

⑥ 무엇을 하고 있는가?
2005/07/01 15:04 2005/07/01 15:04
시스템 모니터링 및 프로세스관리


이번에는 시스템의 여러 가지 상황에 대해서 알아볼 수 있는 모니터링에 관한 명령어에 대해서 알아보도록 하겠다. 시스템 관리자에게는 정기적으로 이들 명령어를 통하여 시스템의 현 상황을 체크하고 이상 발견시에는 적절한 조치를 취할 수 있어야 한다.


리눅스는 배포판에 따라 이들 명령어도 조금씩의 차이는 있다. 여기서 소개하는 모니터링 명령어들은 거의 모든 리눅스배포판 뿐만아니라 유닉스나 솔라리스에서도 쓸 수 있는 것들이다.


● 프로세스 확인하기 ps


ps는 프로세스를 확인해 주는 것으로 일반적으로 다음과 같이 사용하며 확인코자하는 프로세스명을 다음과 같이 적어주면 이에 대한 정보를 보여준다.

즉, 프로세스 실행자, PID, 실행일시, 프로세스명등을 보여준다.




[sspark@ciss9 ~]$ ps -ef | grep sendmail

root 22065 1 0 Sep17 ? 00:00:05 sendmail: accepting connections

sspark 25209 25195 0 Sep25 pts/3 00:00:00 grep sendmail





● 시스템의 평균 로딩율(부하율) uptime


시스템의 현재 부하율을 보려면 간단히 uptime이라고 하면 결과를 간단히 확인할 수 있다.



[sspark@ciss9 ~]$ uptime

12:23am up 37 days, 9:40, 4 users, load average: 1.86, 1.73, 1.66




맨 끝의 3개의 숫자들은 각각 지난 1분, 5분, 15분동안의 시스템 부하율을 각각 평균하여 나타내고 있는 것이다.




● 전반적인 시스템 점검 top


top은 유닉스와 리눅스에서 ps 다음으로 많이 쓰이는 시스템 모니터링을 위한 명령어로 그냥 "top"이라고만 하면 시스템의 현상황을 적나라하게(?) 보여준다.

"top"은 기본값으로 5초(유닉스에서는 2초)에 한번씩 refresh를 하여 다시 디스플레이 하여주며 "top -d 초"(유닉스에서는 "top -s 초")를 지정하면 지정한 초에 한번씩 refresh를 하여준다.



[sspark@ciss9 ~]$ top

12:23am up 37 days, 9:40, 4 users, load average: 1.85, 1.73, 1.65

84 processes: 79 sleeping, 5 running, 0 zombie, 0 stopped

CPU states: 0.0% user, 0.5% system, 0.1% nice, 0.2% idle

Mem: 582248K av, 153808K used, 428440K free, 73492K shrd, 55652K buff

Swap: 526296K av, 0K used, 526296K free 56632K cached


PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME COMMAND

726 root 14 0 11160 10M 2264 R 0 48.7 1.9 26387m X

25210 sspark 3 0 1028 1028 832 R 0 2.8 0.1 0:00 top

304 root 0 0 604 604 492 S 0 0.0 0.1 1:04 syslogd

315 root 0 0 752 752 388 S 0 0.0 0.1 0:00 klogd

329 daemon 0 0 472 472 400 S 0 0.0 0.0 0:00 atd

343 root 0 0 596 596 504 S 0 0.0 0.1 0:04 crond

375 root 0 0 1176 1176 748 S 0 0.0 0.2 4:20 snmpd
2005/07/01 15:04 2005/07/01 15:04