openstack常见问题汇总

汇总下常见的问题以及解释下一些比较容易让人萌的参数配置等等

问题汇总
1.使用纯文本模式进行复制粘贴,打死不要用word!!!可以解决绝大多数问题,如果你依然执迷不悟,那么就好自为之吧

2.创建路由器时报错:路由XXXXX被创建,但是连接到外部网络失败。
检查各个节点/var/lib/neutron/tmp目录权限是否是neutron的,如果不是,删除该目录,然后再次创建路由即可,经测试此目录使用root直接chown居然不生效.....

3.ASCII报错。
请看第一条

4.keystone/glance/nova/neutron验证时报500错误。
请看第1条跟第19条

5.同步数据库后未生成相对应的table。(以keystone为例子)
由于配置文件中database的连接设置为connection = mysql+pymysql://keystone:bfmq@controller01/keystone,因此必须保证keystone@controller01该用户的权限,其实原本已经设置过keystone@%跟keystone@localhost用户,但是对本机不会生效,应该是数据库的问题,需要多设置一个keystone@controlle01

6.数据库无法正常开启。
检查/etc/my.cnf.d/openstack.cnf内容,不要有多余的东西,然后请看第一条

7.rabbitmq创建用户失败。
该用户名已经被使用,换一个即可

8.httpd无法正常开启,5000端口已被占用。
确认是否关闭了selinux,仅仅修改配置文件在此次操作是不生效的,需要手动setenforce 0一下,还有确认firewalld关闭,iptables无规则

9.chrony后时间不同步。
chrony有延迟,需要一点时间去同步,建议直接date -s XXXXXX设置

10.nova验证时没有出现计算节点信息。
确认控制节点跟计算节点/etc/nova/nova.conf内[DEFAULT]下ip是否为本机管理ip,[oslo_messaging_rabbit]下rabbitmq用户信息是否正确

11.计算节点是否支持虚拟化。
egrep -c '(vmx|svm)' /proc/cpuinfo结果为0,修改/etc/nova/nova.conf内[libvirt]下virt_type = qemu,因为默认情况是先调用kvm,然后再调用qemu,不支持kvm的机器就直接用qemu

12.网桥创建后网络起不来。
在/etc/sysconfig/network-scripts/ifcfg-br-ex内添加NM_CONTROLLED=no参数

13.如果你可以连外网并且使用网络yum源
yum install yum-plugin-priorities centos-release-openstack-mitaka -y

14.MongoDB的用途。
为之后的Telemetry服务提供功能,因此可以不使用,如有需求在控制节点操作:

Telemetry服务是提供计费跟监控功能的,但是监控功能很不完善
yum install mongodb-server mongodb -y
vim /etc/mongod.conf修改
bind_ip = 60.34.30.11(控制节点管理ip)
smallfiles = true

systemctl enable mongod.service
systemctl start mongod.service

15.keystone服务验证完成后为安全方面考虑。
vim /etc/keystone/keystone-paste.ini
在[pipeline:public_api]
[pipeline:admin_api]
[pipeline:api_v3]三个地方移走:admin_token_auth

unset OS_TOKEN OS_URL

16.httpd无法正常开启,wsgi-keystone.conf第五行有错误。
手敲一行....或者 ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/

17.url拼接问题,如登录后点击其他层级菜单url拼接成http://IP/dashboard/identity/roles/#sidebar-accordion-admin此类,是因为浏览器问题导致,请更换浏览器!openstack常见问题汇总

18.内核加载时cannot stat /proc/sys/net/bridge/bridge-nf-call-iptables: No such file or directory
modprobe bridge
lsmod|grep bridge
sysctl -p

