如何使用virtualbox+devstack搭建neutron网络模式的openstack

本地搭建openstack环境最方便的方式还是使用虚拟机,目前主流的虚拟化软件有vmware workstation和oracle virtualbox,推荐使用virtualbox,虽然没有workstation功能全面但免费轻量,完全能够满足需求。网络配置是openstack中比较复杂的内容,即使使用devstack这种自动化工具搭建也不是件容易的事,一开始参照网上别人的经验反复尝试,单网卡,双网卡,三网卡,始终没有成功,创建的虚拟机总是不能和外网通信,只能和宿主机互通。后来又反过头仔细看官方文档终于搞定,其实官网上的主流程只有简单的两步,这个在其他资料里都反复提起,没有更进一步的参考价值,关键还要看一下那些相关的tips,会有很大帮助。

 

一、环境配置:

virtualbox+ubuntu14.04,单网卡,虚拟机内存至少4G。

openstack验证版本为kilo,网络模式使用neutron。

二、搭建步骤:

1、  为virtuabox虚拟机添加1块hostonly的网卡并开启混杂模式,同时宿主机网卡需要配置共享上网,否则openstack创建的虚拟机无法和外网通信,网卡配置如下:

# The loopback network interface

auto lo

iface lo inet loopback

# The primary network interface

auto eth0

iface eth0 inet static

address 192.168.137.101

netmask 255.255.255.0

gateway 192.168.137.1

dns-nameservers192.168.137.1

2、  电信的网络建议修改ubuntu的源为163的源,速度较快,如果是联通的网络,使用中国官方源速度也可以。

deb http://mirrors.163.com/ubuntu/trusty main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/trusty-security main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/trusty-updates main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/trusty-proposed main restricted universe multiverse

debhttp://mirrors.163.com/ubuntu/ trusty-backports main restricted universemultiverse

3、  安装git软件包

apt-get install git -y

4、  下载devstack资源库并指定要安装的openstack版本,地址推荐使用http://github.com,其他git源经常无法访问到网络。

git clone http://github.com/openstack-dev/devstack -b stable/kilo

5、  在devstack目录创建local.conf文件定制openstack要安装的组件和账户密码,文件内容参考官网neutron章节http://docs.openstack.org/developer/devstack/guides/neutron.html做了适当修改,其中增加了murano组件也安装成功。

[[local|localrc]]

HOST_IP=192.168.137.101

SERVICE_HOST=192.168.137.101

MYSQL_HOST=192.168.137.101

RABBIT_HOST=192.168.137.101

GLANCE_HOSTPORT=192.168.137.101:9292

#password

SERVICE_TOKEN=azertytoken

ADMIN_PASSWORD=nomoresecrete

MYSQL_PASSWORD=stackdb

RABBIT_PASSWORD=stackqueue

SERVICE_PASSWORD=$ADMIN_PASSWORD

# Install the tempest test suite

enable_service tempest

# Nova

enable_service n-novnc n-cauth

# Enable Heat

enable_service heat h-api h-api-cfnh-api-cw h-eng

# Enable Murano

enable_service murano murano-apimurano-engine

#Enable Neutron

disable_service n-net

ENABLED_SERVICES+=,q-svc,q-agt,q-dhcp,q-l3,q-meta,neutron

# Neutron options

Q_USE_SECGROUP=True

FLOATING_RANGE="192.168.137.0/24"

FIXED_RANGE="10.0.0.0/24"

Q_FLOATING_ALLOCATION_POOL=start=192.168.137.250,end=192.168.137.254

PUBLIC_NETWORK_GATEWAY="192.168.137.1"

Q_L3_ENABLED=True

PUBLIC_INTERFACE=eth0

Q_USE_PROVIDERNET_FOR_PUBLIC=True

OVS_PHYSICAL_BRIDGE=br-ex

PUBLIC_BRIDGE=br-ex

OVS_BRIDGE_MAPPINGS=public:br-ex

6、  执行stack.sh,如果是root用户会提示切换到stack用户,按照提示执行相应的脚本创建stack用户,然后将devstack的用户权限更改为stack。

chown -R stack:stack devstack

7、  安装过程中如果遇到网络问题导致某些文件下载失败,可以手动下载到指定目录,重新执行stack.sh,如果提示已有实例在运行,需要先执行unstack.sh清理环境。

8、由于virtualbox重启后会按照网卡配置恢复网络,ip和网关不能上移到br-ex网桥,这里可以在/etc/rc.local中exit 0之前增加如下内容:

ifconfig eth0 0

ifconfig br-ex 192168.137.101/24

route add default gw 192.168.137.1

你可能感兴趣的:(读书笔记)