一、准备安装环境
1、创建虚拟机
- 内存10GB
- 硬盘200GB
- 网卡桥接模式
- cpu需要双核且支持虚拟化
2、在安装中安装centos7
注意,这里后面出错回到这里--------需要默认最小化安装,也就是不安装桌面,自行安装桌面
3、NetworkManager服务
centos7网络默认由NetworkManager(网络管理器)管理,但是NetworkManager与OpenStack网络组件Neutron有冲突,应改用传统的网络服务Network来管理网络
systemctl disable NetworkManager
systemctl stop NetworkManager
systemctl enable network
systemctl start network
4、禁用防火墙与SELinux
systemctl disable firewalld
systemctl stop firewalld
编辑/etc/selinux/config文件,将SELINUX的值设置为disable,重启系统使之生效
5、设置网络
这里选用桥接模式
宿舍网络
找到配置文件
修改前先弄一个副本
原先内容
改了上述两个后,添加ip、子网掩码、网关、dns
ip设为平行网段
加入子网掩码,相应网关
dns1:114.114.114.114 国内使用
dns2:8.8.8.8 为避免以后配置需要翻墙,这里先加上
完成网络配置,然后重启network
systemctl restart network
6、安装增强功能(vbox特有)
VirtualBoX里Centos7.x系统安装增强功能以及共享文件夹以及拖放的实现_baidu_41553551的博客-CSDN博客
7、 设置主机名
这里更改为node-a
hostnamectl set-hostname node-a
更改主机名以后,需要将新的主机名追加到/etc/hosts配置文件中
注意这个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出现再次安装时出现
安装ninja,这里使用git获取源码,因此先安装git
安装git出现两个问题
问题1
解决:修改指明文件的内容,添加旧版本python型号
问题2
解决方法:
尝试1 清理缓存yum clean all 无效
尝试2 修改两个配置文件 /usr/bin/yum和/usr/libexec/urlgrabber-ext-down 是两个都需要修改
继续安装
需要先安装依赖
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的要求则不需要在进行手动配置升级
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