OpenStack----使用devstack 安装openstack(All in one)

来源:互联网 发布:ubuntu安装grub2 编辑:程序博客网 时间:2024/05/21 22:07

##devstack 安装openstack

devstack 主要是用于openstack 演示以及开发过程中自动化安装,通常不能直接用于生产环境部署。

###环境准备

从之前实验中准备好的虚拟机克隆一个新的虚拟机,安装CemtOS系统,配置如下

Devstack VM:Name: devstackvCPU:4Memory :4GDisk:30GNetworks: net0,net1,net2

网络环境

Net0:Network name: VirtualBox  host-only Ethernet Adapter#2Purpose: administrator / management networkIP block: 10.20.0.210/24DHCP: disableLinux device: eth0Net1:Network name: VirtualBox  host-only Ethernet Adapter#3Purpose: public networkDHCP: disableIP block: 172.16.0.210/24Linux device: eth1Net2:Network name: VirtualBox  host-only Ethernet Adapter#4Purpose: Storage/private networkDHCP: disableIP block: 192.168.4.210/24Linux device: eth2

###安装步骤

devstack 的安装不能直接用root 用户,新建一个用户stack

adduser -m stackpasswd stack

从github上克隆devstack 的源码

su - stackgit clone  https://github.com/openstack-dev/devstack.gitsu - rootcd /home/stack/devstack/tools/create-stack-user.sh 

如果你的环境需要设置代理,请添加http Proxy (可选)

export http_proxy=http://<your_proxy_ip>:<port>export https_proxy=http://<your_proxy_ip>:<port>

排除不需要代理的IP地址(可选)

export no_proxy="127.0.0.1,192.168.1.205"

为了加速下载设置国内的pip 源,这里设置豆瓣网公开的pip源

mkdir ~/.pipcat > ~/.pip/pip.conf <<EOF[global]index-url = http://pypi.douban.com/simple/EOF

编辑local.conf 配置文件如下,只安装Keystone,Glance,Nova,Neutron

vi local.conf[[local|localrc]]HOST_IP=10.20.0.210GIT_BASE=https://github.com# LoggingLOGFILE=$DEST/logs/stack.sh.logVERBOSE=TrueLOG_COLOR=FalseSCREEN_LOGDIR=$DEST/logs/screen# CredentialsADMIN_PASSWORD=openstackDATABASE_PASSWORD=$ADMIN_PASSWORDRABBIT_PASSWORD=$ADMIN_PASSWORDSERVICE_PASSWORD=$ADMIN_PASSWORDSERVICE_TOKEN=$ADMIN_PASSWORD# Github's BranchGLANCE_BRANCH=stable/icehouseHORIZON_BRANCH=stable/icehouseKEYSTONE_BRANCH=stable/icehouseNOVA_BRANCH=stable/icehouseNEUTRON_BRANCH=stable/icehouseHEAT_BRANCH=stable/icehouseCEILOMETER_BRANCH=stable/icehouseDISABLED_SERVICES=n-net,heat,swift,ceilometerENABLED_SERVICES+=,q-svc,q-agt,q-dhcp,q-l3,q-meta,q-metering,neutron# Neutron - Load BalancingENABLED_SERVICES+=,q-lbaas

运行stack.sh 安装openstack

cd /home/stack/devstack./stack.sh

整个过程大概需要一个小时,具体时间视各地网络速度而定

最后出现类似如下输出,说明安装完成

Horizon is now available at http://10.20.0.210/Keystone is serving at http://10.20.0.210:5000/v2.0/Examples on using novaclient command line is in exercise.shThe default users are: admin and demoThe password: quietThis is your host ip: 10.20.0.210

打开浏览器输入http://10.20.0.210/ 登录Dashboard

###可能存在的问题

  1. 如果遇到不能连接pypi.douban.com

解决办法:还要为pypi.douban.com 添加ip 映射douban 的源 125.78.248.73,其实豆瓣也是官方给的pip源的镜像。

vi  /etc/hosts125.78.248.73 pypi.python.org

2.git heat clone 失败或者超时问题

解决办法:可以手动克隆heat 到/opt/stack 让后再运行./stack.sh

3.安装过程中检查q-dhcp 服务没有启动,安装失败。

查看/var/log/neutron/dhcp-agent.log,确认是否有以下错误出现

2013-11-15 17:18:07.785 9808 WARNING neutron.agent.linux.dhcp [-] FAILED VERSION REQUIREMENT FOR DNSMASQ. DHCP AGENT MAY NOT RUN CORRECTLY! Please ensure that its version is 2.59 or above!RuntimeError:2013-11-15 18:02:39.974 9808 TRACE neutron.agent.dhcp_agent Command: ['sudo', 'neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ip', 'netns', 'add', 'qdhcp-85c85884-3d8f-4f2a-8f81-97f1aa686837']2013-11-15 18:02:39.974 9808 TRACE neutron.agent.dhcp_agent Exit code: 2552013-11-15 18:02:39.974 9808 TRACE neutron.agent.dhcp_agent Stdout: ''2013-11-15 18:02:39.974 9808 TRACE neutron.agent.dhcp_agent Stderr: 'Bind /proc/self/ns/net -> /var/run/netns/qdhcp-85c85884-3d8f-4f2a-8f81-97f1aa686837 failed: No such file or directory\n'

