리눅스마스터1급 : 리눅스 가상화기반 시스템 리소스 관리
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,104 조회
- 0 추천
- 목록
본문
리눅스마스터1급 : 리눅스 가상화기반 시스템 리소스 관리
여러 개의 가상머신이 하나의 호스트 서버의 자원을 사용하기 때문에 자원에 대한 모니터링은 아주 중요하다.
호스트 서버의 자원을 모니터링 하여 다른 호스트 서버로 가상머신을 라이브 마이그레이션 시켜 가상머신이 원활하게 작동하도록 유지시켜 주어야 한다.
먼저 호스트 서버의 자원을 모니터링 하는 방법을 알아보자.
백업 및 바이러스 점검시간이 각 가상머신 간에 겹치지 않게 하며, 피크 시간대가 다른 서비스를 하는 가상머신끼리 묶는다.
자원을 많이 사용하는 가상머신은 부하가 적은 호스트 서버로 라이브 마이그레이션 한다.
CPU, 메모리, Disk IO, 네트워크 트래픽 등을 고려하여 분배한다.
top 명령어를 통한 전체적인 상황 확인
|
|
|
| top - 17:36:53 up 3 days, 23:43, 2 users, load average: 0.31, 0.35, 0.35 Tasks: 521 total, 2 running, 519 sleeping, 0 stopped, 0 zombie Cpu(s): 1.2%us, 6.2%sy, 0.0%ni, 92.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 16267688k total, 14822648k used, 1445040k free, 115404k buffers Swap: 0k total, 0k used, 0k free, 52528k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 180 root 25 5 0 0 0 R 56.6 0.0 3229:18 ksmd 2726 qemu 20 0 1575m 1.0g 796 S 21.2 6.4 1248:16 qemu-kvm 11933 qemu 20 0 2468m 2.0g 920 S 18.2 12.8 1069:21 qemu-kvm 3257 qemu 20 0 2456m 2.0g 780 S 16.9 12.8 991:10.05 qemu-kvm 3098 qemu 20 0 912m 505m 780 S 16.5 3.2 957:50.02 qemu-kvm 3143 qemu 20 0 912m 503m 780 S 14.2 3.2 885:50.04 qemu-kvm 17105 qemu 20 0 1364m 1.0g 904 S 6.6 6.3 325:59.29 qemu-kvm 2739 root 20 0 0 0 0 S 1.3 0.0 68:03.17 kvm-pit-wq 2825 qemu 20 0 1353m 851m 788 S 1.3 5.4 139:10.76 qemu-kvm 11953 root 20 0 0 0 0 S 1.3 0.0 47:19.00 kvm-pit-wq 17147 qemu 20 0 1363m 1.0g 800 S 1.3 6.5 88:20.84 qemu-kvm 3099 root 20 0 0 0 0 S 1.0 0.0 65:48.55 kvm-pit-wq 3145 root 20 0 0 0 0 S 1.0 0.0 63:11.91 kvm-pit-wq 3280 root 20 0 0 0 0 S 1.0 0.0 62:21.23 kvm-pit-wq 17114 root 20 0 0 0 0 S 1.0 0.0 52:12.38 kvm-pit-wq 2774 qemu 20 0 1505m 1.1g 812 S 0.7 7.0 37:45.55 qemu-kvm 2868 qemu 20 0 1578m 1.0g 940 S 0.7 6.7 53:40.92 qemu-kvm |
|
|
|
|
top 명령어의 결과를 확인하여 CPU, 메모리자원 사용량을 확인 할 수 있다.
sar 명령어를 통한 자원 모니터링
|
|
|
| [root@SULinuxHost1 ~]# sar 1 10000 Linux 2.6.32-279.el6.x86_64 (SULinuxHost1) 2013년 08월 27일 _x86_64_(16 CPU)
CPU %user %nice %system %iowait %steal %idle all 1.45 0.00 7.18 0.20 0.00 91.17 all 1.30 0.00 8.30 0.00 0.00 90.41 all 2.27 0.00 9.58 0.00 0.00 88.15 all 1.87 0.00 7.43 0.00 0.00 90.69 all 1.60 0.00 8.33 0.13 0.00 89.94 all 1.18 0.00 5.97 0.00 0.00 92.85 all 8.10 0.00 7.71 0.13 0.00 84.06 all 2.14 0.00 6.11 0.00 0.00 91.75 all 1.62 0.00 6.73 0.06 0.00 91.59 all 2.61 0.00 8.46 0.06 0.00 88.87 |
|
|
|
|
sar 명령어를 사용하여 CPU 사용량 및 I/O 사용량을 모니터링할 수 있고, 과거 결과 또한 확인 할 수 있다.
sar -n DEV 옵션을 사용하여 네트워크 사용량을 확인할 수 있고, iostat 명령어를 사용하여 각 디스크별로 디스크 IO를 확인할 수 있다.
virt-manager 프로그램을 통해 호스트 머신의 자원을 모니터링 해 보자.
“편집” -> “Connection Details"를 선택하면 다음과 같이 호스트 서버에 대해 모니터링할 수 있다.
각 가상머신을 모니터링 하기 위해서는 다음과 같은 몇 가지 도구를 사용할 수 있다.
가장 좋은 것이 vir-top 이라는 도구 이다.
|
|
|
| virt-top 17:46:48 - x86_64 8/8CPU 1600MHz 7861MB 8.5% 7 domains, 7 active, 7 running, 0 sleeping, 0 paused, 0 inactive D:0 O:0 X:0 CPU: 8.9% Mem: 5120 MB (5120 MB by guests)
ID S RDRQ WRRQ RXBY TXBY %CPU %MEM TIME NAME 6 R 0 28 34K 10K 2.3 13.0 37:40:37 SU032 4 R 0 0 346 4588 1.7 13.0 35:45:47 SU002 5 R 0 2 805 4794 1.6 6.0 32:25:53 SU014 2 R 0 0 6394 0 1.2 6.0 19:38:32 SU006 8 R 0 0 6394 0 1.0 6.0 26:13:37 SU098 1 R 0 0 6394 0 1.0 6.0 17:47:51 SU099 9 R 0 0 6394 0 0.2 13.0 105:07.63 SU101 |
|
|
|
|
위 결과와 같이 가상머신별로 자원을 모니터링 한다.
위 결과에서 각 항목은 다음과 같은 의미를 가진다.
∙ID : 가상머신 ID
∙S : 가상머신 상태( ? : 알수 없음, R:실행중, S:차단됨, P:정지됨, D,O : 꺼짐, X:문제발생)
∙RDRQ : Disk 읽기 요청 수
∙WRRQ : Disk 쓰기 요청 수
∙RXBY : 네트워크 수신(Bytes 단위)
∙TXBY : 네트워크 송신(Bytes 단위)
∙%CPU : CPU 사용량 ( 100%는 모든 물리적 CPU 모두 사용)
∙%RAM : 메모리 사용량
∙TIME : 총 CPU 사용 시간
∙NAME : 가상머신 이름
"1"키를 누르면 다음 화면을 볼 수 있다.
|
|
|
| virt-top 18:32:17 - x86_64 8/8CPU 1600MHz 7861MB 9.5% 8.6% 9.8% 9.0% 9.4% 13.7% 7 domains, 7 active, 7 running, 0 sleeping, 0 paused, 0 inactive D:0 O:0 X:0 CPU: 9.2% Mem: 5120 MB (5120 MB by guests)
PHYCPU %CPU SU032 SU014 SU002 SU006 SU101 SU099 SU098 0 10.1 3.6 2.4 1.3 0.7 2.6 1.5 1.5 0.4 0.2 0.0 0.0 0.0 0.9 0.8 1 9.9 4.4 3.0 1.0 0.8 2.3 1.3 0.8 0.1 0.1 0.2 0.1 1.2 1.1 2 5.3 2.0 1.0 0.3 0.2 0.9 0.4 1.6 0.2 0.2 0.1 0.0 0.2 0.2 3 3.3 0.9 0.4 0.2 0.1 1.7 0.4 0.2 0.0 0.1 0.0 0.0 0.2 0.1 4 13.8 1.9 1.1 3.0 2.0 2.0 1.6 1.6 0.6 0.2 0.1 2.6 2.6 2.4 2.3 5 15.4 1.8 0.9 2.7 1.7 2.4 1.7 2.1 0.5 1.6 1.2 2.7 2.6 2.2 2.1 6 9.6 0.9 0.5 3.1 1.3 2.3 1.6 1.4 0.1 0.1 0.0 0.9 0.7 0.9 0.8 7 6.3 0.6 0.2 2.0 0.4 2.2 0.1 0.8 0.1 0.2 0.0 0.2 0.2 0.4 0.3 |
|
|
|
|
위 그림에서 물리 CPU 코어당 가상머신이 사용하고 있는 CPU 사용률을 보여 주고 있다.
여기서 PHYCPU는 물리 CPU ID를 나타낸다.
"2"를 누르게 되면 다음과 같은 결과를 볼 수 있다.
|
|
|
| virt-top 17:49:29 - x86_64 8/8CPU 1600MHz 7861MB 10.5% 7 domains, 7 active, 7 running, 0 sleeping, 0 paused, 0 inactive D:0 O:0 X:0 CPU: 10.5% Mem: 5120 MB (5120 MB by guests)
ID S RXBY TXBY RXPK TXPK DOMAIN INTERFACE 8 R 89K 30K 250 233 SU098 vnet2 6 R 33K 8182 41 84 SU032 macvtap3 1 R 15K 16K 207 163 SU099 vnet0 2 R 4213 0 44 0 SU006 vnet1 9 R 4213 0 44 0 SU101 vnet3 5 R 62 2272 1 20 SU014 macvtap2 4 R 0 2268 0 20 SU002 macvtap1 |
|
|
|
|
위 결과는 네트워크에 대해 조금 더 자세히 보여 준다.
여기서 새로운 항목은 다음과 같다.
∙RXPK : 네트워크 수신(패킷 수)
∙TXPK : 네트워크 송신(패킷 수)
∙INTERFACE : 네트워크 인터페이스 이름
"3"을 누르게 되면 다음과 같은 결과를 얻을 수 있다.
|
|
|
| virt-top 17:50:45 - x86_64 8/8CPU 1600MHz 7861MB 9.0% 9.0% 9.7% 10.5% 7 domains, 7 active, 7 running, 0 sleeping, 0 paused, 0 inactive D:0 O:0 X:0 CPU: 10.3% Mem: 5120 MB (5120 MB by guests)
ID S RDBY WRBY RDRQ WRRQ DOMAIN DEVICE 4 R 0 388K 0 68 SU002 hda 2 R 0 0 0 0 SU006 hda 5 R 0 0 0 0 SU014 hda 6 R 0 60K 0 2 SU032 hda 1 R 0 0 0 0 SU099 hda 2 R 0 0 0 0 SU006 hdb 4 R 0 0 0 0 SU002 hdc 2 R 0 0 0 0 SU006 hdc 5 R 0 0 0 0 SU014 hdc 6 R 0 0 0 0 SU032 hdc 8 R 0 0 0 0 SU098 hdc 1 R 0 0 0 0 SU099 hdc 9 R 0 0 0 0 SU101 hdc 4 R 0 0 0 0 SU002 vda 8 R 0 304K 0 53 SU098 vda 9 R 0 0 0 0 SU101 vda 9 R 0 0 0 0 SU101 vdb |
|
|
|
|
위 결과는 디스크 사용량에 대해 더 자세하게 보여주고 있다.
새로운 항목은 다음과 같다.
∙RDBY : Disk에서 읽은 Bytes 수
∙WRBY : Disk에 쓴 Bytes 수
∙DEVICE : 블록 디바이스 이름
virt-manager를 이용하여 다음과 같이 자원 그래프를 얻을 수 있다.
각 가상머신의 자원 사용률을 관찰하여 자원 할당 및 가상머신을 다른 호스트 머신으로 옮길 수 있다.
최근 클라우드 컴퓨팅에서는 자동으로 자원할당하는 방법들이 포함되어 있다.
관련자료
-
이전
-
다음