OpenStack Class2014.09.23 22:05

안녕하세요~!!


이제 오픈스택을 설치할 모든 준비가 완료되었습니다

초보자도 쉽게 따라할 수 있는 DevStack을 이용하여 오픈스택이 무엇인지 설치해 보도록 하겠습니다.

 

사전 준비

DevStack을 이용한 오픈스택을 설치하기 전에 미리 해야 할 사전준비가 필요합니다.

 

1. DevStack 스크립트를 다운로드 받고, 사용자 계정에 sudo 권한을 주기 위해서 gitsudo를 설치합니다.

nalee@ubuntu:~$ sudo apt-get install -y git sudo

 

2. DevStack을 설치하기 위해서는 stack이라는 사용자 계정이 필요한데 stack 사용자 계정을 추가하기 위해서는 root 계정에서 추가를 하여야 하므로 아래와 같이 root 계정의 패스워드를 설정합니다.

nalee@ubuntu:~$ sudo passwd root

Enter new UNIX password:

Retype new UNIX password:

passwd: password updated successfully

nalee@ubuntu:~$

 

3. root 계정 패스워드 설정이 되면 root 계정으로 전환을 한 뒤 stack 사용자 계정을 추가하고 stack 계정에 sudo를 패스워드 없이 사용할 수 있는 권한을 설정해 줍니다. 그리고, stack 계정의 로그인을 위하여 패스워드를 설정합니다.

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

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

root@ubuntu:~# passwd stack

Enter new UNIX password:

Retype new UNIX password:

passwd: password updated successfully

root@ubuntu:~#

 

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

root@ubuntu:~# su stack

stack@ubuntu:/root$ cd

stack@ubuntu:~$

 

 

데브스택 설치

이제 DevStack 스크립트를 다운로드 받고 오픈스택을 설치해 보도록 하겠습니다.

5. git을 이용해 DevStack 쉘 스크립트를 다운로드 합니다.

stack@ubuntu:~$ git clone -b stable/icehouse git://github.com/openstack-dev/devstack.git

Cloning into 'devstack'...

remote: Reusing existing pack: 16318, done.

remote: Counting objects: 7, done.

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

remote: Total 16325 (delta 2), reused 1 (delta 0)

Receiving objects: 100% (16325/16325), 4.13 MiB | 289 KiB/s, done.

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

*** git 으로 devstack을 받을때 호스트 PC의 운영체제 ubuntu 12.04라면 반드시 iceHouse 버전을 다운로드 받아야 합니다. 그리고, ubuntu 14.04 버전이라면 juno 버전을 설치하셔도 상관이 없습니다. 반드시 호스트 서버의 운영체제 버전을 확인하고 설치하시기 바랍니다. 


6. devstack 이 정상적으로 다운로드 되었는지 아래와 같은 명령어를 통해 확인합니다.

stack@ubuntu:~$ ll

total 24

drwxr-xr-x  3 stack stack 4096 Mar  7 11:23 ./

drwxr-xr-x  5 root  root  4096 Mar  7 11:20 ../

-rw-r--r--  1 stack stack  220 Apr  4  2012 .bash_logout

-rw-r--r--  1 stack stack 3486 Apr  4  2012 .bashrc

drwxr-xr-x 10 stack stack 4096 Mar  7 11:24 devstack/

-rw-r--r--  1 stack stack  675 Apr  4  2012 .profile

stack@ubuntu:~$

 

7. DevStack을 설치하기에 앞서 devstack 디렉토리에 있는 stackrc 스크립트 파일을 먼저 분석합니다. 어떤 서비스와 컴포넌트를 설치하는지 먼저 확인하고 설치를 들어가시면 Debug나 개념을 이해하는데 많은 도움이 됩니다.

stack@ubuntu:~/devstack$ vi stackrc

STACK_USER=$(whoami)

fi

 

# Specify which services to launch.  These generally correspond to

# screen tabs. To change the default list, use the ``enable_service`` and

# ``disable_service`` functions in ``localrc``.

# For example, to enable Swift add this to ``localrc``:

#  enable_service swift

# In order to enable Neutron (a single node setup) add the following

# settings in `` localrc``:

#  disable_service n-net

#  enable_service q-svc

#  enable_service q-agt

#  enable_service q-dhcp

#  enable_service q-l3

#  enable_service q-meta

#  enable_service neutron

#  # Optional, to enable tempest configuration as part of devstack

#  enable_service tempest

ENABLED_SERVICES=g-api,g-reg,key,n-api,n-crt,n-obj,n-cpu,n-net,n-cond,cinder,c-sch,c-api,c-vol,n-sch,n-novnc,n-xvnc,n-cauth,horizon,rabbit,tempest,mysql

 

# Set the default Nova APIs to enable

NOVA_ENABLED_APIS=ec2,osapi_compute,metadata

** 기본 stackrc 파일에는 glance, keystone, nova, nova-network, cinder, novnc, horizon, rabbitMQ, mysql을 설치하도록 설정되어 있습니다.

 

8. 그럼, localrc 파일을 설정해 보도록 하겠습니다. localrc 파일을 어떻게 설정하느냐에 따라 서비스를 설치 유무를 결정할 수 있고, nova-network로 설치할 것인지, neutron 방식으로 설치할 것인지 등을 설정할 수 있습니다. 여기에서는 가장 기본적인 single node, nova-network 방식으로 DevStack을 설치해 보도록 하겠습니다.

stack@ubuntu:~/devstack$ vi localrc

###########################

# Date : 2014.02.18              #

# Name : naleejang              #

###########################

# Devstack localrc for nova-network all-in-one

 

# default

HOST_IP=192.168.1.20

 

# network

FLAT_INTERFACE=eth0

FIXED_RANGE=10.0.0.0/20

FIXED_NETWORK_SIZE=4096

FLOATING_RANGE=192.168.1.128/28

 

# vnc

VNCSERVER_LISTEN=0.0.0.0

VNCSERVER_PROXYCLIENT_ADDRESS=$HOST_IP

 

# logs

DEST=/opt/stack

LOGFILE=$DEST/logs/stack.sh.log

SCREEN_LOGDIR=$DEST/logs/screen

 

# system password

ADMIN_PASSWORD=openstack

MYSQL_PASSWORD=openstack

RABBIT_PASSWORD=openstack

SERVICE_PASSWORD=openstack

SERVICE_TOKEN=openstackservicetoken

 

# cinder

VOLUME_GROUP="cinder-volume"

VOLUME_NAME_PREFIX="volume-"

 

9. localrc 파일 설정이 완료되면 stack.sh를 실행하고, 30여분정도를 기다리면 설치가 완료됩니다.

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

 


이렇게해서 오픈스택을 설치해 보았습니다. 다음 시간에는 설치한 오픈스택으로 인스턴스를 생성해 보도록 하겠습니다. 

그럼, 다음에 다시 만나요~~~ ^^


Posted by 나리 짱!!! naleejang