openstack devstack install - 2부 (multi-nodes)
TRANSCRIPT
OpenStack Korea Community
DevStack (2): Multi-nodes
2014-06-21
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)
OpenStack Korea Community
DevStack Installation Type – (1)
• All-in-one (Single-node)
리눅스 서버 1대에 OpenStack 모든 구성 요소
들을 설치
장점: Multi-node보다 손쉬운 설치 과정
단점: OpenStack 각 구성 요소에 대한 구조 파
악의 어려움
• Multi-nodes
리눅스 서버 여러 대에 OpenStack 구성 요소들
을 나누어 설치
장점: 여러 대에 설치하여 기능 분산,
OpenStack 구성 요소에 대한 구조 이해 용이
단점: All-in-one보다 복잡한 설치 과정
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
…
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…
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에서 사용):
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
…
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 입니다.)
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 # 호스트명 변경 적용 명령어
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’ 명령어 실행시 암호 묻지 않도록 설정
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 노드)
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 노드):
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 노드):
OpenStack Korea Community
DevStack Review: Multi-nodes
DevStack을
Multi-nodes 모드로 여러 Linux 가상 머신에 설치해 보았습니다.
Controller 노드에서는
모든 OpenStack 서비스들을 실행합니다.
Compute 노드에서는
실제 작업을 주로 실행하는 OpenStack 서비스들을 실행합니다.
OpenStack Korea Community
Tips!
screen –x stack
DevStack를 통해 구동된 여러 서비스들 상황을 확인합니다. (이동: Ctrl+p/n, 종료: Ctrl+a,d)
./unstack.sh
“./stack.sh”를 통해 실행되었던 OpenStack 서비스들을 중지합니다. (설정 파일 미제거)
./clean.sh
“./stack.sh”를 통해 설치되었던 OpenStack 서비스들을 제거합니다. (설정 파일 제거)
OpenStack Korea Community
감사합니다.
최영락 (나임네트웍스, SDN 기술팀 매니저)