OpenStack Class2015.02.10 18:18

안녕하세요~!!

그동안 행사 준비 때문에 너무 바뻐서 강좌를 올릴 시간이 없었네요~!! 
특히 그림이 많은 강좌는 더욱더 작업을 하기가 힘이 드는것 같습니다. 어여어여 모든 강좌를 다 오픈해 드려야 하는데 제가 너무 게을러서 이것도 너무 벅찬것 같습니다. 지난시간에는 Packstack All-in-One을 설치해 보았는데요~!! 이번 시간에는 OpenStack Dashboard에 접속해서 Neutron 네트워크를 추가해 보도록 하겠습니다.

Dashboard 접속

오픈스택 설치가 완료되었으면 데쉬보드에 접속해 보겠습니다.

 

1.     설치가 완료된 후 ls -al 명령을 입력하면 다음과 같이 keystone_admin이라는 파일을 확인할수 있습니다.

$ ls –al

total 44

-rw-------. 1 root  root    181 Jun  9 14:31 keystonerc_admin

-rw-------. 1 stack stack 17729 Jun  9 13:02 my_answers.txt

-rw-------. 1 stack stack 17736 Jun  9 13:44 packstack-answers-20140609-134419.txt

 

2.     cat을 이용해 Keystone_admin 파일에서 USERNAME PASSWORD를 확인합니다.

$ sudo cat keystonerc_admin

export OS_USERNAME=admin

export OS_TENANT_NAME=admin

export OS_PASSWORD=d00e7c546ce744ee

export OS_AUTH_URL=http://10.10.15.11:5000/v2.0/

export PS1='[\u@\h \W(keystone_admin)]\$ '

 

3.     데쉬보드를 접속하고 확인한 USERNAMEPASSWORD를 입력합니다. 


4.     로그인을 하면 다음과 같이 데쉬보드 메인 화면을 확인할 수 있습니다.


 Neutron 네트워크 생성

오픈스택 설치가 완료되었다고 할지라도 Neutron 네트워크를 바로 사용할 수는 없습니다. 그래서, Neutron 네트워크 사용을 위한 네트워크 IP 설정 및 네트워크를 생성해 보도록 하겠습니다.

 

1.     Ifconfig를 해서 보면 br-ex에 우리가 설정하고자 하는 외부 IP가 아닌 전혀 다른 IP가 설정되어 있는 것을 확인할 수 있습니다. IP는 오픈스택 설치 시 기본으로 설정해 주는 IP입니다.

$ ifconfig

br-ex     Link encap:Ethernet  HWaddr 12:B1:9E:BD:52:48 

          inet addr:172.24.4.225  Bcast:0.0.0.0  Mask:255.255.255.240

          inet6 addr: fe80::b025:abff:fe5d:4f9f/64 Scope:Link

          UP BROADCAST RUNNING  MTU:1500  Metric:1

          RX packets:10 errors:0 dropped:0 overruns:0 frame:0

          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:684 (684.0 b)  TX bytes:468 (468.0 b)

 

br-int    Link encap:Ethernet  HWaddr DA:0B:40:22:9F:47 

          inet6 addr: fe80::8c0:abff:fee9:a049/64 Scope:Link

          UP BROADCAST RUNNING  MTU:1500  Metric:1

          RX packets:11 errors:0 dropped:0 overruns:0 frame:0

          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:762 (762.0 b)  TX bytes:468 (468.0 b)

 

2.     그럼, /etc/sysconfig/network-scripts/ifcfg-br-ex 파일을 열어 아래와 같이 수정합니다. 이때 DEVICETYPE ovs이며, TypeOVSBridge입니다.

$ sudo vi /etc/sysconfig/network-scripts/ifcfg-br-ex

DEVICE=br-ex

DEVICETYPE=ovs

TYPE=OVSBridge

BOOTPROTO=static

IPADDR=192.168.0.100

NETMASK=255.255.255.0

BROADCAST=192.168.0.255

GATEWAY=192.168.0.1

DNS1=8.8.8.8

NM_CONTROLLED=no

DEFROUTE=yes

IPV4_FAILURE_FATAL=yes

IPV5INIT=no

ONBOOT=yes

 

