Devstack部署多节点Openstack(转)

2023-11-06

平台工具介绍:
操作系统:Windows7
工具:VirtualBox 5.0.24
镜像:ubuntu-14.04.5-server-amd64.iso
//下载地址:ubuntu14.04.5-server版

DevStack版本:Mitaka
OpenStack版本:Mitaka

步骤:

一、创建虚拟机

1、启动VirtualBOX,设置全局设定—常规—默认虚拟电脑位置(设置一个方便管理的文件);

2、创建Ubuntu虚拟机,注意:控制节点需分配至少4G的内存,计算节点至少2G内存。

3、配置网卡,网卡的配置有多种方式,有单网卡方式和多网卡方式。
(公司网络需使用代理,如果仅使用一张桥接网卡方式会导致只能内部网络互Ping,却无法Ping通外部网络;如果仅使用一张Host Only网卡方式比较复杂。)
多网卡方式可以采用:网络地址转换(NAT)与桥接网卡组合;或者网络地址转换(NAT)与Host Only组合的方式。
本次采用的是网卡1设置为网络地址转换(NAT),网卡2设置为桥接网卡(界面名称选择计算机实际上网使用的网卡),其他默认即可。

4、安装Ubuntu Service系统 建议不选择中文,而是用默认值US;一路默认,设置名称,创建用户、密码等可以根据个人来设置,选择时区——shanghai;
在“Write the changes to the disk and configure LVM?”,选择YES;
在“Write the changes to disk?”,选择Yes;
一路默认,在最后“software selection”步骤只选择“OpenSSH Sever”(选择使用空格键),后面一路默认到安装完毕。
在登录界面,输入创建的用户和密码,登录虚拟机

二、虚拟机中环境配置

输入命令sudo passwd root ,设置root用户密码;su root 切换到root用户(后面一些操作需要root权限)。
此时虚拟机并未设置网络,因此还不能联网,也需要我们手动配置。

1)配置网络
1、输入:vi /etc/network/interfaces ,打开网卡配置文件。

2、eth0与网络地址转换(NAT)网卡1对应,可不做更改(此时默认为DHCP模式,网卡默认IP为10.0.2.15,网关为10.0.2.2)。该网卡能实现虚拟机Ping通外网,虚拟机Ping通主机。默认配置如下:

auto eth0 
iface eth0 inet dhcp

3、eht1与桥接网卡2对应,此时没有此网卡的配置信息,需自己添加。为后面实验方便使用,设置为static模式。在内容最后面,添加eth1的具体IP参数等内容(根据自己的主机IP设置),如下:

auto eth1 
iface eth1 inet static 
address 10.170.3.219 
netmask 255.255.255.0 
#gateway 10.170.3.254
#dns-nameservers *.*.*.*

注意:gateway需注释掉,给网卡1设置gateway会导致虚拟机中同时存在两个网关或者仅使用eth1的网关,而上网并非使用该网卡,导致无法连接到外网;这里dns-nameservers也没有设置的必要。

4、DNS设置(通常系统会自动配置,所以可以跳过此步,如有需要DNS也可通过此文件修改)
vi /etc/resolv.conf //修改DNS,如使用代理需与代理设置相同

nameserver *.*.*.*
nameserver *.*.*.*

5、重启网卡,输入命令ifconfig 查看网卡信息。输入:“route”命令查看路由信息(在文件/etc/rc.conf 可设置路由表)。

6、如果以上信息核对完毕,主机与虚拟机可以互Ping,虚拟机Ping通外网,也可使用Xshell或其他类似工具,登陆虚拟机,便跳过6步骤,开始安装devstack;若仍无法Ping通,关闭防火墙,
输入命令:sudo ufw disable //关闭防火墙(防火墙可能导致主机无法Ping通虚拟机)
如虚拟机无法Ping通主机,可修改主机防火墙的入栈规则。

/etc/ssh/sshd_config //ssh服务的配置文件(ssh问题可在此文件设置)

2)配置devstack环境
需保证网络通畅!
返回虚拟机,并确保是root账户登陆,后续操作大多需要root权限。
1、备份原有系统配置。
cp /etc/apt/sources.list /home/sources.list.bak

2、修改源,因为国外的源很不稳定,建议使用国内的源,比如搜狐、阿里云等这个可自己Ping以下,选择一个最快的。我选择了中科院自己的源,速度很快!
执行命令: vi /etc/apt/sources.list ,将内容更换如下:

deb http://mirrors.opencas.cn/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.opencas.cn/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.opencas.cn/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.opencas.cn/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.opencas.cn/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.opencas.cn/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.opencas.cn/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.opencas.cn/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.opencas.cn/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.opencas.cn/ubuntu/ trusty-backports main restricted universe multiverse

替换完成后保存退出。

3、执行命令:apt-get update命令,更新系统的软件包。

4、完成与服务器时间同步,执行命令: ntpdate ... (服务器地址我用的182.92.12.11).

5、安装git ,执行命令:apt-get install git。

6、安装pip ,执行命令:apt-get install Python-pip。

7、在/root 目录下,查看是否有.pip目录,若没有,创建该目录。
执行命令:mkdir .pip ,进入该目录,创建对应配置文件pip.conf 。

8、在配置文件中添加以下内容:

[global] 
timeout = 6000 
index-url = http://pypi.douban.com/simple/ 
[install] 
trusted-host = pypi.douban.com

这里使用的是pip上豆瓣的源,你也可以使用其它的源,比如清华大学的。

9、进入/home 目录下,执行以下命令下载DevStack:

git clone http://git.trystack.cn/openstack-dev/devstack.git -b stable/mitaka

10、由于当前DevStack脚本已不支持直接使用root用户,所以需要自己创建stack用户。如果没有创建stack用户的话需要进系统把这个用户创建出来。

a、执行groupadd stack
执行:useradd -g stack -s /bin/bash -d /opt/stack -m stack
或者
执行命令:cd /home/devstack/tools,进入脚本目录。
执行命令:./create-stack-user.sh,创建stack用户。
b、执行命令:passwd stack,给stack用户设置密码。具体操作步骤同root用户。
c、执行命令:chown -R stack:stack /home/devstack,将对应目录及其下的文件更换用户组。
d、执行命令:chmod 777 /dev/pts/0,以便后续su切换到别的用户,也可执行screen命令。
e、在安装部署openstack的时候stack用户会修改很多系统的操作,这样我们需要stack用户拥有sudo到root并且无需输入密码的特权。

echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

f、从这里开始使用stack用户。登入和登出都使用stack用户。
su stack
g、执行:cd ~,进入到stack用户名下的目录,默认是/opt/stack。像对root用户那样,添加pip的配置文件。参考当前小节7-8步骤。

配置完成之后,要注意对应的目录和文件,它们的用户组及用户是否都是stack,若不是,需要改过来。修改方法可参考当前小节步骤10。如果提示没有权限,可以在命令前加sudo。

三、安装DevStack

1、进入到/home/devstack目录下的local.conf文件,没有就创建一个。

2、打开该文件,进行编辑具体的配置,可根据情况和需求更改。
编辑内容如下:

a、集群控制节点上跑着所有openstack的服务。在集群控制节点devstack的local.conf文件中做如下配置。

[[local][localrc]]
HOST_IP=10.170.3.219
PUBLIC_INTERFACE=eth1 #public network
FLOATING_RANGE=10.0.2.0/29

FLAT_INTERFACE=eth1
FIXED_RANGE=10.170.3.0/28

PUBLIC_NETWORK_GATEWAY=10.0.2.2

#MYSQL_HOST=10.170.3.3
#RABBIT_HOST=10.170.3.3
#GLANCE_HOSTPORT=10.170.3.3:9292
#KEYSTONE_AUTH_HOST=10.170.3.3
#KEYSTONE_SERVICE_HOST=10.170.3.3
#FIXED_NETWORK_SIZE=15

MULTI_HOST=1
LOGFILE=/opt/stack/logs/stack.sh.log

ADMIN_PASSWORD=admin
DATABASE_PASSWORD=secret
RABBIT_PASSWORD=secret
SERVICE_PASSWORD=secret
SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz

#enable neutron-ml2-vxlan
disable_service n-net

enable_service q-svc,q-agt,q-dhcp,q-13,q-meta,q-metering,q-lbaas,neutron,tempest,heat

#OFFLINE=True

b、计算节点

 [[local|localrc]]
MULTI_HOST=true

HOST_IP=10.170.3.220 # management IP
FLAT_INTERFACE=eth1
FIXED_RANGE=10.170.3.0/24
#FIXED_NETWORK_SIZE=15
FLOATING_RANGE=10.170.3.0/28

