본문 바로가기

가상화/SDN & NFV

SDN/OpenFlow - Part 1 [Mininet 환경 구성]

새로운 주제의 포스팅이 시작됩니다.

이번 주제는 SDN과 관련된 내용의 포스팅으로 진행될 예정입니다.

얼마나 많은 내용이 담길지 모르겠지만... ^^; 우선 시작해봅니다!

우선 첫 번째 포스팅으로는 SDN 환경을 시뮬레이션을 할 수 있는 Mininet 이라는 환경을 구축해보는 포스팅입니다.

 

Mininet에 관련된 사항은

 

    http://mininet.org/

 

로 가시면 볼 수 있습니다.

 

Mininet을 구성하는 방법에는 3가지가 있습니다.

 

1. Mininet VM Installation

2. Native Installation from Source

3. Installation from Packages

 

포스팅에서 다룰 내용은  mininet.org에서 추천하는 1번입니다.

추천하는 이유는 제일 쉽기 때문이지요

 (VM installation is the easiest and most foolproof way of installing Mininet, so it’s what we recommend to start with.)

 

설치를 위해서 우선 이미지 파일을 받으러 가야합니다.

 

https://github.com/mininet/mininet/wiki/Mininet-VM-Images

 

위의 링크로 가시면, 2014년 8월 8일 현재 기준 Ubuntu 14.04 / Mininet 2.1.0 으로 된, VM Image를 다운 받을 수 있습니다.

 

파일을 다운받은 이후부터 실행하는 방법까지 이번 포스팅에서 다뤄집니다.

 

전 과정을 모두 캡춰를 떴으니~ ^^ 한 장씩 따라오시면 금방 구축할 수 있습니다!

 

Virtual BOX를 추천하지만~ 저는 VMWare에서 해보도록 하겠습니다.

 

 

VMWare에서 시작해봅니다.
전 Advanced로 시작합니다!

 

Next!

 

우선 설치는 나중으로 미룹니다.

 

Ubuntu 이미지이므로, Linux Ubuntu로 설정합니다.

 

적절하게 VM이 구성될 이름과, 위치를 잡아줍니다.

 

여기도 Default로 Next!

 

전 메모리를 2048로 잡았습니다.

 

요것도 뭐 우선 사실 크게 중요하지 않습니다~ ^^

Host-only로 잡아주셔도 무방합니다.

 

이것도 Default로 Next.. 

 

 

이것도 Default로 Next.. 

 

 

Disk는 이미 받아놓은 이미지가 있으니, 이미 존재하는 Virtual Disk로 선택합니다. 

VM 9.0 버전에서는 이 부분이 초기에는 안보이는 듯 한데.. 그럴 때는 기본 설정으로 만들어진 다음에..

모든 설정이 끝난 이후에 edit해서.. 기존 하드를 삭제하고 새롭게 추가하면.. 지금 메뉴처럼 기존 Virtual Disk를 선택할 수 있습니다.


 

 

Mininet.org를 통해서 다운받은 이미지 파일을 선택합니다. 

 

걍 Convert Go!. 

 

드디어 완료되었습니다.

 

자 이제. VM을 실행해보도록 하겠습니다.. 

 

 

 

실행하고 나면, 위와 같이 나오게 됩니다.

계정은 ( mininet / mininet ) 입니다. 모두 소문자! 

 

 

Mininet을 실행하는 건... 위와 같이 

mn 명령으로 실행할 수 있습니다.

실행 시에

Host 2개, Switch 1개, Controller 1개로 구성됩니다.

위에 보시면, Available Node로 해당 내용을 볼 수 있습니다.

해당 구성은 변경이 가능하며, 그 부분은 다음 포스팅에서 다룰 예정입니다.

 

 

 

다음은 Topology를 구성하는 방법 중에 miniedit를 실행하는 방법입니다.

뭔지는 다음에 알아보도록 하고. 우선 실행만 해보는걸 알아봅니다.

 

mininet/examples에 가면, miniedit.py 를 실행해서 GUI환경으로 Topology를 구성할 수 있습니다.

본 포스팅에 의도에 맞춰서 우선 환경만 구축해봅니다.

 

자! 그럼 우선 해당 위치로 가서, 실행해보도록 하겠습니다.

 

 

음 그런데 실행을 하려고 보니... 실행이 되지 않네요...

어떻게 해야하나요?

 

아래와 같이 추가적으로 패키지를 설치해줍니다.

 

 

 

# apt-get update

 

 

 

# apg-get install xinit flwm

 

이 때, xinit의 경우에는 3가지 옵션이 있지만... 저는 flwm으로 합니다.

그냥 따라하는 포스팅이므로~ 똑같이 하시면 됩니다!  ^^;

 

 

 

패키지를 주루륵 설치하게 됩니다.
Y를 눌러서~ 설치를 하시면 됩니다.

 

 

 

자, 이제 설치가 끝나면 xwindow를 띄웁니다.

# startx

 

 

아까 설치할 때, 3가지 옵션 중에 2번째 옵션은... 보셨다시피 용량이 크지 않은 컴팩트한 버전으로 구성된 것입니다.

그래서 화려한 GUI를 구현해 주지는 않습니다. 그렇다고 Full로 설치하는 3번째 옵션을 쓰게 되면...

엄청난 용량의 파일을 다운 받아야하고... 한숨 자고 와야 할지도 모르는... 현상을 보실지도... (쪽잠.. )

 

자자 암튼.. 위와 같이 Bash Shell을 띄웁니다.

 

Bash Shell에서.. 아까 실행하지 못한 miniedit.py를 실행하면, 화면 하단의 그림판 처럼 생긴 GUI형식의 Edit 프로그램이 뜨게 됩니다.

왼쪽의 아이콘 중에 모니터처럼 생긴게 "HOST", 굵은 가로줄이 "SWITCH", 파란색 대각선이 "LINK"를 의미합니다.

각 구성요소로 다양한 Topology를 만들어 볼 수 있게 됩니다.

만든 이후에는 아래의 Run 버튼을 눌러서 해당 Topology를 활성화 할 수 있습니다.

 

 

자~ 여기까지 SDN/OpenFlow를 테스트 할 수 있는 Mininet 환경을 구성해 보았습니다.

 

다음에는 이 Mininet을 활용한 Topology를 원하는데로 구성해보기...

Controller와 연동하기 등을.... 진행하도록 하겠습니다.

 

이것 저것... 포스팅 시리즈를 벌여놓기만 하고.. 중간에 끊기고 있기는 하지만. ^^;

그래도 지속적으로 노력하겠습니다.