3.     이번에는 /etc/sysconfig/network-scripts/ifcfg-eth1을 열어 아래와 같이 수정합니다. Ifcfg-eth1에서는 TypeOVSPort로 설정하고, OVS_BRIDGE 파라메터를 추가합니다.

$ sudo vi /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

TYPE=OVSPort

DEVICETYPE=ovs

OVS_BRIDGE=br-ex

NM_CONTROLLED=no

IPV6INIT=no

ONBOOT=yes

 

4.     IP 설정이 완료되었으면 네트워크 서비스를 재 시작합니다.

$ sudo service network restart

Shutting down interface br-ex:                             [  OK  ]

Shutting down interface eth0:                              [  OK  ]

Shutting down interface eth1:                              [  OK  ]

Shutting down loopback interface:                          [  OK  ]

Bringing up loopback interface:                            [  OK  ]

Bringing up interface br-ex:  Determining if ip address 192.168.0.100 is already in use for device br-ex...

                                                           [  OK  ]

Bringing up interface eth0:  Determining if ip address 10.10.15.11 is already in use for device eth0...

                                                           [  OK  ]

Bringing up interface eth1:  RTNETLINK answers: File exists

                                                           [  OK  ]

 

 

5.     다시 ifconfig를 해서 보면 br-exIP가 수정된 것을 확인 할 수 있습니다.

$ ifconfig

br-ex     Link encap:Ethernet  HWaddr 08:00:27:04:A8:B0 

          inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0

          inet6 addr: fe80::e403:28ff:fe45:a85c/64 Scope:Link

          UP BROADCAST RUNNING  MTU:1500  Metric:1

          RX packets:16 errors:0 dropped:0 overruns:0 frame:0

          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:3442 (3.3 KiB)  TX bytes:972 (972.0 b)

 

br-int    Link encap:Ethernet  HWaddr DA:0B:40:22:9F:47 

          inet6 addr: fe80::8c0:abff:fee9:a049/64 Scope:Link

          UP BROADCAST RUNNING  MTU:1500  Metric:1

          RX packets:11 errors:0 dropped:0 overruns:0 frame:0

          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:762 (762.0 b)  TX bytes:468 (468.0 b)

 

6.     IP가 수정된 것은 ifconfig 뿐만 아니라 OpenvSwitch에서도 확인할 수 있습니다. 아래와 같이 sudo ovs-vsctl show 명령어를 실행하면 br-exeth1이 포트로 추가되어 있는 것을 확인할 수 있습니다.

$ sudo ovs-vsctl show

aac730c8-4099-4c7d-8ff6-7f251d9e8e46

    Bridge br-int

        Port br-int

            Interface br-int

                type: internal

        Port "qr-5f49aafd-5f"

            tag: 1

            Interface "qr-5f49aafd-5f"

                type: internal

    Bridge br-ex

        Port "eth1"

            Interface "eth1"

        Port br-ex

            Interface br-ex

                type: internal

    ovs_version: "1.11.0"

 

7.     이제 admin 계정으로 데쉬보드를 접속하여 좌측의 관리자 > 시스템 패널 > 라우터 메뉴를 들어갑니다. 그리고, 기존에 생성되어 있던 라우터를 삭제합니다. 

8.     라우터 삭제 버튼을 클릭하면 아래와 같은 확인 메시지가 뜨는데 이때 라우터 삭제 버튼을 클릭합니다.

 

9.     그러면 아래와 같이 라우터가 삭제됩니다.

 

10.     이제 관리자 > 시스템 패널 > 네트워크 메뉴로 들어갑니다. 그리고, public을 네트워크를 삭제합니다.


11.     Public을 선택하고 상단의 빨간 네트워크 삭제 버튼을 클릭하면 아래와 같은 확인 메시지가 나옵니다. 메시지를 확인하고 파란 네트워크 삭제 버튼을 클릭합니다.

 

12.     그러면 네트워크 목록에서 public 네트워크가 삭제된 것을 확인할 수 있습니다.

 

13.     이제 우리가 설정한 IPpublic 네트워크를 다시 생성해야 합니다. 네트워크 목록 화면의 상단에 “+ 네트워크 생성버튼을 클릭하면 아래와 같은 네트워크 생성 창이 뜹니다. 이때 이름은 public-subnet이라고 하고, 프로젝트는 admin을 선택합니다. 그리고, 외부 네트워크에 체크를 한 후 하단의 네트워크 생성 버튼을 클릭합니다.

 