PUBLIC_NETWORK_GATEWAY=10.0.2.2
TUNNEL_ENDPOINT_IP=10.170.3.220

#MULTI_HOST=1
LOGFILE=/opt/stack/logs/stack.sh.log

# Credentials
ADMIN_PASSWORD=admin
MYSQL_PASSWORD=secret
RABBIT_PASSWORD=secret
SERVICE_PASSWORD=secret
SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz

#Use mirror
GIT_BASE=http://git.trystack.cn
NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git
SPICE_REPO=http://git.trystack.cn/git/spice/sipce-htm15.git

# Service information
SERVICE_HOST=10.170.3.219
MYSQL_HOST=$SERVICE_HOST
RABBIT_HOST=$SERVICE-HOST
GLANCE_HOSTPORT=10.170.3.219:9292
Q_HOST=$SERVICE_HOST
KEYSTONE_AUTH_HOST=$SERVICE_HOST
KEYSTONE_SERVICE_HOST=$SERVICE_HOST

CEILOMETER_BACKEND=mongodb

DATABASE_TYPE=mysql
ENABLED_SERVICES=n-cpu,n-net,n-api-meta,c-vol

# vnc config
NOVA_VNC_ENABLED=True
NOVNCPROXY_URL="http://10.170.3.219:6080/vnc_auto.html"
VNCSERVER_LISTEN=$HOST_IP
VNCSERVER_PROXYCLIENT_ADDRESS=$VNCSERVER_LISTEN

LOG_COLOR=Flase
LOGDIR=$DEST/logs
SCREEN_LOGDIR=$LOGDIR/screen

# OFFLINE=True

3、执行命令:./stack.sh进行DevStack的安装。

4、中间会出现各种问题,执行:./unstack.sh;或者:./clean.sh深度清除。

等待最终,出现默认用户:admin(demo)和密码,即安装完成;于主机chrome浏览器输入控制节点IP地址进入bashboard,输入用户密码登陆。
登陆bashboard

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Devstack部署多节点Openstack(转) 的相关文章