解决办法:下载并安装新版本的dnsmasq,然后重新运行./stack.sh

wget http://pkgs.repoforge.org/dnsmasq/dnsmasq-2.65-1.el6.rfx.x86_64.rpmrpm -Uvh dnsmasq-2.65-1.el6.rfx.x86_64.rpm

###几种常见的local.conf配置

icehouse 完全安装,网络用Neutron

vi local.conf[[local|localrc]]HOST_IP=192.168.1.205GIT_BASE=https://github.com# LoggingLOGFILE=$DEST/logs/stack.sh.logVERBOSE=TrueLOG_COLOR=FalseSCREEN_LOGDIR=$DEST/logs/screen# CredentialsADMIN_PASSWORD=openstackDATABASE_PASSWORD=$ADMIN_PASSWORDRABBIT_PASSWORD=$ADMIN_PASSWORDSERVICE_PASSWORD=$ADMIN_PASSWORDSERVICE_TOKEN=$ADMIN_PASSWORD# Github's BranchGLANCE_BRANCH=stable/icehouseHORIZON_BRANCH=stable/icehouseKEYSTONE_BRANCH=stable/icehouseNOVA_BRANCH=stable/icehouseNEUTRON_BRANCH=stable/icehouseHEAT_BRANCH=stable/icehouseCEILOMETER_BRANCH=stable/icehouse# Neutron - Networking ServiceDISABLED_SERVICES=n-netENABLED_SERVICES+=,q-svc,q-agt,q-dhcp,q-l3,q-meta,q-metering,neutron# Neutron - Load BalancingENABLED_SERVICES+=,q-lbaas# Heat - Orchestration ServiceENABLED_SERVICES+=,heat,h-api,h-api-cfn,h-api-cw,h-engHEAT_STANDALONE=True# Ceilometer - Metering Service (metering + alarming)ENABLED_SERVICES+=,ceilometer-acompute,ceilometer-acentral,ceilometer-collector,ceilometer-apiENABLED_SERVICES+=,ceilometer-alarm-notify,ceilometer-alarm-eval

icehouse完全安装,网络用nova-network

vi local.conf[[local|localrc]]HOST_IP=192.168.1.205LOGDAYS=1LOGFILE=$DEST/logs/stack.sh.logSCREEN_LOGDIR=$DEST/logs/screenADMIN_PASSWORD=openstackDATABASE_PASSWORD=$ADMIN_PASSWORDRABBIT_PASSWORD=$ADMIN_PASSWORDSERVICE_PASSWORD=$ADMIN_PASSWORDSERVICE_TOKEN=$ADMIN_PASSWORDGIT_BASE=https://github.comDIB_BRANCH=stable/icehouse

只安装Keystone,Glance,Nove,Horizon

vi local.conf[[local|localrc]]HOST_IP=10.20.0.210GIT_BASE=https://github.com# LoggingLOGFILE=$DEST/logs/stack.sh.logVERBOSE=TrueLOG_COLOR=FalseSCREEN_LOGDIR=$DEST/logs/screen# CredentialsADMIN_PASSWORD=quietDATABASE_PASSWORD=$ADMIN_PASSWORDRABBIT_PASSWORD=$ADMIN_PASSWORDSERVICE_PASSWORD=$ADMIN_PASSWORDSERVICE_TOKEN=$ADMIN_PASSWORD# Github's BranchGLANCE_BRANCH=stable/icehouseHORIZON_BRANCH=stable/icehouseKEYSTONE_BRANCH=stable/icehouseNOVA_BRANCH=stable/icehouseNEUTRON_BRANCH=stable/icehouseHEAT_BRANCH=stable/icehouseCEILOMETER_BRANCH=stable/icehouseDISABLED_SERVICES=n-net,heat,swift,ceilometerENABLED_SERVICES+=,q-svc,q-agt,q-dhcp,q-l3,q-meta,q-metering,neutron# Neutron - Load BalancingENABLED_SERVICES+=,q-lbaas

启用Rabbitmq rabbitmq_management web 服务

执行如下命令启用rabbitmq web management 服务

/usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_management

让后重启 rabbitmq

service rabbitmq-server restart

访问页面管理界面

http://10.20.0.210:15672

登录管理界面,查看rabbitmq 的队列使用情况

guest/openstack

另外也可以用命令行方式查看

rabbitmqctl list_queues

阅读全文
0 0
原创粉丝点击