OpenStack Class 22016.08.18 15:12


데브스택을 이용해서 오픈스택 Neutron 설치하기

앞에서 데브스택 공식 설치 문서를 이용하여 네트워크 구성도를 그려봤습니다. 그럼, 여기서는 네트워크 구성도에 따라 VirtualBox에 가상서버를 생성하고 그 위에 데브스택을 설치해 보겠습니다.



VirtualBox에서 가상 서버 생성

 VirtualBox에서 가상 서버를 생성하는 방법은 이미 앞에서 다루었습니다. 이번에는 가상 서버 생성 시 이전과 다르게 설정할 부분만 따로 살펴보겠습니다.

 


1.     VirtualBox를 이용해서 가상 서버를 만들고 [설정]을 클릭합니다. 설정 창이 열리면 [시스템]에서 CPU를 설정하고, [저장소]에서 우분투 서버를 설정한 후 [네트워크]를 선택합니다. [어댑터 1] 탭에서 [호스트 전용 어댑터]를 선택하고 고급에서 무작위 모드를 [모두 허용]으로 선택합니다. 지금 설정한 어댑터는 우분투 서버의 enp0s3이며 관리용 네트워크로 사용됩니다.


 

2.     [어댑터 2] 탭을 선택하고 [브리지 어댑터]를 선택합니다. 그리고, 고급에서 무작위 모드를 [모두 허용]으로 선택합니다. 여기서 설정한 어댑터는 우분투 서버의 enp0s8이 되며, 외부용 네트워크로 사용됩니다.

 

 

데브스택 설치

VirtualBox를 이용해서 가상 서버를 생성하고 생성한 가상 서버에 우분투를 설치했습니다. 오픈스택 공식 매뉴얼로 제공되는 데브스택 설치 매뉴얼을 이용하여 어떻게 뉴트론 네트워크를 구성하면 되는지를 알아보고, 데브스택을 설치 하겠습니다.



1.     VirtualBox를 이용하여 우분투 서버를 생성하였으며, SSH 클라이언트를 통해 생성한 우분투 서버에 접속합니다. 그리고, vi 에디터를 이용해 /etc/network/interfaces를 아래와 같이 수정합니다. 이때 사용되는 IP는 네트워크 구성도에서 미리 설정했던 IP를 입력합니다.

root@devstack:~# vi /etc/network/interfaces

 

# This file describes the network interfaces available on your system

# and how to activate them. For more information, see interfaces(5).

 

