openstack devstack install - 2부 (multi-nodes)

16
OpenStack Korea Community DevStack (2): Multi-nodes 2014-06-21

Upload: ian-choi

Post on 08-Jan-2017

505 views

Category:

Software


2 download

TRANSCRIPT

Page 1: OpenStack DevStack Install - 2부 (Multi-nodes)

OpenStack Korea Community

DevStack (2): Multi-nodes

2014-06-21

Page 2: OpenStack DevStack Install - 2부 (Multi-nodes)

OpenStack Korea Community

Index

What is DevStack? (1편 All-in-one 참고)

Installation Type: Multi-nodes

Controller & Compute nodes

Configuration file: localrc / local.conf

Installation (Demo)

Page 3: OpenStack DevStack Install - 2부 (Multi-nodes)

OpenStack Korea Community

DevStack Installation Type – (1)

• All-in-one (Single-node)

리눅스 서버 1대에 OpenStack 모든 구성 요소

들을 설치

장점: Multi-node보다 손쉬운 설치 과정

단점: OpenStack 각 구성 요소에 대한 구조 파

악의 어려움

• Multi-nodes

리눅스 서버 여러 대에 OpenStack 구성 요소들

을 나누어 설치

장점: 여러 대에 설치하여 기능 분산,

OpenStack 구성 요소에 대한 구조 이해 용이

단점: All-in-one보다 복잡한 설치 과정

Page 4: OpenStack DevStack Install - 2부 (Multi-nodes)

OpenStack Korea Community

DevStack Installation Type – (2)

• All-in-one (Single-node)

Compute

API request

Nova API

Other components

• Multi-nodes

Compute

API request

Nova API

Other components

Compute

Compute

Page 5: OpenStack DevStack Install - 2부 (Multi-nodes)

OpenStack Korea Community

• Controller 노드

모든 OpenStack 서비스들을 실행합니다.

Compute 노드(들)을 관리합니다.

• Compute 노드(들)

작업 위주의 OpenStack 서비스들만을 실행합

니다. (예: 가상 머신 서비스 - Nova)

Controller & Compute nodes

Compute

API request

Nova API

Other components

Compute

Compute

…VM VM VM…

VM VM VM…

Page 6: OpenStack DevStack Install - 2부 (Multi-nodes)

OpenStack Korea Community

• localrc / local.conf

DevStack 설치를 위한 환경 설정 파일입니다.

초창기 DevStack에서부터 localrc를 설정 파

일로 사용하였으며, 최근에는 local.conf 파일

사용을 권장하고 있습니다.

All-in-one 설치시 미리 정의된 localrc 파일을

다운로드하여 사용하였습니다.

설정 내용

설치 구성 요소

암호

네트워크 구성

Configuration file: localrc / local.conf

HOST_IP=192.168.56.101PUBLIC_INTERFACE=eth0

# LoggingDEST=/opt/stackLOGFILE=$DEST/logs/stack.sh.logSCREEN_LOGDIR=$DEST/logs/screen

# CredentialsADMIN_PASSWORD=openstackMYSQL_PASSWORD=openstackRABBIT_PASSWORD=openstackSERVICE_PASSWORD=openstackSERVICE_TOKEN=tokentoken

# Neutron - Networking ServiceDISABLED_SERVICES=n-netENABLED_SERVICES+=,q-svc,q-agt,q-dhcp,q-l3,q-meta,q-metering,neutron

localrc (All-in-one에서 사용):

Page 7: OpenStack DevStack Install - 2부 (Multi-nodes)

OpenStack Korea Community

Installation – (1)

• 데모: 설치 환경

가상 환경: VirtualBox 4.3.12 in Windows 8

Linux: “Ubuntu 14.04 LTS Desktop” x 2

OpenStack Release 버전: Icehouse

설치 방식: Multi-nodes (nova-network)

설치 구성 요소: Nova, Glance, Keystone, Horizon

참고: http://devstack.org/guides/multinode-lab.html

Compute

API request

Nova API

Other components

Compute

Compute

Page 8: OpenStack DevStack Install - 2부 (Multi-nodes)

OpenStack Korea Community

(OS)

(VirtualBox)

[로컬 영역 연결1](인터넷 연결)

[로컬 영역 연결2]호스트 네트워크

(인터넷)

Compute

API request

Nova API

Other components

Compute

Compute

VM VM VM…

VM VM VM…

eth0

br100

eth0

br100

eth0

br100eth1

eth1

eth1

192.168.56.0/24

Installation – (2)

(참고: 는 NAT 입니다.)

Page 9: OpenStack DevStack Install - 2부 (Multi-nodes)

OpenStack Korea Community

Installation – (3)

• 설치 과정

1) VirtualBox 및 Linux 설치

2) Linux 기본 환경 설정 (업데이트 포함)

3) 가상 머신 복제를 통한 추가 노드 생성 + 설정

4) DevStack을 다운로드하기 위한 ‘git’ 설치

5) DevStack 스크립트 다운로드

6) Controller 노드 설정 구성 및 설치

7) Compute 노드 설정 구성 및 설치

8) 테스트$ sudo pico /etc/hosts # 호스트 이름 변경 필요 (1)

$ sudo pico /etc/hostname # 호스트 이름 변경 필요 (2)

$ sudo service hostname start # 호스트명 변경 적용 명령어

Page 10: OpenStack DevStack Install - 2부 (Multi-nodes)

OpenStack Korea Community

Installation – (3)

• 설치 과정

1) VirtualBox 및 Linux 설치

2) Linux 기본 환경 설정 (업데이트 포함)

3) 가상 머신 복제를 통한 추가 노드 생성 + 설정