19.当你的openstack运行正常后一段时间发现页面操作出现“无法获取XXXX”,命令行操作报500错误,日志显示“Caught error: (pymysql.err.OperationalError) (1040, u'Too many connections')”
mysql -uroot -pbfmq
set global thread_cache_size=16; # 设置线程缓存数量,可根据实际情况调整
set global max_connections = 16384; # 设置最大线程连接数,16384为最大
quit
直接设置后重启数据库设置会被清空,永久生效在/etc/my.cnf内添加
[mysqld]
max_connections = 16384
skip-name-resolve
thread_concurrency = 16

20.我的openstack搭建出来了,但是配完浮动ip访问不出去

那么就暂时忘记管理网络跟数据网络吧,你需要确定的一点就是桥接到br-ex上的原本网卡,一定要可以访问外网!

21.虚拟机可以访问外网啦,但是我连接不进去

安全组问题,就是在控制台上配置的防火墙规则,默认生成的default规则貌似没开什么端口,你需要自己添加一些就可以,添加完成后记得给云主机应用新规则

22.如何让两个租户之间的内网互通(不通过浮动Ip)

在云平台中,原本的设计理念不同租户之间的空间是隔离的,本不应该直接通讯,就好比说你跟你同学一人在阿里云里买了几台机器,现在你们都不给机器绑定公网Ip,你们直接的机器打死是也不可能通讯的,想通讯只能花钱买外网ip然后通过外网ip进行通讯。

但是如果你就是任性,我的云平台我做主!谁阻止我我删谁!

你可以用管理员创建一个共享的路由器,然后不同租户的网络接到这个路由器上就可以了,多任性~~~但是这样子网段肯定是不能重复的了

23.nova启动失败日志报placement相关错误
yum install -y openstack-nova-placement-api
openstack user create --domain default --password-prompt placement
openstack role add --project service --user placement admin
openstack service create --name placement --description "OpenStack Placement" placement
openstack endpoint create --region RegionOne placement public http://193.168.140.147:8778
openstack endpoint create --region RegionOne placement internal http://193.168.140.147:8778
openstack endpoint create --region RegionOne placement admin http://193.168.140.147:8778
vim /etc/nova/nova.conf
[placement]
auth_uri = http://controller01:5000
auth_url = http://controller01:35357
memcached_servers = controller01:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = placement
password = bfmq
os_region_name = RegionOne

systemctl restart httpd
systemctl restart openstack-nova-compute

24./var/log/nova/nova-placement-api日志出AH01630问题
vim /etc/httpd/conf.d/00-nova-placement-api.conf
Listen 8778

<VirtualHost *:8778>
WSGIProcessGroup nova-placement-api
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
WSGIDaemonProcess nova-placement-api processes=3 threads=1 user=nova group=nova
WSGIScriptAlias / /usr/bin/nova-placement-api
<IfVersion >= 2.4>
ErrorLogFormat "%M"
</IfVersion>
ErrorLog /var/log/nova/nova-placement-api.log
#SSLEngine On
#SSLCertificateFile ...
#SSLCertificateKeyFile ...

<Directory />
Options All
AllowOverride All
Require all granted
</Directory>

<Directory /usr/bin/nova-placement-api>
Options All
AllowOverride All
Require all granted
</Directory>

</VirtualHost>

Alias /nova-placement-api /usr/bin/nova-placement-api
<Location /nova-placement-api>
SetHandler wsgi-script
Options +ExecCGI
WSGIProcessGroup nova-placement-api
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
</Location>

25./var/log/nova/nova-api日志出"No cells are configured, unable to list instances"问题
mysql -uroot -bfmq
create database nova_cell0;
GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' IDENTIFIED BY 'bfmq';
GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' IDENTIFIED BY 'bfmq';
quit;
nova-manage cell_v2 map_cell0 --database_connection mysql+pymysql://nova:bfmq@controller/nova_cell0?charset=utf8
nova-manage db sync

计算节点
nova-manage cell_v2 create_cell --verbose --name cell1
nova-manage cell_v2 discover_hosts

上一篇:python 字符串的格式化


下一篇:hdu 2094 产生冠军(STL,set)