안녕하세요! 요즘 OpenStack 를 사용하게 되면서 까먹지 않고 정리할겸 OpenStack 강좌를 진행하려고 합니다~!
OpenStack 이 개념자체도 너무 광범위하고, 제가 이런 가상화 시스템 전문가도 아니기 때문에 너무 디테일한 부분까지는 모를거에요^^;
첫내용은 OpenStack을 설치하는 부분입니다. OpenStack은 수많은 패키지들의 조합이라고 보면되는데요 그때문에 설치하기 무지 까다롭습니다.
그래서 나온데 DevStack 입니다 DevStack 은 OpenStack의 필수 구성요소를 쉘스크립트(.sh) 를 이용해서 편하게 설치하게 도와줍니다.
아래는 오픈스텍의 기본 구조입니다
이해가 가시나요? DevStack를 이용하면 기본적인 위구조의 시스템이 구축됩니다.
그럼 이제 DevStack을 이용하여 설치하도록 하겠습니다.
1. 서버 H/W 현황
CentOS 6.6 ( 64bit )
CPU: 8Core
RAM: 16GB
SSD: 64GB
HDD: 1TB
2. DevStack 다운로드
- DevStack을 설치하기 위해서 DevStack공식 저장소(gti) 에서 설치 스크립트를 다운로드 합니다.
SSH를 통해 접속합니다( root 로 로그인 )
> cd /
> git clone https://github.com/openstack-dev/devstack.git
> ls -all
devstack 폴더가 생성되어 있는지 확인합니다
3. 사용자 생성
- DevStack설치는 root 에서는 보안상 설치가 불가능합니다.
아래 명령어를 통해서 stack 사용자를 추가합니다.
> ./devstack/tools/create-stack-user.sh
그럼 stack 이라는 계정이 추가됩니다
그후 devstack 폴더의 소유자를 변경해줍니다
> chown stack:stack devstack
4. localrc 생성
- DevStack을 설치하기 위해서는 다양한 구성으로 가능한데 설치전 localrc 를 생성해주어야 합니다.
설치 유형 구분은 아래와 같습니다
Multi Node( 멀티노드를 사용하기 위한 설치입니다. 즉 아래의 노드를 각각 관리할경우 사용합니다 ) installation runs different OpenStack services on different nodes. A basic installation requires nodes:
Controller Node runs control services, such as database, message queue and API services for the Identity Service, Image Service and Compute.
Network Node runs networking services and is responsible for virtual networking needed for people to create public or private networks, and uplink their virtual machines into external networks.
Compute nodes run the virtual machine instances in OpenStack. Additional Nodes can be added as per requirements which may include a Storage node, an additional Network, compute or nodes. Single Node ( 싱글노드는 한서버에 Controller , Network, Compute 노드를 모두 설치합니다 ) Single Node Installation runs all OpenStack services in one node including Control, Network, Compute, Storage services. This week, we’ll discuss how to install a single node in Openstack. [Tweet "Single Node #Openstack Installation Process"]
|
여기서는 Single Node로 설치하겠습니다
> cd devstack
> vi localrc
###########################
# Date : 2013.03.20 #
# Name : naleejang #
###########################
# Devstack localrc for nova-network all-in-one
# default
# 설치하려는 서버의 IP를 입력합니다.
HOST_IP=설치할 서버 IP
# network
# FIXED_RANGE - 인스턴스에 할당해 주기 위한 내부 IP 범위
# FLOATING_RANGE - IP범위 설정( 공인 IP 혹은 내부 IP로 설정 )
FLAT_INTERFACE=eth0
FIXED_RANGE=10.0.0.0/20
FIXED_NETWORK_SIZE=4096
FLOATING_RANGE=192.168.0.1/24
# 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=관리자암호
MYSQL_PASSWORD=MYSQL암호
RABBIT_PASSWORD=RABBIT암호
SERVICE_PASSWORD=서비스 암호
SERVICE_TOKEN=openstackservicetoken
# cinder
VOLUME_GROUP="cinder-volume"
VOLUME_NAME_PREFIX="volume-"
위와 같이 설정을 완료했다면 설치를 진행합니다
> ./devstack/stack.sh
주의!
만약 root에서 작업하려고 한다면 아래와 같은 메시지를 보실겁니다. 필히 stack 사용자를 생성하세요
You are running this script as root.
Cut it out.
Really.
If you need an account to run DevStack, do this (as root, heh) to create a non-root account:
/devstack/tools/create-stack-user.sh
설치시작.. ( 약 30분 ~ 1시간 소요 )
.
.
.
2014-11-07 07:34:45.684 | +++ export OS_PASSWORD=hanintel.com
2014-11-07 07:34:45.684 | +++ OS_PASSWORD=hanintel.com
2014-11-07 07:34:45.684 | ++ euca-bundle-image -r x86_64 -i /devstack/files/images/cirros-0.3.2-x86_64-uec/cirros-0.3.2-x86_64-vmlinuz --kernel true -d /devstack/files/images/s3-materials/cirros-0.3.2
2014-11-07 07:34:46.175 | Checking image
2014-11-07 07:34:46.175 | Compressing image
2014-11-07 07:34:46.175 | Encrypting image
2014-11-07 07:34:46.175 | Splitting image...
2014-11-07 07:34:46.175 | Part: cirros-0.3.2-x86_64-vmlinuz.part.00
2014-11-07 07:34:46.175 | Generating manifest /devstack/files/images/s3-materials/cirros-0.3.2/cirros-0.3.2-x86_64-vmlinuz.manifest.xml
2014-11-07 07:34:46.177 | ++ euca-bundle-image -r x86_64 -i /devstack/files/images/cirros-0.3.2-x86_64-uec/cirros-0.3.2-x86_64-initrd --ramdisk true -d /devstack/files/images/s3-materials/cirros-0.3.2
2014-11-07 07:34:46.584 | Checking image
2014-11-07 07:34:46.584 | Compressing image
2014-11-07 07:34:46.584 | Encrypting image
2014-11-07 07:34:46.584 | Splitting image...
2014-11-07 07:34:46.584 | Part: cirros-0.3.2-x86_64-initrd.part.00
2014-11-07 07:34:46.584 | Generating manifest /devstack/files/images/s3-materials/cirros-0.3.2/cirros-0.3.2-x86_64-initrd.manifest.xml
2014-11-07 07:34:46.586 | ++ euca-bundle-image -r x86_64 -i /devstack/files/images/cirros-0.3.2-x86_64-uec/cirros-0.3.2-x86_64-blank.img -d /devstack/files/images/s3-materials/cirros-0.3.2
2014-11-07 07:34:47.030 | Checking image
2014-11-07 07:34:47.030 | Compressing image
2014-11-07 07:34:47.030 | Encrypting image
2014-11-07 07:34:47.030 | Splitting image...
2014-11-07 07:34:47.030 | Part: cirros-0.3.2-x86_64-blank.img.part.00
2014-11-07 07:34:47.030 | Generating manifest /devstack/files/images/s3-materials/cirros-0.3.2/cirros-0.3.2-x86_64-blank.img.manifest.xml
2014-11-07 07:34:47.032 | ++ [[ stack == \u\n\s\t\a\c\k ]]
2014-11-07 07:34:47.033 | ++ [[ stack == \c\l\e\a\n ]]
2014-11-07 07:34:47.033 | + merge_config_group /devstack/local.conf post-extra
2014-11-07 07:34:47.033 | + local localfile=/devstack/local.conf
2014-11-07 07:34:47.033 | + shift
2014-11-07 07:34:47.033 | + local matchgroups=post-extra
2014-11-07 07:34:47.033 | + [[ -r /devstack/local.conf ]]
2014-11-07 07:34:47.033 | + return 0
2014-11-07 07:34:47.033 | + [[ -x /devstack/local.sh ]]
2014-11-07 07:34:47.033 | + service_check
2014-11-07 07:34:47.033 | + local service
2014-11-07 07:34:47.033 | + local failures
2014-11-07 07:34:47.033 | + SCREEN_NAME=stack
2014-11-07 07:34:47.033 | + SERVICE_DIR=/opt/stack/status
2014-11-07 07:34:47.033 | + [[ ! -d /opt/stack/status/stack ]]
2014-11-07 07:34:47.033 | ++ ls '/opt/stack/status/stack/*.failure'
2014-11-07 07:34:47.035 | ++ /bin/true
2014-11-07 07:34:47.036 | + failures=
2014-11-07 07:34:47.036 | + '[' -n '' ']'
Horizon is now available at http://xxx.xxx.xxxx.xxx/
Keystone is serving at http://xxx.xxx.xxxx.xxx:5000/v2.0/
Examples on using novaclient command line is in exercise.sh
The default users are: admin and demo
The password: hanintel.com
This is your host ip: xxx.xxx.xxxx.xxx
위처럼 나오면 설치 성공입니다.
Horizon is now available at 의 IP로 접속하시면 아래와 같은 화면을 보실 수 있습니다
접속하시면 admin/위에서 설정하신 비밀번호 로 로그인하시면 됩니다.
이것으로 OpenStack 설치가 완료되었습니다~
'개발 > SEO' 카테고리의 다른 글
[MariaDB] 마리아DB slave , 복제(Replication) 구성하기 (1) | 2015.08.06 |
---|---|
[SQL] Mariadb , MySQL 사용시 Transaction level 'READ-COMMITTED' 오류 해결하기 (0) | 2015.07.18 |
Dyndns DDNS를 무료로 사용하기 (0) | 2014.10.25 |
웹마스터 도구로 홈페이지 검색 최적화 하기 #2 - 네이버(Naver) 웹마스터 도구 (0) | 2014.10.12 |
웹마스터 도구로 홈페이지 검색 최적화 하기 #1 - 구글(Google) 웹마스터 도구 (3) | 2014.10.12 |