.png)
 
二、安装操作系统
 
安装Ubuntu 16.04,并配置eth0 IP:
 
    devstack-controller    10.12.31.241/22
    devstack-compute     10.12.31.242/22
 
8C / 16G / 160G / NIC 3
eth0     管理
eth1    租户网络
eth2    外网
vhv.enable = "TRUE"
root user 123456
到办公室路由
安装 SSH、Virtual Machine Host
apt 源-阿里云
pip 源-阿里云
 
 
三、下载代码
 
下载 DevStack 代码,并切换到 stable/newton 分支
 
apt-get install git -y
git clone https://git.openstack.org/openstack-dev/devstack -b stable/ocata
 
 
trystack源
 
controller节点
 
root@DevStack-Controller:~/devstack# cat local.conf
[[local|localrc]]
 
MULTI_HOST=true
 
# management & api network
HOST_IP=10.12.31.241
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_AGENT=linuxbridge
ENABLE_TENANT_VLANS=True
TENANT_VLAN_RANGE=3001:4000
PHYSICAL_NETWORK=default
 
LOG_COLOR=True
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
enable_service placement-api
enable_service placement-client
 
 
 
compute节点
 
root@DevStack-Compute:~/devstack# cat local.conf
[[local|localrc]]
 
MULTI_HOST=true
# management & api network
HOST_IP=10.12.31.242
 
# Credentials
ADMIN_PASSWORD=admin
MYSQL_PASSWORD=secret
RABBIT_PASSWORD=secret
SERVICE_PASSWORD=secret
SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz
 
# Service information
SERVICE_HOST=10.12.31.242
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
 
ENABLED_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_LISTEN
 
LOG_COLOR=True
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
enable_service placement-api
enable_service placement-client
 
 
 
四、配置 stack 用户(本步操作两个节点都要做,且操作方法一样)
 
创建 stack 用户
 
root@DevStack-Controller:~/devstack/tools# ./create-stack-user.sh
Creating a group called stack
Creating a user called stack
Giving stack user passwordless sudo privileges
 
 
为 stack 用户配置 pip 国内源
 
root@DevStack-Controller:~/devstack/tools# cp -a /root/.pip /opt/stack/
root@DevStack-Controller:~/devstack/tools# chown -R stack.stack /opt/stack/.pip/
root@DevStack-Controller:~/devstack/tools# ll /opt/stack/.pip/
total 12
drwxr-xr-x 2 stack stack 4096 May 21 21:28 ./
drwxr-xr-x 3 stack stack 4096 May 21 22:40 ../
-rw-r--r-- 1 stack stack  104 May 21 21:28 pip.conf
 
 
为了方便起见,将devstack目录放到 /opt/stack 下,也是就是stack用户的家目录,并设置权限
 
root@DevStack-Controller:~# mv devstack /opt/stack/
root@DevStack-Controller:~# chown -R stack:stack /opt/stack/devstack
 
 
五、开始部署
 
先在    devstack-controller    上执行 
 
root@DevStack-Controller:~# su - stack
stack@DevStack-Controller:~$ ls
devstack
stack@DevStack-Controller:~$ cd devstack/
stack@DevStack-Controller:~/devstack$ ./stack.sh
 
 
.png)
 
然后在    devstack-compute   执行
 
root@DevStack-Compute:~# su - stack
stack@DevStack-Compute:~$ ls
devstack
stack@DevStack-Compute:~$ cd devstack/
stack@DevStack-Compute:~/devstack$ ./stack.sh
 
 
.png)
 
 
六、验证 OpenStack 
 
 
.png)
 
    .png)
 
查看  管理员- 系统 - 系统信息 中各项内容的状态
 
.png)
 
.png)
 
.png)
 
.png)
 
七、启动OpenStack
 
如果重启了系统,OpenStack 不会自动启动,需要重新运行 stack.sh 命令。
 
重跑 stack.sh 的结果是重新初始化,之前的配置不会保留。所有如果节点都是虚拟机,建议不要重启,直接休眠,下次就不用重新初始化了。
 
运行成功后OpenStack 的每个服务都在一个screen 中以进程的方式运行。使用screnn的几个好处:
 
    1、可以方便的在不同服务之间切换和查看日志。因为OpenStack的服务很多,每个服务都有自己的日志文件。查找日志试衣间非常麻烦的事情,screen可以帮我们提高效率。
 
    2、当我们修改了某个服务的配置文件需要重启服务时,只需在该服务的screen窗口 Ctrl + C ,然后在命令行中找到上一个命令(Up键)执行就行,这个命令就是启动服务的命令。
 
下面是screen常用命令:
 
    Ctrl + a + n    切换到下一个窗口
    Ctrl + a + p    切换到前一个窗口
    Ctrl + a + 0-9 切换到第 0-9 的窗口
    Ctrl + a + d    暂时断开(detach)当前screen 会话,但不中断screen窗口程序的运行
 
在shell 中执行screen命令
 
    screen -ls    列出当前所有的 session
    screen -r stack    回到 devstack 这个session
 
八、删除自动创建的网络
 
DevStack 在部署时可能会创建几个测试网络,为了得到一个干净的环境需要将其删除。
 
转到  管理员 - 系统 - 路由 删除路由条目
 
.png)
 
转到  管理员 - 系统 - 网络 删除网络条目
 
.png)
 
 
 
