OpenStack 설치 - CentOS

오픈소스 비즈니스 컨설팅
둘러보기로 가기 검색하러 가기

CentOS 6.x 64 bits 환경에서 OpenStack Grizzly를 설치 합니다.

사전 준비 사항

  • CentOS를 최신 버전으로 업그레이드
  • EPEL repository 등록
//--- http://mirrors.nl.eu.kernel.org/fedora-epel/6/i386/epel-release-6-8.noarch.rpm
// rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
yum install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
  • MySQL 설치
yum  install  mysql  mysql-*
chkconfig --level 2345 mysqld on
service  mysqld  start
  • OpenSSL 설치
yum  install  openssl  openssl-*
  • Python 설치
yum  install  python  python-*
  • Xen 설치
  • KVM(Kernel-based Virtual Machine) hypervisor
  • Intel-VT 및 AMD-V 등 하드웨어 가상화를 지원하는 CPU를 가진 머신에서만 사용
egrep '^flags.*(vmx|svm)'  /proc/cpuinfo
//--- 내용중에 vmx 항목이 있으면 하드웨어 가상화를 지원하는 CPU임
  • 지원 이미지 포맷
  • Raw
  • QEMN Copy-on-write (qcow2)
  • VMWare virtual machine disk format (vmdk)
  • KVM 설치
yum  install  qemu-kvm  qemu-img
yum  install  virt-manager  libvirt  libvirt-python  python-virtinst  libvirt-client
service  libirtd  restart
lsmod | grep kvm

centos용 keystone 설치

  • keystone 설치
yum  install  openstack-utils  openstack-keystone  python-keystoneclient
  • keystone을 위한 MySQL 환경 설정
openstack-db  --init  --service keystone
mysql  -uroot  -p  mysql
    create database keystone;
    grant all privileges on keystone.* to 'keystone'@'%' identified by '~' with grant option;
    flush privileges;
    quit
  • keystone 환경 설정
  • vi /etc/keystone/keystone.conf
//--- SQLite DB에서 MySQL DB로 변경
connection = mysql://keystone:~@192.168.212.111/keystone

[catalog]
driver = keystone.catalog.backends.sql.Catalog
  • admin-token 설정
export  ADMIN_TOKEN=$(openssl  rand  -hex  10)
openstack-config  --set  /etc/keystone/keystone.conf  DEFAULT  admin_token $ADMIN_TOKEN

glance 설치

  • glance 설치
yum  install  openstack-nova  openstack-glance
  • rm /var/lib/glance/glance.sqlite
  • glance를 위한 MySQL 환경 설정
mysql  -uroot  -p  mysql
    create database glance;
    grant all privileges on glance.* to 'glance'@'%' identified by '~' with grant option;
    flush privileges;
    quit
  • glance 환경 설정
  • vi /etc/glance/glance-api-paste.ini
[filter:authtoken]
admin_tenant_name = service
admin_user = glance
admin_password = ~
  • vi /etc/glance/glance-api.conf
[paste_deploy]
flavor = keystone
  • service glance-api restart
  • vi /etc/glance/glance-registry.conf
[paste_deploy]
flavor = keystone

sql_connection = mysql://glance:~@192.168.1.1/glance
  • vi /etc/glance/glance-registry-paste.ini
[filter:authtoken]
admin_tenant_name = service
admin_user = glance
admin_password = ~

[pipeline:glance-registry]
# pipeline = context registryapp
# NOTE: user the following pipeline for keystone
pipeline = authtoken  auth-context  context  registryapp

nova 설치

  • vi /etc/nova/nova.conf
compute_driver=libvirt.LibvirtDriver
libvirt_type=kvm

가상 네트워크 설정

모든 Compute Node에서 설정 하여야 합니다.

  • FlatDHCP 설정
ip  link  set  eth0  promisc  on
  • vi /etc/systemconfig/network-scripts/ifcfg-br100
DEVICE=vr100
TYPE=Bridge
ONBOOT=yes
DELAY=0
BOOTPROTO=static
IPADDR=192.168.100.1
NETMASK=255.255.255.0
  • bridge-utils 설치
yum  install  bridge-utils
brctl  addbr  br100
  • dnsmasq-utils 설치 (in CentOS 6.3)
yum  install  dnsmasq-utils
  • 기타 설정
setenforce  permissive    //--- SELINUX를 사용하는 경우
vi /etc/eqidd.conf
    auth 값을 no로 설정

service  networking  restart

참고 문헌