developerworks/Cloud

OpenStack (DevStack) 설치.. 및 설정.. 인수인계버전

수상한 김토끼 2013. 6. 4. 14:06

Open Stack

 

설치환경... 1

DEVSTACK. 1

설치순서... 1

localrc 1

설치... 2

설정... 3

대시보드... 3

Open_rc.sh. 5

Security Groups 6

Keypairs 7

이미지 파일 등록... 9

인스턴스 발행... 11

Volumes 15

 

 

설치환경

DEVSTACK

DEVSTACK을 사용하여 open stack을 설치

 

***DEVSTACK외의 설치 방법으로는 설치 실패

***현재 생성 된 인스턴스에 공인IP(Open Stack과 같은 대역의 IP)를 할당하는 Floating IP기능은 정상동작하지 않음.

– Open Stack이 설치된 서버에서만 접근가능 한 구조

***별도 외부의 API호출을 위해서 인증절차를 구현해야 할 것으로 보임(deltacloud, openstack-api사용시)

대시보드 & CLI를 통한 명령어는 동작하나 외부호출은 동작하지 않음.

 

Virtual machine 환경에 Ubuntu 12.04 LTS설치 후 작업을 진행 함

http://devstack.org/guides/single-vm.html 의 내용을 참고로 설치 함

 

All-In-One Single VM — DevStack documentation

All-In-One Single VM Use the cloud to build the cloud! Use your cloud to launch new versions of OpenStack in about 5 minutes. If you break it, start over! The VMs launched in the cloud will be slow as they are running in QEMU (emulation), but their primary

docs.openstack.org

 

설치순서

Ubuntu 설치 후 기본유저(sudo 명령이 가능한 유저)로 설치를 진행한다.

시냅틱 저장소를 업데이트 받는다.

sudo apt-get update

git 패키지를 설치한다.

sudo apt-get install git

devstack git 저장소를 클론한다.

git clone https://github.com/openstack-dev/devstack.git

 

 

GitHub - openstack/devstack: System for quickly installing an OpenStack cloud from upstream git for testing and development. Mir

System for quickly installing an OpenStack cloud from upstream git for testing and development. Mirror of code maintained at opendev.org. - GitHub - openstack/devstack: System for quickly installin...

github.com

클론 된 devstack 폴더로 이동한다.

cd devstack

localrc 파일을 작성한다.

Localrc 파일은 devstack의 설정파일로 설치 환경에 관련 된 정보들을 적어두게 된다.

 

설치 시 사용한 파일은 아래와 같다.

 

localrc

# default
HOST_IP=192.168.52.101
# network
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=openstack
MYSQL_PASSWORD=openstack
RABBIT_PASSWORD=openstack
SERVICE_PASSWORD=openstack
SERVICE_TOKEN=openstackservicetoken
# cinder
VOLUME_GROUP="cinder-volume"
VOLUME_NAME_PREFIX="volume-"

 

Host_ip부분에는 자신의 ip를 적어주어야 하며

System password부분에 openstack에서 사용 할 비밀번호를 적어두면 해당 비밀번호를 사용하게 된다.

 

설치

Git clone을 통해 받은 저장소로 이동하여

Cd devstack

Stack.sh 파일을 실행한다.

./stach.sh

설치가 완료되면 다음과 같은 내용이 출력되고 프롬프트로 복귀하게 된다.

 

 

 

 

Open stack에 관련된 정보를 나타내주는 url id값등이 표시되어 있다.

설치가 마무리되면 자동적으로 openstack은 사용가능한 상태가 된다.

 

설정

대시보드

인터넷 브라우저를 통해 설치 시 작성한 host_ip를 호출한다.

 

 

 

 

초기 접속정보는 id : admin, pw : openstack 으로 접속이 가능하다.

*** 설치시에 작성하는 localrc 파일에 적어둔 ID/PW를 사용하면 된다.

초기 화면이며 Usage Summary등이 표시됨을 알 수 있다.

 

 

Open_rc.sh

콘솔에서의 작업을 위해 openstack과 관련 된 환경설정을 해 주어야 하며 다음의 위치에서

스크립트 파일을 다운로드 받을 수 있다.

 

 

 

스크립트 파일 내용은 다음과 같다.

 

 

 

다운로드 받은 스크립트 파일을 실행시켜 준다.

스크립트 파일을 실행시키고 나면 CLI명령이 실행 가능 해 진다.

*** 현재 접속한 세션에서만 유효함으로 영구적으로 적용하기 위해서는 .profile과 같은 곳에 옮겨두길 추천한다.

Security Groups

Security Groups을 통해 인스턴스의 보안관련 설정을 할 수 있다.

이곳에 등록된 ip, port정책들을 인스턴스에 적용 시킬 수 있다.

