devstack rocky版本 安装排坑

2018年8月Openstack推出了新版本Rocky,本人因为学校对于云计算的需求,现初次安装Openstack的Rocky版本,并对安装过程中出现的错误进行整理,与各位需要进行Openstack Rocky版本安装的朋友共勉。在观看我的博客是请务必注意更新的时间,可能会与你的版本不同,敬请注意。

安装前说明 :

1、安装采用Openstack提供的destack安装脚本,具体的分支为stable/rocky,链接如下:

git clone https://git.openstack.org/openstack-dev/devstack -b stable/rocky

2、基于Ubunut16.04LTS 系统进行安装,APT镜像源采用了中国科技大学镜像站(mirros.ustc.edu.cn)。

3、使用了清华大学的pip源,具体操作请自行百度。Openstack的安装过程中大量使用了pip操作,所以如果不转换国内镜像源,会严重拖慢安装速度,甚至导致安装失败几率增大。

4、安装过程中需要连接外部网络,具体的网络情况可能会不同,比如网络带宽、延迟、与镜像站的连接速度等,建议大家在安装部署前测试自己的网络状态,确保使用最佳的方案。

5、网络上有较多Openstack安装的教程或者错误指南,建议大家提前进行阅读并做好标记,最好是准备一份手稿随时备查,Opentstack整体安装时间较长,因为采用了脚本安装,所以会有很大的几率出现错误,一定要有耐心,做好对于错误的记录,然后查阅相关的资料,修正后继续执行安装。

错误日志:

1. /usr/local/bin中有些可执行文件的执行权限不够。这里注意,由于使用stack用户进行安装,所以在执行/usr/local/bin中的文件比如pip时,可能会出现权限不够的问题,可以临时将该文件夹的文件赋予777权限,之后要进行恢复。

sudo chmod -R 777 /usr/local/bin

2.安装的过程中有些文件下载超时,重试即可。

3.部分pip安装文件出现了报错,原因在于版本号识别不到,这个时候要手动pip安装相应的组件,详情可以看报错。

4.Glance安装是g-api启动未完成,手动访问http://ip/image发现503,执行unstack.sh,之后重新执行stack.sh,放心,该脚本不会清除原来安装的文件。

5.提醒下,local.conf配置文件不要来回变动,像密码之类的在安装过程中一次性设置的信息在更改后可能会导致数据库访问失败,或者出现其他的问题。

 

继续进行补充 20190303:

在漫长的安装过程之后,我们面临着一个比较艰难的问题,就是如何处理好Openstack的网络。Neutron网络会借助OVS创建一个外部网桥,名称为br-ex,这个网桥是决定Openstack内部虚拟机是否能够连接外部网络的关键。我使用的是单网卡创建外部网络,具有双网卡的同学有些内容可能不太适合。

第一步:要确保你的外网网卡挂接到br-ex上。

我的主机网卡名称为enp7s0f1,这个是用来连接外部网络的。

使用OVS命令查看你的虚拟网桥:

ovs-vsctl show

如果你发现br-ex项目中存在你的网卡名,那便是挂接好了,OK,可以开始下一步了。

如果没有,那么需要执行:

ovs-vsctl add-port br-ex 网卡名

注意这个时候如果你的br-ex没有IP地址,需要ifconfig手动设置一下,当然,最重要的,不要忘了把br-ex的配置写入主机的网络配置文件

第二步:检查路由表

这一步至关重要,尤其是局域网用户,如果你的校园网或者公司内网使用了10.x.x.x,务必关注这一步。如果不是的话,可以跳过了。

执行:

route -n

如果显示一条关于10.0.0.0网段的路由,你需要注意它,很有可能会影响你从局域网的其他地方访问你的宿主机。作者就碰到了这样一个问题,我的主机在10.10.38.x网段,当安装完成Openstack之后,就没有办法在10.10.11.x网段访问我的物理机了,这个时候回机房检查网络,最终发现了路由表的问题。

第三步:创建Openstack网络

根据需要创建网络拓扑。

首先创建外部网络,这里不上图,网络上也有很多写过Openstack外部网络的教程,只是要注意一个地方,就是:

创建flat模式的时候,有个物理网络必填项,需要参考:

cat /etc/neutron/plugins/ml2/ml2_conf.ini |grep flat_networks

这个是在Ubuntu上安装时配置文件的地址,把flat_networks后面的那一项填进去,才能够创建成功。

第四步:根据需要添加路由器

Neutron可以根据需要添加虚拟路由器,如果要在集群内部建立一个私有网络,并且要将私有网络连通起来或者将私有网络与外部网络连通起来,需要使用虚拟路由器。

路由器的用途有两种,第一种是连接不同的VLAN,第二种便是NAT,将内部网络与外部网络连通。

如果需要创建内部网络,那么需要添加一个路由器,并且选择相应的外部网络,这样路由器在创建后会自动连接到上一步创建的外部网络上,而连接内部网络则需要进到路由器页面手动连接相应的子网,操作十分简单,这里不做赘述。

第五部:创建虚拟机进行验证

我们假设已经向Openstack内部上传了一个虚拟机镜像,以最简单的cirros为例,创建cirros实例需要选择相应的镜像,选择虚拟机的规格,选择虚拟机所需要使用的卷,之后其他的先可以一笔带过,点击创建实例便可以启动一个cirros实例。

在这里要提醒大家的是,实例所在的网络DHCP是非常重要的,尤其是一些默认启动DHCP的镜像,在启动时如果没有发现DHCP服务,那么会大大减慢开机速度,cirros是一个很典型的例子。

虚拟机启动后,可以手动ifconfig查看虚拟机IP,然后PING一下外部网关,看下是否已经成功接通了外部网络。需要注意的是,如果虚拟机直接和宿主机桥接在一起,那么需要关注虚拟机使用的IP是否和外部网络冲突。

 

之后,会陆续介绍 Devstack多节点水平扩展、Openstack虚拟机迁移、Openstack集群急救方案等实际生产所需要注意的问题,如果有需要,会开发相应的工具,到时候也会提供给大家研究。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值