# 가상화 + OpenStack + SDN 


#OpenStack?

- 클라우드 Infrastructure를 setup, run을 잘 할수있도록 관리하는 플랫폼

- not Hypervisor

- management Hypervisor

- 클라우드 운영체제


# 서버가상화와 네트워크 가상화 & OpenStack

- nova : 서버가상화, Infrastructure를 관리하기 위함

- neutron : 자연스럽게 네트워크 가상화를 지원하기 위해 quamtum이라는 이름으로 하나의 프로젝트로 제안이되어 공식적으로 릴리즈됨


- 오케스트레이션(heat), 미터링(씰로미터)

- 서버관점? 네트워크 관점? 두 부분으로 나눠져서 생각할 수 있겠다.....


#OVS plugin

- OpenFlow를 준수하는 vSwitch


# SDN

- 기존에는 MDM쪽으로 많은 연구가 이루어졌었다.

- 프로토콜 계층에서 IP layer가 가장 많은 바틀넥이 발생한다. (모든것이 IP 기반으로 동작하기 떄문..)

- SDN에서는 프로그래머블하도록 지원하며 네트웍에대해 원하는대로 지원할 수 있도록 함

- SDN에서는 중앙에서 네트웍변화에 대한 기록을 관리

- Controll layer


OpenStack과 SDN

OpenStack의 서버가상화(nova)나 네트워크가상화(neutron) 환경에서 플러그인 형태로 SDN 컨트롤러들이 연동이 가능

- OpenFlow 프로토콜을 통해서 통신

- 컨트롤러에서 네트웍을 중앙관리함

- 즉 완벽한 독립적으로 개발과 관리가 가능하며, 네트웍의 중앙관리화로 네트웍 통제를 효율적으로 가능


- 컴퓨팅 자원을 관리한다, 네트웍전체를 관리한다가 아닌 네트웍을 관리할때 중앙에서 사람의 두뇌처럼 관리를 할 수 있도록 실현하는게 SDN

- 왜 두뇌를 줘야하지?

: 오케스트레이션을 지원, 중앙화된 네트워크 관리가 쉽게 이루어 질 수 있음


# SDN + DPI (security)

- 보안장비 짱비싸..

- 모든 트래픽이 보안장비를 거쳐가 보안을 강화할 수 있음.

- 엣지 단의 VM들이 보안을 위해서 멀리~ 거쳐야 함.... 


- 분산화된 환경에서 DPI를 배포를 할 수있으면 좋지않을까?

  : 원할 떄 분산화된 DPI의 확장/축소가 가능

  : 오토스케일링이 가능

  : 자원을 나누어 효율적으로 사용할 수 있고

  : 트래픽을 서비스체이닝해서 효율적으로 사용할 수 있음

- DPI를 잘 관리하면 좋지않을까?

- DPI를 SDN으로 관리하자






(참고 http://www.turby.net/42)




모니터링

1. CPU

2. Memory

3. Disk I/O

4. Network

 


# top

: CPU 점유 프로세스들을 실시간으로 조회


(1) 첫번쨰 줄 : 시스템의 전반적 상태. 가동시간, 평균사용량 등

(2) 두번째 줄 : 프로세스들의 상황

(3) 세번째 줄 : CPU 상황

(4) 네번째 줄 : Memory 상황

(5) 다섯번째 줄 : swap 메모리 상황

(6) ~ : 

 PID

USER

PR 

NI 

VIRT 

SHR 

%CPU 

%MEM 

TIME+ 

COMMAND 

 프로세스 ID

사용자 

priority 

NICE 값 

가상메모리 사용량 

(SWAP+RES)

 분할된 페이지, 프로세스에 의해 사용된 메모리를 나눈 메모리의 총합

 CPU 사용률

 메모리 사용률

 CPU TIME

 실행된 명령어


: 옵션

 키

설명 

 t

 요약 정보 표시

 m

 메모리 정보 표시

 A

 시스템 자원을 많이 소모하는 프로세스 정렬

 f

 top의 설정화면 표시

 o

 정렬 순서 정하기

 r

 renice 명령어 실행

 k

 kill 명령어 실행 

 z

 color/mono를 전환




# htop

: top보다 사용자 위주의 모니터링 도구


$ apt-get -y install htop

$ htop




# vmstat 

: 시스템 작업, 하드웨어 및 시스템 정보. 시스템의 리소스 상황(cpu, I/O, memory) 모니터링

procs

memory 

swap 

io

system 

cpu 

 

 r

 b

 swpd

 free

 buff 

 chache 

 si 

 so 

 bi 

 bo 

 in 

 cs 

 us 

 sy 

 id 

 wa  

 st  

 실행중인 프로세스 수(cpu 접근 대기 중인 프로세스 포함)

 인터럽트가 불가능한 sleep 상태에 있는 프로세스의 수

 사용하고 있는 swap 메모리 양

사용가능한 양 

버퍼로 사용되고있는 메모리량 

캐시로 사용되고 있는 메모리양 

swap in (디스크로 스왑되어 나간 메모리 용량) 

swap  out(디스크로 스왑되어 나간 메모리 용량)

 블럭디바이스로 보내는 초당 블럭 수

 블럭디바이스에서 나오는 초당 블럭 수

 초당 인터럽트되는 양
(이더넷패킷도 포함)

 초당 context switch되는 양

process가 cpu를 사용하는 사용하는 시간 - 유저프로세스

process가 cpu를 사용하는 사용하는 시간 - 시스템프로세스

CPU idle한 

 입출력대기 


$ vmstat

$ vmstat 3 

$ vmstat 3 2

$ vmstat -m

$ vmstat -a




# iostat

: 평균 CPU 부하 및 디스크 활동

$ apt-get install -y sysstat

$ iostat




# free



# w -

: 시스템에 로그인한 사용자와 프로세스 출력



# ps










'System > Linux OS ' 카테고리의 다른 글

Linux LVM  (0) 2015.08.12
[tip] tmpdump ipv4 ipv6 모드변경  (0) 2015.05.01
[ubuntu] 디스크 늘리기(ESXi기반의 VM)  (0) 2015.04.21
[Linux]라우팅 테이블  (0) 2015.04.21
[Linux] TUN/TAP  (0) 2015.04.21

# 테스트 항목

1. Windows 7 professional 64bit

2. WIndows Server 2012 

3. Ubuntu 12.04 Cloud용 

4. Centos 



# 테스트 목적

1. 실제 클라우드 리소스가 어느정도로 퍼포먼스를 내는지 확인하기 위함..


# 차후 목표

1. 그냥 간단히 막쓰는 private cloud를 제공하는 서버를 만들고

2. HA나 Proxy, DB, Web서버 구축

3. 아두이노 센서 데이터를 받아서 분석....


# 사전에..

> 리눅스에서 자원사용 확인하기 http://jiming.tistory.com/admin/entry/post/?id=63


+ Recent posts