我感觉应该跟Pip版本无关,可能是别的原因。另外,建议用Ubuntu16.04 + ocata版本,这个 成功率高。
Ocata版本,需要在local.conf中加入下面两行:
enable_service placement-api 和
enable_service placement-client
 
下面的源如果能找到国内镜像站点,会提速很多
Get:2 http://ubuntu-cloud.archive.canonical.com/ubuntu xenial-updates/ocata/main amd64 qemu-system-arm amd64 1:2.8+dfsg-3ubuntu2.9~cloud5.1 [5159 kB]
 
 
 
 
 
 
												
												
								- 部署 DevStack - 每天5分钟玩转 OpenStack(17)
		
本节按照以下步骤部署 DevStack 实验环境,包括控制节点和计算节点 创建虚拟机 按照物理资源需求创建 devstack-controller 和 devstak-compute 虚拟机 安装操作 ...
		 
						- 部署 DevStack
		
本节按照以下步骤部署 DevStack 实验环境,包括控制节点和计算节点 创建虚拟机 按照物理资源需求创建 devstack-controller 和 devstak-compute 虚拟机 安装操作 ...
		 
						- Openstack 实现技术分解 (1) 开发环境 — Devstack 部署案例详解
		
目录 目录 前言 系统环境 Devstack 下载源码 配置文件 local.conf & localrc 简易的环境脚本 openrc 部署 Devstack 自动化部署流程 部署案例 单节 ...
		 
						- Ubuntu 14.04 安装 DevStack与遇到的的问题记录
		
本文总结Ubuntu 14.04下部署DevStack的过程以及一些可能遇到的问题. 一.安装 以下的操作最好在普通用户下进行,至少在git clone devstack的时候使用普通用户,这样可以避 ...
		 
						- 配置基于Devstack的嵌套KVM虚拟化
		
本文为minxihou的翻译文章,转载请注明出处Bob Hou: http://blog.csdn.net/minxihou JmilkFan:minxihou的技术博文方向是 算法&Open ...
		 
						- 每天5分钟 玩转OpenStack 目录列表
		
最近在学习 OpenStack 的相关知识,一直苦于 OpenStack 的体系庞大以及复杂程度,学习没有进度,停滞不前.偶然机会在 51CTO 上发现了一个热点的专题关于 OpenStack 的,题 ...
		 
						- Neutron网络研究
		
你将学到什么 虚拟机的Ping包是如何出外网的 DevStack环境准备 节点 硬件配置 网络配置 类型 操作系统 DevStack 4G 2CPU 50GB 2张网卡(NAT模式) VMWare虚拟 ...
		 
						- devstack部署openstack环境
		
背景:公司需要搭建openstack私有云.配置两台物理服务器. 各大搜索引擎了解了下OpenStack.决定先在虚拟机上部署实现openstack. 前提准备 设备:一台宿主机Windows10 1 ...
		 
						- 使用devstack/pike部署多节点实验
		
目录 第一步:安装Ubuntu16.04 server并以stack为用户名创建用户 第二步:安装git及相关配置 第三步:安装Open vSwitch 2.5.X 第四步:获取devstack脚本  ...
		 
		
	
随机推荐
	
									- Android和jS互调技术Demo实现
			
package com.loaderman.webviewdemo; import android.os.Bundle; import android.support.v7.app.AppCompat ...
			 
						- C#session配置
			
web Form 网页是基于HTTP的,它们没有状态, 这意味着它们不知道所有的请求是否来自同一台客户端计算机,网页是受到了破坏,以及是否得到了刷新,这样就可能造成信息的丢失. 于是, 状态管理就成了 ...
			 
						- 模拟窗口类ModelForm的应用
			
模拟窗口类ModelForm的应用 模拟窗口是Form的窗口中的fields是引用models类 不知道窗口类,点击:https://www.cnblogs.com/guguobao/p/932202 ...
			 
						- spring-boot集成3:集成swagger
			
Why swagger? 使用swagger让你从编写接口文档的无聊工作中解脱出来 1.Maven依赖 <!-- swagger --> <dependency> <gr ...
			 
						- Tor路径选择说明
			
Tor Path Specification Roger Dingledine Nick Mathewson Note: This is an attempt to specify Tor as cu ...
			 
						- Qt输出中文乱码的问题
			
/* 我遇到的情况: 文件编码为UTF-8.程序输输出中文位乱码. 解决方案: 1. 工具->选项->环境->语言: Chinese 2. 选项->文本编辑器->行为-& ...
			 
						- Spring Bean 管理
			
1 Spring 工厂类 2 XML 方式 1.1 Bean 实例化的三种方式 无参构造方法 静态工厂方法 实例工厂方法 3 XML方式属性注入 4 注解方式 5 注解方式属性注入
			 
						- Cisco 三层交换机划分VLan与普通路由器连接配置
			
根据一些中小企业的一些业务需求,设计一套方案: 计划目标:针对不同部门划分不同的VLAN,前期满足能够同时上网的需求,后期需要能够隔离不同部门的资源访问(本次配置操作不涉及). 因之前未接触CISCO ...
			 
						- 注入之Mysql-Getshell思路
			
			
 
						- 【神经网络与深度学习】gflags介绍
			
gflags是什么: gflags是google的一个开源的处理命令行参数的库,使用c++开发,具备python接口,可以替代getopt. gflags使用起来比getopt方便,但是不支持参数的简 ...