openstack安装并不容易成功。与版本有关系,与版本是否已经稳定也有关系(不稳定的版本,可能昨天安装可以成功,今天就不成功),与其依赖的第三方软件软件也有关系,与国内的网络环境甚至都有关系(有的第三方包下载不下来)。
现在是2018-10-31,我安装的是稳定性比较高ocata 版本(February 2017)
Pike (August 2017) Queens (March 2018) Rocky (August 2018)
1、用VMware Workstation 14 Player创建虚拟机。
两台虚拟机,ubuntu-14.04.4-server-amd64.iso ,静态ip(为了能上网,选择桥接网络)
controller节点 eth0 静态设置 192.168.1.200 (安装时给9G内容,安装成功后,可以改为4.6G) (3个网卡,第一个为桥接,另外两个为仅主机)
compute节点 eth0 静态设置 192.168.1.201(安装时给5G内存,安装成功后,可以改为2.4G)(2个网卡,第一个为桥接,另外1个为仅主机)
设置静态IP
sudo su #切换到root帐号
/etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.200
netmask 255.255.255.0
gateway 192.168.1.1
/etc/resolvconf/resolv.conf.d/base
nameserver 192.168.1.1
reboot #重启
2、设置apt-get源和pip源
2.1 设置apt-get源和pip源
(首先sudo su切换到root用户)
/etc/apt/sources.list 内容
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
/etc/pip.conf /root/.pip/pip.conf 内容
[global]
index-url = http://pypi.douban.com/simple
[install]
trusted-host = pypi.douban.com
2.2 apt-get update
2.3 apt-get install git
3、安装controller节点
3.1. 在任意目录, git clone http://git.trystack.cn/openstack-dev/devstack -b stable/ocata
3.2. devstack/tools/create-stack-user.sh #创建用户
3.3. passwd stack #root用户设置stack用户的密码
3.4. mv devstack /opt/stack #移动目录
3.5. chown -R stack:stack /opt/stack/devstack
3.6. su - stack #切换用户
3.7. 在 /opt/stack/devstack 目录下,创建 local.conf(控制节点的内容如下):
[[local|localrc]]
MULTI_HOST=true
HOST_IP=192.168.1.200
LOGFILE=/opt/stack/logs/stack.sh.log
# Credentials
ADMIN_PASSWORD=admin
MYSQL_PASSWORD=secret
RABBIT_PASSWORD=secret
SERVICE_PASSWORD=secret
SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz
# enable neutron-ml2-vlan
disable_service n-net
enable_service placement-api
enable_service placement-client
enable_service q-svc,q-agt,q-dhcp,q-l3,q-meta,neutron,q-lbaas,q-fwaas,q-vpn
Q_AGENT=linuxbridge
ENABLE_TENANT_VLANS=True
TENANT_VLAN_RANGE=3001:4000
PHYSICAL_NETWORK=default
LOG_COLOR=False
LOGDIR=$DEST/logs
SCREEN_LOGDIR=$LOGDIR/screen
# use TryStack git mirror
GIT_BASE=http://git.trystack.cn
NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git
SPICE_REPO=http://git.trystack.cn/git/spice/spice-html5.git
3.8. 在 /opt/stack/devstack 目录下,执行 ./stack.sh来安装openstack
安装过程中一般会多次出错。执行./stack.sh重新安装。或者重启虚拟机再./stack.sh重新安装。
最终会成功。(会提示安装成功,提示stack.sh completed in xxx秒)
浏览器访问 http://192.168.1.200/(devstack-controller 的 IP) admin/admin 登录即可看到界面
==重要==重启虚拟机后,如何重启openstack===
在stack用户下,cd到/opt/stack/devstack,然后screen -c stack-screenrc 启动openstack
用Ctrl+a+q 切换页面,发现q-agt启动失败了。原因是/etc/neutron/plugins/ml2/ml2_conf.ini文件中配置了br-ex网桥,但用brctl show命令,发现虚拟机中并没有这个网桥。
于是sudo brctl addbr br-ex 增加这个网桥后,在q-agt页面,用向上键,调出启动命令,重新成功。
其实可以在启动之前,先手工增加这个网桥sudo brctl addbr br-ex
点击 System->System Information,确保各个服务的状态正常.
如果cinder-volume没有启动成功,不要担心,不影响使用。
类型 名称 主机 状态 状态 最近更新 动作
DHCP agent neutron-dhcp-agent controller 激活 启动 0 分钟
L3 agent neutron-l3-agent controller 激活 启动 0 分钟
Linux bridge agent neutron-linuxbridge-agent controller 激活 启动 0 分钟
Metadata agent neutron-metadata-agent controller 激活 启动 0 分钟
名称 主机 可用区域 状态 状态 最近更新
cinder-scheduler controller nova 激活 启动 0 分钟
cinder-volume controller@lvmdriver-1 nova 激活 启动 0 分钟
名称 主机 可用区域 状态 状态 最近更新
nova-conductor controller internal 激活 启动 0 分钟
nova-scheduler controller internal 激活 启动 0 分钟
nova-consoleauth controller internal 激活 启动 0 分钟
nova-compute controller nova 激活 启动 0 分钟
4.计算节点的安装
4.1必须在control运行状态下,安装计算节点。步骤同controller 3.1-3.8
区别是 local.conf内容不同。
[[local|localrc]]
MULTI_HOST=true
HOST_IP=192.168.1.201
# Credentials
ADMIN_PASSWORD=admin
MYSQL_PASSWORD=secret
RABBIT_PASSWORD=secret
SERVICE_PASSWORD=secret
SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz
# Service information
SERVICE_HOST=192.168.1.200
MYSQL_HOST=$SERVICE_HOST
RABBIT_HOST=$SERVICE_HOST
GLANCE_HOSTPORT=$SERVICE_HOST:9292
Q_HOST=$SERVICE_HOST
KEYSTONE_AUTH_HOST=$SERVICE_HOST
KEYSTONE_SERVICE_HOST=$SERVICE_HOST
CEILOMETER_BACKEND=mongodb
DATABASE_TYPE=mysql
enable_service placement-api
enable_service placement-client
ENABLED_SERVICES=placement-api,n-cpu,q-agt,neutron
Q_AGENT=linuxbridge
ENABLE_TENANT_VLANS=True
TENANT_VLAN_RANGE=3001:4000
PHYSICAL_NETWORK=default
# vnc config
NOVA_VNC_ENABLED=True
NOVNCPROXY_URL=http://$SERVICE_HOST:6080/vnc_auto.html
VNCSERVER_LISTEN=$HOST_IP
VNCSERVER_PROXYCLIENT_ADDRESS=$VNCSERVER_LISTEN
LOG_COLOR=False
LOGDIR=$DEST/logs
SCREEN_LOGDIR=$LOGDIR/screen
#为了加快安装速度,可以加上下面的配置使用国内的 devstack 镜像站点
GIT_BASE=http://git.trystack.cn
NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git
SPICE_REPO=http://git.trystack.cn/git/spice/spice-html5.git