강좌
클라우드/리눅스에 관한 강좌입니다.
클라우드 분류

리눅스마스터1급 : 리눅스 가상화기반 시스템 리소스 관리

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스마스터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"를 선택하면 다음과 같이 호스트 서버에 대해 모니터링할 수 있다.

 

 

 

 

 

26d2e055822c151092e84cbe15845354_1687162464_567.png
 

 

 

 

각 가상머신을 모니터링 하기 위해서는 다음과 같은 몇 가지 도구를 사용할 수 있다.

 

 

 

가장 좋은 것이 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 44 0 SU006 vnet1

9 R 4213 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를 이용하여 다음과 같이 자원 그래프를 얻을 수 있다.

 

 

 

 

 

26d2e055822c151092e84cbe15845354_1687162486_8112.png
 

 

 

 

 

각 가상머신의 자원 사용률을 관찰하여 자원 할당 및 가상머신을 다른 호스트 머신으로 옮길 수 있다.

 

 

 

최근 클라우드 컴퓨팅에서는 자동으로 자원할당하는 방법들이 포함되어 있다

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,810 개
  • 현재 접속자 :  98 명