Create Security Group버튼을 통해 새로운 Security Groups를 생성 할 수 도 있고 기존에 존재하는

default와 같은 Security Groups의 내용을 수정하기 위해서는 해당 열의 Edit Rules버튼을 통해 설정이 가능하다.

 

 

 

Edit Rules

Security Group Rules의 내용을 수정(추가, 삭제) 할 수 있다.

 

 

 

Add Rules 버튼을 통해 새로운 룰을 등록 할 수 있다.

Ssh 접속을 위한 22, FTP접속을 위한 21, 8080, 1521등 사용할 포트들을 등록 해 주면 인스턴스와 통신할 수 있다.

 

 

 

Keypairs

Ssh 접속시 사용되는 키 파일을 생성 및 관리 할 수 있다.

Create Keypair버튼을 통해 새로운 Keypair를 생성하거나 기존 Keypair import 할 수 있다.

 

 

 

Allocate IP버튼을 통해 Floating IP를 등록 할 수 있다.

Floating IP Open Stack과 같은 대역폭의 IP를 할당받아 인스턴스에 할당 할 수 있는 서비스로 활용가능한

IP대역폭이 있어야 사용이 가능 한 것으로 보인다.

 

*** 현재는 정상적으로 동작하지 않는다.

*** IP는 할당되나 ping이 나가지 않는 IP가 할당되는 문제가 발생 함.

*** IP대역의 문제인지 Floating IP모듈의 문제인지 알 수 없는 상황

*** 매뉴얼대로 localrc Floating IP설정을 한 후에 발생하는 문제점으로 현재 해결 방법을 알 수 없는 상황

*** 이 부분이 해결되면 OpenStack 서버외부에서도 원활한 접근이 가능할 것으로 보임.

 

 

 

 

이미지 파일 등록

인스턴스를 올리기 위한 이미지를 등록한다.

이미지랑 OS의 개념으로 클라우드상에서 동작시킬 OS의 개념으로 이해 하면 된다.

Images & Snapshots 부분에서 Create Image를 클릭한다.

 

 

 

생성 할 이미지의 정보 및 파일 위치를 선택 후 Create Image를 클릭한다.

이미지의 이름과 파일위치 파일형식등을 지정 해 준 후 버튼을 클릭한다.

 

 

 

이미지의 크기에 따라 전송에 시간이 오래 걸릴 수도 있다.

매뉴얼 작업시 사용 된 이미지는 4.4기가바이트 전송 & 처리 시간은 1시간 가량이 소요되었다.

이미지 생성이 완료되면 등록 한 이미지를 확인할 수 있다.

그림에는 ubuntu라는 이름으로 ubuntu이미지를 등록 하였음을 알 수 있다.

 

 

 

인스턴스 발행

발행하고 싶은 인스턴스에서 launch버튼을 눌러 인스턴스를 발행한다.

 

 

 

발행할 인스턴스의 정보를 입력 후 Launch버튼을 누른다.

 

 

 

 

인스턴스가 발행중임을 확인할 수 있다. 시간이 조금 소요될 수도 있음.

이미지의 크기에 따라 시간은 가변적이지만 30분 정도 걸리고 있음.

 

 

 

인스턴스 발행이 끝나면 현재 인스턴스 상황 & VNC를 통해 접속이 가능해 진다.

현재 Ubuntu_desktop이라는 이름의 instance가 정상적으로 running중임을 알 수 있다.

 

 

 

실행중인 instance는 브라우저를 통해 VNC접속으로 접근 할 수 있으며

할당 된 IP로의 접근(SSH, FTP)등도 가능해 진다.

콘솔을 통해 SSH로 접속한 상태이다.

 

 

 

브라우저를 통해 VNC접속 한 상태이다.

 

 

 

 

Volumes

Volumes은 실제 하드디스크와 같은 의미로 사용된다.

Volumes 생성 후 발행하는 인스턴스에 attach하여 하드디스크 처럼 사용할 수가 있다.

Volumes 탭에서 Create Volume버튼을 눌러 새로운 Volumes를 생성할 수 있다.

 

 

 

Volume name Size를 적어준 후 Create Volume 버튼을 눌러 생성한다.

 

 

 

Volume 생성이 완료되면 생성된 볼륨을 확인 해 볼 수 있다.

Edit Attachments 버튼을 통해 인스턴스에 Attach를 시킬 수 있다.

 

 

 

사용할 volume attach시킬 인스턴스, 마운트위치등을 지정 한 후 Attach Volume버튼을 눌러 적용시킬 수 있다.

 

 

지정한 volume을 지정한 instance attach하는 중이다.

 

 

 

지정한 인스턴스에 attach가 된 것을 확인 해 볼 수 있다.

 

 

최종적으로 만들어진 인스턴스의 정보