注:此文为《OpenStack(queens)最小化搭建记录——控制与计算共两个节点》的补充
1.chrony时间同步服务搭建的时候,出现计算节点无法与控制节点同步。(controller节点)
问题原因:控制节点防火墙开启,关闭防火墙即可解决。
2.启用OpenStack-queens储存库时,因为源节点在外网,访问速度过慢或常出错。(controller&compute节点)
解决方法:修改/etc/yum.repos.d/CentOS-OpenStack-queens.repo,把第一项baseurl进行更改
[root@controller yum.repos.d]# vim /etc/yum.repos.d/CentOS-OpenStack-queens.repo # CentOS-OpenStack-queens.repo
#
# Please see http://wiki.centos.org/SpecialInterestGroup/Cloud for more
# information [centos-openstack-queens]
name=CentOS- - OpenStack queens
#baseurl=http://mirror.centos.org/centos/7/cloud/$basearch/openstack-queens/
baseurl=http://mirrors.163.com/centos/7.5.1804/cloud/x86_64/openstack-queens/ ===>修改项
gpgcheck=
enabled=
3.控制节点的mariadb数据库无法从计算节点连接(好像不需要)(controller节点)
问题原因:控制节点防火墙开启,关闭防火墙即可解决。
4.配置keystone时出现的一些错误:(controller节点)
错误信息1:ERROR keystone OperationalError: (pymysql.err.OperationalError) (1044, u"Access denied for user 'keystone'@'controller' to database 'keystone/'") (Background on this error at: http://sqlalche.me/e/e3q8)
问题原因:在配置keystone是修改的/etc/keystone/keystone.conf文件中的connection选项最后多了一个“/”,使得keystone填充认证服务数据库时候登录出错,因为数据库变成了"keystone/"。
解决方法1:一开始没注意到是数据库名称出错的时候以为是用controller登录失败,一试果然不能用-h controller 登录,因为给数据库的keystone用户赋权限的时候只有localhost和%两个,所以再增加一个controller解决hosts名为controller的登录问题(其实这里有一个疑问,就是hosts中localhost的ip是127.0.0.1,controller的ip是10.132.226.103但是这个应该也属于%的范围吧,为什么会登录失败有待考究,可能是自己打错了)
解决方法2:那就是重新修改/etc/keystone/keystone.conf文件去掉最后那个“/”。
错误信息2:ERROR keystone.common.wsgi OperationalError: (pymysql.err.OperationalError) (1044, u"Access denied for user 'keystone'@'controller' to database 'keystone/'") (Background on this error at: http://sqlalche.me/e/e3q8)
问题原因:在最开始修改keystone.conf配置文件的时候执行了初始化Fernet密钥存储库的两个命名,在去掉"/"后再次执行这两个命令,通过日志可以发现因为之前初始化过了所以系统检测到有密钥存在就aborting终止了,所以密钥还是原来那个存在错误数据库的密钥。
解决方法:删除/etc/keystone/credential-keys,和/etc/keystone/fernet-keys文件夹中的文件,再一次初始化密钥存储库即可。
[root@controller credential-keys]# rm -rf *
[root@controller keystone]# cd fernet-keys/
[root@controller fernet-keys]# ls [root@controller fernet-keys]# rm -rf *
[root@controller fernet-keys]# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
[root@controller fernet-keys]# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
5.在计算节点安装 openstack-nova-compute时报错(compute1节点)
错误信息:Error: Package: 1:openstack-nova-compute-17.0.5-1.el7.noarch (centos-openstack-queens) Requires: qemu-kvm-rhev >= 2.9.0
问题原因:因为之前安装centos-openstack-queens的时候由这个包和其他依赖包产生几个源,但是由于源的地址是在国外,再进行安装其他软件是会出错就删除了由安装centos-openstack-queens时及其依赖包产生的一些源文件。其中就有包含一个CentOS-QENU-EV.repo的源文件,是由安装centos-release-qemu-ev-1.0-3.el7.centos.noarch包产生的。
解决方法:重新安装一遍这个包,从网易的163源上找到了这个包复制其连接进行安装
[root@compute1 yum.repos.d]# rpm -ivh http://mirrors.163.com/centos/7.5.1804/extras/x86_64/Packages/centos-release-qemu-ev-1.0-3.el7.centos.noarch.rpm --replacepkgs # --replacepkgs是重新安装某个软件,否则因为之前已安装过会报错
参考链接:https://blog.csdn.net/GT_Stone/article/details/80629559
6.执行确认数据库中有计算主机命令时出错(controller节点)openstack compute service list --service nova-compute
错误信息:The server has either erred or is incapable of performing the requested operation. (HTTP 500) (Request-ID: req-a2d287c7-2fad-4111-9720-8e6fe6ff87be)
错误原因与解决方法:控制节点修改/etc/nova/nova.conf配置文件中[keystone_authtoken]配置出错(使用了中文的冒号),重新配置
[keystone_authtoken] auth_url = http://controller:5000/v3
memcached_servers = controller:
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = nova123
7.在执行sysctl命令将net.bridge.bridge-nf-call-iptables和net.bridge.bridge-nf-call-ip6tables值设为1时出错
错误信息:sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-ip6tables: No such file or directory sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-ip6tables:1: No such file or directory
错误原因:应该是未加载加载bridge模块,加载br_netfilter模块
解决方法:安装bridge-util软件,加载bridge模块,加载br_netfilter模块
[root@controller net]# yum install -y bridge-utils.x86_64
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors..com
* extras: mirrors..com
* updates: mirrors..com
Package bridge-utils-1.5-.el7.x86_64 already installed and latest version
Nothing to do ===>模块已安装,未加载
[root@controller net]# modprobe bridge
[root@controller net]# modprobe br_netfilter
8.登录Horizon的时候出现错误(账号密码正确)
错误信息:通过/var/log/httpd/error_log查看发现有这么一个错误:RuntimeError: Unable to create a new session key. It is likely that the cache is unavailable.
错误原因:memcached.service服务没有起来
解决方法:修改/etc/sysconfig/memcached文件,删除OPTION选项那一行
参考链接:https://blog.csdn.net/a610616898/article/details/67652202 http://www.voidcn.com/article/p-klezqidk-bph.html