随机推荐

  • java.lang.IllegalStateException: Found multiple @SpringBootConfiguration annotated classes

    问题 今天写SpringBootTest测试的时候 一直报java lang IllegalStateException Found multiple SpringBootConfiguration annotated classes Ge
  • cpu 最佳线程数和QPS以及RT

    最近在关注性能的事情 所以对于多线程程序中 如何设置最佳的线程数 找了一些文章 虽然有公式可以套用 但是 其实最佳的话只是相对的 了解了过程之后 处理线程数的设置就会游刃有余了 名字解释 1 QPS 系统每秒处理的请求数 query per
  • Maven项目中pox.xml文件报错以及项目编译错误

    我用Eclipse开发Maven项目 本来好好的 但是后来莫名其妙的其中pom xml文件报错 后来执行install命令时又编译不通过报错 我痛苦地摸索了一整天 最后才把问题解决了 虽然问题解决了 但我也不知道问题症结所在 不知道所以然
  • Redis远程字典服务

    目录 前言 1 NoSQL 1 1NOSQL和关系型数据库比较 1 2非关系型数据库的优势 1 3关系型数据库的优势 编辑 2 主流的NOSQL产品 键值 Key Value 存储数据库 列存储数据库 文档型数据库 图形 Graph 数据库
  • 2015无盘服务器配置,2015年度初级会计资格无纸化考试考场设备配置及网络环境要求...

    2015年度初级会计资格无纸化考试考场设备配置及网络环境要求 1 网络要求 1 网络交换机应是主流产品 稳定可靠 2 考点互联网接入网络带宽应达到5M独享或光纤接入 3 局域网100M到桌面 网络稳定 顺畅 4 考场配备一台能够连通互联网的
  • php 时间 当前月份、上个月、下个月等的第一天和最后一天

    一 在我们的日常开发中 要用到统计某个时间段的数据 而特定的时间点需要我们用程序来获取 比如说要统计上个月的数据 则需要知道上个月开始时间和结束时间 php要获取时间需要用到的函数 time date strtotime 等等 strtot
  • android app渗透测试-Activity、Service

    Android App中可能出现的安全漏洞的类型 协议 通信协议 本地 网络 协议大部分是由C C 实现 存在以下安全问题 通信数据引发的逻辑漏洞 通信数据引发的缓冲区溢出等可能导致远程代码执行 拒绝服务的代码漏洞 组件安全 Activit
  • 创业是个“坑”?技术创业的避坑指南

    引言 技术人或许都曾有过用技术改变世界的梦想 创业 亦是承载梦想的最好载具之一 但最近几年的经济形势都不太乐观 硅谷银行暴雷更是波及到了不少创业者 令很多人都心有余悸 更让人觉得创业路上似乎处处是坑 举步维艰 是找一家适合自己的公司 适合自
  • Wireshark抓明文账号和密码

    Wireshark抓包 打开wireshark 选择WLAN 双击进入抓包 我使用4399的登陆过程作为案例 注册好后登录4399 然后可以看见wireshark开始工作 输入过滤语句 由于是登录界面那肯定有POST类型的数据发送出去 所以
  • JS基础面试题 --- slice是干嘛的,splice是否会改变原数组

    1 slice是来截取的 参数可以写slice 3 slice 1 3 slice 3 3就是倒数第三个 1 3 就是1 2不包括3 不改变原数组 返回的是一个新的数组 2 splice功能有 插入 删除 替换 返回 删除的元素 会改变原数
  • STL中list的详细解析

    STL中list是一个带头双向循环链表 经过string vector的学习之后 它的接口函数的学习成本就低了很多 因此我的重点不在于list使用的学习 而是它底层的学习 迭代器是否失效的问题 请问insert以后pos位置失效吗 在这里是
  • iOS系统下轻松构建自动化数据收集流程

    在当今信息爆炸的时代 我们经常需要从各种渠道获取大量的数据 然而 手动收集这些数据不仅耗费时间和精力 还容易出错 幸运的是 在现代科技发展中有两个强大工具可以帮助我们解决这一问题 Python编程语言和iOS设备上预装的Shortcuts
  • 如何将Python写的代码打包成.exe可执行文件

    有时候我们需要将自己写的代码打包成exe文件 给别人使用需要怎么办呢 以下将讲解Python代码如何打包成 exe文件 1 下载pyinstaller 因为Python中有很多三方包 我们想要这些三方包也包含在里面就需要一个工具 就是pyi
  • ATF(TF-A) RSS-AP接口威胁模型-安全检测与评估

    安全之安全 security 博客目录导读 ATF TF A 威胁模型汇总 目录 一 简介 二 评估目标 1 数据流程图 2 威胁评估 一 简介 本文档是通用TF A威胁模型的扩展 它考虑那些运行时安全子系统 Runtime Securit
  • 情感分类介绍及发展方向

    情感分类 定义 情感分析 对一段文本进行情感识别 分类 按细粒度分 文本级情感分类 判断文章的情感极性 句子级情感分类 判断句子的情感极性 方面级情感分类 判断方面的情感极性 这里的方面指的是表达感情的实体或者实体所属的种类 方面级情感分类
  • (IP地址的计算)判断两个IP是否归属于同一子网

    目录 前言 判断依据 附示例 问题 前言 今天在做题的时候做到了IP地址计算这一部分的题目 太久没有看过了 忘得都差不多了 所以就查阅了资料并做了如下笔记 帮助学习理解 同时把这道题的题目与网友分享的做法分享给大家 可以一起做一做 希望能帮
  • eclipse使用技巧:技巧汇总

    1 F3 转到定义 Alt 方向键 上下左右 Alt 后退 相当于vs里面的Ctrl 2 Alt 或Alt 相当于vs里面的Ctrl K p 3 Ctrl 或Ctrl 注释与反注释的时候要注意了 如果同时取消多行注释 选行要选全 4 ecl
  • error while loading shared libraries: librediscluster.so..: cannot open shared object file: No such

    很纳闷明明设置了环境变量 路径也对 可就是报找不到库 等仔细去看的时候 发现 librediscluster so 这个库多了两点 这种反人性操作真不知作者怎么想的 把librediscluster so 复制成librediscluste
  • 4G时代的语音回落

    原文地址 http ask zealer com post 211 很多小伙伴在享受国内逐步正在建成的4G网络之际可能并不知道 虽然移动通讯网络迈过了这么多年头 用手机打电话这种语音通话范畴之内的事情有单独所谓的传统 语音业务 而浏览网页
  • Devstack部署多节点Openstack(转)

    平台工具介绍 操作系统 Windows7 工具 VirtualBox 5 0 24 镜像 ubuntu 14 04 5 server amd64 iso 下载地址 ubuntu14 04 5 server版 DevStack版本 Mitak