部署 DevStack
本节按照以下步骤部署 DevStack 实验环境,包括控制节点和计算节点
创建虚拟机
按照物理资源需求创建 devstack-controller 和 devstak-compute 虚拟机
安装操作系统
安装 Ubuntu 14.04,并配置 eth0 的 IP devstack-controller 192.168.104.10 devstak-compute 192.168.104.11
下载代码
下载 devstack 代码,并切换到 stable/liberty 分支
apt-get install git -y
git clone https://git.openstack.org/openstack-dev/devstack -b stable/liberty
配置 stack 用户
创建 stack 用户
devstack/tools/create-stack-user.sh
为方便起见,将devstack目录放到/opt/stack下,并设置权限
mv devstack /opt/stack
chown -R stack:stack /opt/stack/devstack
切换到 stack 用户
su – stack
cd devstack
编写运行配置文件
在 /opt/stack/devstack 目录下,创建 local.conf。
devstack-controller
[[local|localrc]]
MULTI_HOST=true
HOST_IP=192.168.104.10 # management & api network
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 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=defaultLOG_COLOR=False
LOGDIR=$DEST/logs
SCREEN_LOGDIR=$LOGDIR/screen
devstack-compute
[[local|localrc]]
MULTI_HOST=true
HOST_IP=192.168.104.11 # management & api network# Credentials
ADMIN_PASSWORD=admin
MYSQL_PASSWORD=secret
RABBIT_PASSWORD=secret
SERVICE_PASSWORD=secret
SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz# Service information
SERVICE_HOST=192.168.104.10
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_HOSTCEILOMETER_BACKEND=mongodb
DATABASE_TYPE=mysqlENABLED_SERVICES=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_LISTENLOG_COLOR=False
LOGDIR=$DEST/logs
SCREEN_LOGDIR=$LOGDIR/screen
另外,为了加快安装速度,还可以加上下面的配置使用国内的 devstack 镜像站点
# 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
开始部署
分别在 devstack-controller 和 devstak-compute 上执行命令
./stack.sh
会输出各项操作的结果。 日志会写到 stack.sh.log 文件。
整个过程需要连接Internet,网速慢可能会花较长时间,成功后最后会打印出相关信息。
devstack-controlle 上的输出
devstack-compute 上的输出
验证 OpenStack
下面验证 OpenStack 已经正常运行 浏览器访问 http://192.168.104.10/(devstack-controller 的 IP) admin/admin 登录
点击 System->System Information,确保各个服务的状态正常
这里 cinder-volume 的状态是 “Down”,这是因为我们还没有配置 cinder,后面会让它 Up 起来。
启动 OpenStack
如果重启了系统,OpenStack 不会自动启动,可以运行下面命令
cd devstack ./rejoin-stack.sh
运行成功后,OpenStack 的每个服务都在一个 screen 中以进程方式运行。 使用 screen 有几个好处:
可以方便的在不同服务之间切换和查看日志。 因为OpenStack的服务很多,每个服务都有自己的日志文件。 查找日志是一件非常麻烦的事情,screen可以帮我们提高效率。
当我们修改了某个服务的配置文件需要重启服务时,只需在该服务的 screen 窗口 Ctrl+C,然后在命令行中找到上一个命令(Up键)执行就行,这个命令就是启动服务的命令。
下面是 screen 常用命令
在 screen 中执行
Ctrl+a+n 切换到下一个窗口
Ctrl+a+p 切换到前一个窗口(与 Ctrl+a+n 相对)
Ctrl+a+0..9 切换到窗口 0..9
Ctrl+a+d 暂时断开(detach)当前 screen 会话,但不中断 screen 窗口中程序的运行
在 shell 中执行
screen -ls 列出当前所有的 session
screen -r stack 回到 devstack 这个 session
删除自动创建的网络
Devstack 在部署时可能会创建几个测试网络,为了得到一个干净的环境需将其删除
删除 Router Admin->System->Routers
删除 Network Admin->System->Networks
至此,我们得到了一个干净的 OpenStack 环境。 后面会在这个环境中实践各个模块。
最新文章
- [C#] string 与 String,大 S 与小 S 之间没有什么不可言说的秘密
- SQL笔记 - CTE递归实例(续):显示指定部门的全称
- 开发回归测试之Selenium开发环境搭建
- linux学习之centos(二):虚拟网络三种连接方式和SecureCRT的使用
- c# XAML
- Android内存分析工具DDMS heap + MAT 安装和使用
- UVA 11825 Hackers’ Crackdown(集合动态规划 子集枚举)
- ucgui汉字库存放到外部的flash(控件可用)及写外部FLASH小软件
- stm32串口接收中断协议解析
- rest_framework之权限源码剖析
- 计算机基础理论知识梳理篇(一):数据类型长度、内存页、IPC
- 瑞萨S5D9实现UART环形缓冲
- BUG报告
- cocos2d-x开发记录:二,基本概念(粒子系统,Scheduler和定时器)
- python基础之员工信息表作业
- mysql远程连接的设置
- oracle 导入导出指定表
- HTTP请求报头及其处理
- TCP系列02—连接管理—1、三次握手与四次挥手
- 自定制Form组件