source /etc/network/interfaces.d/*

 

# The loopback network interface

auto lo

iface lo inet loopback

 

# The primary network interface

auto enp0s3

iface enp0s3 inet static

   address 192.168.56.103

   netmask 255.255.255.0

   gateway 192.168.56.1

 

auto enp0s8

iface enp0s8 inet static

   address 192.168.0.22

   netmask 255.255.255.0

   gateway 192.168.0.1

 


2.     IP 설정이 완료되었으면, 설정한 IP를 아래와 같은 명령어를 이용하여 시스템에 반영합니다. 그리고, 설정이 제대로 되었는지 ifconfig 명령을 이용하여 확인합니다.

root@devstack:~# systemctl restart networking

root@devstack:~# ifconfig

enp0s3    Link encap:Ethernet  HWaddr 08:00:27:b6:2d:a7 

          inet addr:192.168.56.103  Bcast:192.168.56.255  Mask:255.255.255.0

          inet6 addr: fe80::a00:27ff:feb6:2da7/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

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

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

          collisions:0 txqueuelen:1000

          RX bytes:23856 (23.8 KB)  TX bytes:49794 (49.7 KB)

 

enp0s8    Link encap:Ethernet  HWaddr 08:00:27:9f:df:14 

          inet addr:192.168.0.22  Bcast:192.168.0.255  Mask:255.255.255.0

          inet6 addr: fe80::a00:27ff:fe9f:df14/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

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

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

          collisions:0 txqueuelen:1000

          RX bytes:40428565 (40.4 MB)  TX bytes:1332 (1.3 KB)

 

lo        Link encap:Local Loopback 

          inet addr:127.0.0.1  Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING  MTU:65536  Metric:1

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

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

          collisions:0 txqueuelen:1

          RX bytes:27980 (27.9 KB)  TX bytes:27980 (27.9 KB)

 


3.     DevStack을 설치하기 위한 stack 계정을 생성하고, 패스워드 입력없이도 sudo를 사용할 수 있도록 /etc/sudoers에 아래와 같이 추가합니다. 그리고, 패스워드를 설정합니다.

root@devstack:~# useradd -U -G sudo -s /bin/bash -m stack

root@devstack:~# echo "stack ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers

root@devstack:~# passwd stack

Enter new UNIX password:

Retype new UNIX password:

passwd: password updated successfully

root@devstack:~#

 


4.     Stack 계정이 추가되면 root 계정에서 stack 계정으로 사용자를 전환합니다.

root@devstack:~# su stack

To run a command as administrator (user "root"), use "sudo <command>".

See "man sudo_root" for details.

 

stack@devstack:/root$ cd

stack@devstack:~$

 


5.     git을 이용해 데브스택 쉘 스크립트를 받습니다. 이때 만일 특정 버전의 오픈스택을 설치하고 싶다면 –b 옵션을 사용하여 설치할 수 있습니다. 설치할 데브스택의 버전은 다음 URL에서 확인할 수 있습니다. (데브스택 Git 사이트 : https://git.openstack.org/cgit/openstack-dev/devstack)

stack@devstack:~$ git clone https://git.openstack.org/openstack-dev/devstack

Cloning into 'devstack'...

remote: Counting objects: 33951, done.

remote: Compressing objects: 100% (16089/16089), done.

remote: Total 33951 (delta 24108), reused 26880 (delta 17412)

Receiving objects: 100% (33951/33951), 6.60 MiB | 974.00 KiB/s, done.

Resolving deltas: 100% (24108/24108), done.

Checking connectivity... done.

stack@devstack:~$

 


6.     DevStack를 다운로드 받았으면 이번에는 local.conf 파일을 생성하고, 환경설정을 해보겠습니다. Vi 에디터를 이용해 아래와 같이 local.conf을 열고, 오픈스택 기본 정보와 Nova-network 서비스를 비활성화 하고, Neutron 네트워크 서비스를 활성화합니다. 그리고, Netron 네트워크 정보들을 그 아래와 함께 입력합니다. 이때, 입력하는 IP들은 위에서 미리 그려본 네트워크 구성도에 따라서 설정하면 됩니다. 

stack@devstack:~/devstack$ vi local.conf

 [[local|localrc]]

HOST_IP=192.168.56.103

SERVICE_HOST=192.168.56.103

MYSQL_HOST=192.168.56.103

RABBIT_HOST=192.168.56.103

GLANCE_HOSTPORT=192.168.56.103:9292

ADMIN_PASSWORD=openstack

DATABASE_PASSWORD=openstack

RABBIT_PASSWORD=openstack

SERVICE_PASSWORD=openstack

 

# Do not use Nova-Network

disable_service n-net

# Enable Neutron

ENABLED_SERVICES+=,q-svc,q-dhcp,q-meta,q-agt,q-l3

 

## Neutron options

Q_USE_SECGROUP=True

FLOATING_RANGE="192.168.0.0/24"

FIXED_RANGE="10.0.0.0/24"

Q_FLOATING_ALLOCATION_POOL=start=192.168.0.100,end=192.168.0.200

PUBLIC_NETWORK_GATEWAY="192.168.0.1"

PUBLIC_INTERFACE=enp0s8

 

# Open vSwitch provider networking configuration

Q_USE_PROVIDERNET_FOR_PUBLIC=True

OVS_PHYSICAL_BRIDGE=br-enp0s8

PUBLIC_BRIDGE=br-enp0s8

OVS_BRIDGE_MAPPINGS=public:br-enp0s8

 


7.     localrc 파일 설정이 완료되면 stack.sh를 실행하고 네트워크 상황에 따라 40분~ 50분 정도 기다리면 설치가 완료됩니다.

stack@devstack:~/devstack$ ./stack.sh

+ unset GREP_OPTIONS

+ umask 022

+ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/sbin:/usr/sbin:/sbin

+++ dirname ./stack.sh

=========================

DevStack Component Timing

=========================

Total runtime         1564

 

run_process            67

test_with_retry         3

apt-get-update         11

pip_install           303

restart_apache_server  12

wait_for_service        9

git_timed             427

apt-get               113

=========================

 

 

 

This is your host IP address: 192.168.56.103

This is your host IPv6 address: ::1

Horizon is now available at http://192.168.56.103/dashboard

Keystone is serving at http://192.168.56.103:5000/

The default users are: admin and demo

The password: openstack

2016-05-25 01:51:11.914 | stack.sh completed in 1564 seconds.

stack@devstack:~/devstack$

 

Posted by 나리 짱!!! naleejang