4) DevStack을 다운로드하기 위한 ‘git’ 설치

5) DevStack 스크립트 다운로드

6) Controller 노드 설정 구성 및 설치

7) Compute 노드 설정 구성 및 설치

8) 테스트

$ sudo -i

# groupadd stack

# useradd -g stack -s /bin/bash -d /opt/stack -m stack

# passwd stack

‘stack’ 사용자 추가 & 암호 지정

# echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

‘sudo’ 명령어 실행시 암호 묻지 않도록 설정

Page 11: OpenStack DevStack Install - 2부 (Multi-nodes)

OpenStack Korea Community

Installation – (3)

• 설치 과정

1) VirtualBox 및 Linux 설치

2) Linux 기본 환경 설정 (업데이트 포함)

3) 가상 머신 복제를 통한 추가 노드 생성 + 설정

4) DevStack을 다운로드하기 위한 ‘git’ 설치

5) DevStack 스크립트 다운로드

6) Controller 노드 설정 구성 및 설치

7) Compute 노드 설정 구성 및 설치

8) 테스트

$ sudo apt-get install git

$ git clone –b stable/icehouse git://github.com/openstack-

dev/devstack.git

Git 설치

DevStack 스크립트 다운로드

$ wget –O local.conf http://goo.gl/4c6AEW

$ wget –O local.sh http://goo.gl/aLMYsc && chmod +x local.sh

설치 구성 파일 다운로드 (Controller 노드)

$ wget –O local.conf http://goo.gl/67Mocp

설치 구성 파일 다운로드 (Compute 노드)

Page 12: OpenStack DevStack Install - 2부 (Multi-nodes)

OpenStack Korea Community

Installation – (3)

• 설치 과정

1) VirtualBox 및 Linux 설치

2) Linux 기본 환경 설정 (업데이트 포함)

3) 가상 머신 복제를 통한 추가 노드 생성 + 설정

4) DevStack을 다운로드하기 위한 ‘git’ 설치

5) DevStack 스크립트 다운로드

6) Controller 노드 설정 구성 및 설치

7) Compute 노드 설정 구성 및 설치

8) 테스트

[[local|localrc]]HOST_IP=192.168.56.111FIXED_RANGE=10.4.128.0/20FIXED_NETWORK_SIZE=4096FLOATING_RANGE=192.168.42.128/25MULTI_HOST=1LOGFILE=/opt/stack/logs/stack.sh.logADMIN_PASSWORD=openstackMYSQL_PASSWORD=supersecretRABBIT_PASSWORD=supersecreteSERVICE_PASSWORD=supersecreteSERVICE_TOKEN=xyzpdqlazydog

local.conf (Controller 노드):

#!/usr/bin/env bashfor i in `seq 2 20`; do nova-manage fixed reserve 10.4.128.$i; done

local.sh (Controller 노드):

Page 13: OpenStack DevStack Install - 2부 (Multi-nodes)

OpenStack Korea Community

Installation – (3)

• 설치 과정

1) VirtualBox 및 Linux 설치

2) Linux 기본 환경 설정 (업데이트 포함)

3) 가상 머신 복제를 통한 추가 노드 생성 + 설정

4) DevStack을 다운로드하기 위한 ‘git’ 설치

5) DevStack 스크립트 다운로드

6) Controller 노드 설정 구성 및 설치

7) Compute 노드 설정 구성 및 설치

8) 테스트

[[local|localrc]]]HOST_IP=192.168.56.112FIXED_RANGE=10.4.128.0/20FIXED_NETWORK_SIZE=4096FLOATING_RANGE=192.168.42.128/25MULTI_HOST=1DEST=/opt/stackLOGFILE=$DEST/logs/stack.sh.logSCREEN_LOGDIR=$DEST/logs/screenADMIN_PASSWORD=openstackMYSQL_PASSWORD=supersecretRABBIT_PASSWORD=supersecreteSERVICE_PASSWORD=supersecreteSERVICE_TOKEN=xyzpdqlazydogDATABASE_TYPE=mysqlSERVICE_HOST=192.168.56.111MYSQL_HOST=$SERVICE_HOSTRABBIT_HOST=$SERVICE_HOSTGLANCE_HOSTPORT=$SERVICE_HOST:9292ENABLED_SERVICES=n-cpu,n-net,n-api,c-sch,c-api,c-vol,n-novncVNCSERVER_LISTEN=0.0.0.0VNCSERVER_PROXYCLIENT_ADDRESS=$HOST_IP

local.conf (Compute 노드):

Page 14: OpenStack DevStack Install - 2부 (Multi-nodes)

OpenStack Korea Community

DevStack Review: Multi-nodes

DevStack을

Multi-nodes 모드로 여러 Linux 가상 머신에 설치해 보았습니다.

Controller 노드에서는

모든 OpenStack 서비스들을 실행합니다.

Compute 노드에서는

실제 작업을 주로 실행하는 OpenStack 서비스들을 실행합니다.

Page 15: OpenStack DevStack Install - 2부 (Multi-nodes)

OpenStack Korea Community

Tips!

screen –x stack

DevStack를 통해 구동된 여러 서비스들 상황을 확인합니다. (이동: Ctrl+p/n, 종료: Ctrl+a,d)

./unstack.sh

“./stack.sh”를 통해 실행되었던 OpenStack 서비스들을 중지합니다. (설정 파일 미제거)

./clean.sh

“./stack.sh”를 통해 설치되었던 OpenStack 서비스들을 제거합니다. (설정 파일 제거)

Page 16: OpenStack DevStack Install - 2부 (Multi-nodes)

OpenStack Korea Community

감사합니다.

최영락 (나임네트웍스, SDN 기술팀 매니저)