一、准备安装环境

1、创建虚拟机

  • 内存10GB
  • 硬盘200GB
  • 网卡桥接模式
  • cpu需要双核且支持虚拟化

centos libvirt openstack 构建 centos7部署openstack_python

centos libvirt openstack 构建 centos7部署openstack_centos_02

2、在安装中安装centos7

注意,这里后面出错回到这里--------需要默认最小化安装,也就是不安装桌面,自行安装桌面

3、NetworkManager服务

centos7网络默认由NetworkManager(网络管理器)管理,但是NetworkManager与OpenStack网络组件Neutron有冲突,应改用传统的网络服务Network来管理网络

systemctl disable NetworkManager
systemctl stop NetworkManager
systemctl enable network
systemctl start network

centos libvirt openstack 构建 centos7部署openstack_python_03

4、禁用防火墙与SELinux

systemctl disable firewalld
systemctl stop firewalld

 

centos libvirt openstack 构建 centos7部署openstack_运维_04

编辑/etc/selinux/config文件,将SELINUX的值设置为disable,重启系统使之生效 

centos libvirt openstack 构建 centos7部署openstack_centos_05

centos libvirt openstack 构建 centos7部署openstack_运维_06

5、设置网络

这里选用桥接模式

宿舍网络

centos libvirt openstack 构建 centos7部署openstack_python_07

 找到配置文件

centos libvirt openstack 构建 centos7部署openstack_linux_08

修改前先弄一个副本 

 

centos libvirt openstack 构建 centos7部署openstack_centos_09

 原先内容

centos libvirt openstack 构建 centos7部署openstack_centos_10

 改了上述两个后,添加ip、子网掩码、网关、dns

ip设为平行网段

加入子网掩码,相应网关

dns1:114.114.114.114 国内使用

dns2:8.8.8.8 为避免以后配置需要翻墙,这里先加上

centos libvirt openstack 构建 centos7部署openstack_python_11

 完成网络配置,然后重启network   

systemctl restart network

centos libvirt openstack 构建 centos7部署openstack_python_12

6、安装增强功能(vbox特有)

VirtualBoX里Centos7.x系统安装增强功能以及共享文件夹以及拖放的实现_baidu_41553551的博客-CSDN博客

7、 设置主机名

这里更改为node-a 

hostnamectl set-hostname node-a

更改主机名以后,需要将新的主机名追加到/etc/hosts配置文件中

 

centos libvirt openstack 构建 centos7部署openstack_运维_13

centos libvirt openstack 构建 centos7部署openstack_centos_14

注意这个ip,如果切换成热点需要再加一个

RabbitMQ是一个在AMQP基础上完成的可复用的企业消息系统,为OpenStack的计算组件Nova各个服务之间提供一个中心的消息机制。rabbitmq-server服务在启动前会解析主机名的地址是否可通

 7、更改语言编码

在/etc/environment文件中添加定义

LANG=en_US.utf-8
LC_ALL=en_US.utf-8

 8、设置时间同步

使用时间同步软件Chrony

yum install chrony -y

 在宿主机上部署一个NTP服务器,统一所有OpenStack实验节点的系统时间

javascript:void(0)

 二、准备所需要的软件库

1、设置OpenStack库

1、centos7自带centos Extras软件库 ,这个库能够支持OpenStack库

yum install -y centos-release-openstack-queens

 这里设置的版本是queens,如果要用以前的旧版本,比如上一个pike,可以改为

yum install -y centos-release-openstack-pike

2、解析依赖,并安装所需的依赖

yum-config-manager --enable openstack-queens

修改bug部分内容(不需要看)

3、qemu-kvm版本不能低于2.9.0,而centos7现有的软件库不能提供qemu-kvm较新版本的安装,而RDO提供升级的支持

使用RDO解决xqemu-kvm较新版本的安装_baidu_41553551的博客-CSDN博客

使用后发现无法下载,那么回档使用手动下载最新版本

看官网最新版本是6.1.0,那么就下载这个,如果不能下载,一般是数字证书的问题,在下载后加上参数--no-check-certificate

wget https://download.qemu.org/qemu-6.1.0.tar.xz
tar xvJf qemu-6.1.0.tar.xz
cd qemu-6.1.0
./configure
make

 出现问题 需要python3.8以上 参考了CentOS7 下升级Python版本 - Ech2o - 博客园

不过在安装软件时仍会报错:


SyntaxError: invalid syntax File "/usr/libexec/urlgrabber-ext-down", line 28  except OSError, e:


还是因为python更换的原因, 依照上述操作修改文件即可:打开/usr/libexec/urlgrabber-ext-down 文件,将 #!/usr/bin/python   修改为 #!/usr/bin/python2.7   

其他工具或库如果在安装过程中也报类似错误,同法处理

升级完python出现再次安装时出现

centos libvirt openstack 构建 centos7部署openstack_运维_15

安装ninja,这里使用git获取源码,因此先安装git

 安装git出现两个问题

问题1

centos libvirt openstack 构建 centos7部署openstack_centos_16

解决:修改指明文件的内容,添加旧版本python型号 

问题2

centos libvirt openstack 构建 centos7部署openstack_linux_17

解决方法:

 尝试1 清理缓存yum clean all       无效

 尝试2  修改两个配置文件 /usr/bin/yum和/usr/libexec/urlgrabber-ext-down 是两个都需要修改

            

centos libvirt openstack 构建 centos7部署openstack_git_18

继续安装


需要先安装依赖

Tags · skvadrik/re2c · GitHub 下载的2.2版本

git clone git://github.com/ninja-build/ninja.git&& cd ninja

 配置centos为阿里源

cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo_bak
wget http://mirrors.aliyun.com/repo/Centos-7.repo
mv Centos-7.repo CentOS-Base.repo
yum clean all
yum makecache
yum update

使用上次安装失败的镜像,忘了截图,大概
ERROR : Error appeared during Puppet run: 192.168.31.250_controller.pp

它会在根目录下生成一个文档,然后尝试用那个脚本运行

packstack --answer-file packstack-answers-20180317-203646.txt

修改bug结尾


回到安装优先级之前,发现

yum  update -y能够使的qemu-kvm满足大于2.9.0的要求则不需要在进行手动配置升级

centos libvirt openstack 构建 centos7部署openstack_python_19

yum install -y openstack-packstack

packstack --allinone

正常运行下来,发现错误

1;31mError: Failed to apply catalog: Execution of '/usr/bin/openstack image list --quiet --format csv --long' returned 1: Internal Server Error (HTTP 500) (Request-ID: req-4395b27d-ef07-4c29-bb61-7efed0bf4cf0) (tried 36, for a total of 170 seconds)[0m

直接输入下列命令运行

keystone-manage db_sync
cinder-manage db sync
glance-manage db sync
nova-manage db sync