14.     그러면, 네트워크 목록에서 public 네트워크가 생성된 것을 확인할 수 있습니다. 그런데, private 네트워크에는 관련 서브넷이 있는데, public 네트워크에는 보이지 않습니다. 이제부터 public 네트워크의 서브넷을 만들어 보겠습니다. 목록에서 public 네트워크를 클릭합니다.


15.     네트워크 세부 정보와 함께 서브넷 정보도 함께 확인할 수 있는 상세화면으로 전환되었습니다. 그럼, 서브넷 생성 버튼을 클릭합니다.

 

16.  아래와 같이 서브넷 생성 팝업이 뜨면, 서브넷 이름, 네트워크 주소, 게이트웨이 IP를 입력합니다. 서브넷 이름은 public_subnet으로 하고, 네트워크 주소는 미리 설정한 IP 범위를 입력하면 됩니다.


17.  다음 버튼을 클릭하면 할당 서브넷 세부정보를 입력하라는 창으로 전환합니다. 이때 Pools 할당에는 public IP 중 할당 가능한 IP 범위를 입력하면 됩니다. 그리고, DNS 네임 서버가 있으면 네임 서버를 입력하고 생성 버튼을 클릭합니다.

 

18.  그러면 네트워크 목록에서 public 네트워크의 관련 서브넷 정보가 생성된 것을 확인 하실 수 있습니다.


19.  네트워크 생성이 완료되면 라우터 생성을 해야 합니다. 라우터 생성은 demo 계정에서 생성해야 하므로, admin 계정을 로그아웃하고 demo 계정으로 로그인합니다. 그리고, 좌측의 프로젝트 > 네트워크 > 라우터 메뉴를 선택합니다.

 

20.  라우터 생성 버튼을 클릭하면 아래와 같은 라우터 생성 팝업이 뜨는데, 라우터 이름에 생성하고자 하는 라우터 명을 입력하고 라우터 생성 버튼을 클릭합니다.

 

21.  라우터가 생성이 되면 라우터의 게이트웨이와 인터페이스를 설정해야 합니다. 우선, 게이트웨이 먼저 설정해 보도록 하겠습니다. 생성한 라우터의 게이트웨이 설정 버튼을 클릭합니다.

 

22.  게이트웨이 설정 창이 뜨면 외부 네트워크를 아까 생성한 public으로 선택한 후 게이트웨이 설정 버튼을 클릭합니다.


23.  라우터의 게이트웨이가 public 네트워크로 설정되었습니다. 이제 인터페이스를 설정해 보겠습니다. 라우터 이름을 클릭하여 세부 정보로 들어갑니다.

 

24.  라우터 세부 정보에서는 라우터 기본 정보, 인터페이스를 확인 할 수 있습니다. 인터페이스 추가 버튼을 클릭합니다.


25.  인터페이스 추가 창에서는 아래와 같이 서브넷을 선택하고 인터페이스 추가 버튼을 클릭합니다.


26.  아래와 같이 인터페이스가 추가되었습니다. 



인스턴스 생성하기

네트워크 설정이 끝났으면 이제 인스턴스를 생성할 수 있습니다. 인스턴스 생성은 demo 계정으로 로그인하여 진행하면 됩니다.

 

1.     Demo 계정으로 데쉬보드를 로그인 한 후 좌측 메뉴에서 프로젝트 > Compute > 인스턴스 메뉴를 선택합니다.

 

2.     인스턴스 화면 우측 상단의 +인스턴스 시작 버튼을 클릭하면 아래와 같이 인스턴스를 생성할 수 있는 화면이 뜹니다. 그러면, 인스턴스 이름, 이미지를 선택합니다.

 

3.     이번에는 네트워킹 탭에 들어가서 네트워크가 선택되었는지 확인하고 Launch 버튼을 클릭합니다.

 

4.     이제 몇 분만 기다리면 인스턴스가 생성이 됩니다.


이렇게 해서 CentOS에서 설치해보는 오픈스택 All-in-One 편을 모두 마쳤습니다. 

다음 포스팅에서는 Multi node로 오픈스택을 설치해 보도록 하겠습니다.

Posted by 나리 짱!!! naleejang