作者:【吴业亮】云计算开发工程师
过程中小伙伴们经常问我关于openstack问题,感谢小伙伴们的信任。其中有很多问题都是重复的,现将一些代表性的问题总结如下:
一、vnc打不开问题
1、检查controller和所以computer节点的nova.conf 文件vnc选项IP是否为controller的管理IP

# cat /etc/nova/nova.conf | grep “novncproxy_base_url“

OpenStack无法迁移 openstack常见问题解决办法_openstack

2、novncproxy_base_url中尽量写IP,写主机名在无dns情况下无法解析导致vnc打不开

二、安装neutron 提示neutron agent-list 失败。
Cpu和内存不够导致,提高硬件配置
三、Ping不通虚拟机?
1、检查物理链路是否正常,网线,交换机是否正常
2、网卡的状态是否为UP
举例:

OpenStack无法迁移 openstack常见问题解决办法_云计算_02


3、neutron绑定的网卡是否为规划的网卡(各个节点都需检查)

OpenStack无法迁移 openstack常见问题解决办法_IP_03


4、neutron服务是否正常

5、路由器接口是否为up

OpenStack无法迁移 openstack常见问题解决办法_云计算_04


6、网关是否为up

OpenStack无法迁移 openstack常见问题解决办法_IP_05


7、虚拟机是否已经正常启动,且分配到IP

8、创建虚拟机所用的安全组是否允许icmp协议通过?四、虚拟机获取不到IP?

1、网络中有其他的dhcp源干扰

2、neutron所桥接的网卡名称错误,或状态异常,如网线没插好,onboot=no

OpenStack无法迁移 openstack常见问题解决办法_问题解决_06


3、neutron服务异常五、创建云硬盘失败

Ntp问题,各个节点时间不同步。

六、创建虚拟机失败

OpenStack无法迁移 openstack常见问题解决办法_OpenStack无法迁移_07


此类问题比较多,任何一个组件出问题都会导致虚拟机启动失败。最好的办法是掌握虚拟机创建过程中各个组件的调度过程,从日志分析。no valid host was found,这个是个大类,很多错误都会显示这个,需要具体的看日志。

七、安装cinder报 pvcreate /dev/sdb && vgcreate cinder-volumes /dev/sdb failed. ?

系统中没有sdb磁盘,cinder是块存储服务,需要底端存储。解决办法新增一块磁盘

八、管理网和业务网可以同网段吗?

尽量做到管理和业务分离,如果IP实在不够用记得不要冲突

九、官网上Network节点需要3张网卡,其它节点需要两张网卡,本方案为什么两块网卡?

OpenStack无法迁移 openstack常见问题解决办法_IP_08


本方案将第一块和第二块网卡合并了,如果需要三块网卡也可合并成一块网卡

十、创建的虚拟机运行http服务,外部无法访问网页?

1、虚拟机的防火墙开启

2、selinux开启

3、安全组没允许80端口通过

十一、重启controller物理机后整个环境不可用
原因:
在一些老的物理机或手写的网卡配置文件,重启物理机网卡都会启动失败,而消息队列和数据库都是监听的管理网IP,网卡没起来导致消息队列和数据库启动失败,从而导致nova和neutron等一系列的服务启动失败。
解决办法:
通过下列命令查询那些服务启动失败,然后挨个手动启动。
systemctl –failed

十二、外部可以访问虚拟机,但ping不通百度?

网络规划问题

网络问题排查思路:

1、ping 自己 目的:检查网卡状态和配置是否正确

2、ping网关 目的:检查路由寻址是否正常

3、ping dns 目的:检查dns是否可达

此类问题不清楚的,建议学习cisco的ccna路由和交换知识

十三、镜像忘记密码怎么办?

1、创建虚拟机时选择秘钥对,可从controller上免密码登录

OpenStack无法迁移 openstack常见问题解决办法_问题解决_09


2、创建虚拟机时直接修改密码

参见:http://www.chenshake.com/openstack-mirror-and-password/

十四、dashboard界面总是抛出异常错误?

在点击openstack的dashboard时右上角总是弹出一些错误的提示,再次刷新时又不提示

OpenStack无法迁移 openstack常见问题解决办法_OpenStack无法迁移_10


原因:

MYSQL数据库安装完成后,默认最大连接数是100,一般流量稍微大一点这个连接数是远远不够的

解决办法:

1、修改mairadb的配置文件,将最大连接数改为1500

# echo "max_connections=1500" >>/etc/my.cnf.d/mariadb_openstack.cnf

2、重启数据库

# service  mariadb  restart

十五、如何制作openstack镜像模板?
参见:/article/details/50468173
Linux模板制作方法类似
十六、后端存储如何选型?

OpenStack无法迁移 openstack常见问题解决办法_openstack_11


上图为官方调查报告,根据公司资金及技术实力选择。个人比较推荐ceph

十七、在部署计算节点时,脚本不能继续进行,但没有报错

OpenStack无法迁移 openstack常见问题解决办法_问题解决_12


请确保controller节点正常运行且与computer节点网络正常,因为在computer节点上启动nova服务时,需要去controller上注册服务。

十八、消息队列启动失败

检查/etc/hosts中IP是否正确,如果采用脚本安装还需检查installrc和lib/hosts中IP是否正确

十九、数据库启动失败

检查监听IP是否正确,如果采用脚本安装还需检查installrc和lib/hosts中IP是否正确

OpenStack无法迁移 openstack常见问题解决办法_云计算_13


如都没问题,手动卸载数据库,并删除库文件rm -rf /var/lib/mysql/再次安装

二十、执行source admin-openrc.sh后执行命令报错

环境中有代理,或者其他环境变量干扰。此问题也和开发人员编程习惯有关,在写代码是从不喜欢写绝对路径,环境中执行了该程序导致。出现问题是无从查起。

解决办法:

重启物理机、或者将admin-openrc.sh内容拷贝出来在命令行中执行一遍

二十一、通过dashboard界面上传镜像,创建虚拟机失败?
由于网络原因,在传输时文件极其容易损坏,建议现将镜像上传到后台,通过命令行上传。

# source /root/admin-openrc.sh  
# openstack image create "cirros"   --file /tmp/cirros-0.3.4-x86_64-disk.img   --disk-format qcow2 --container-format bare   --public

二十二、如何做到公司不同部门走不同网段网络?
1、用admin用户创建两外出网络,不同租户(对应公司部门)创建的虚拟机分配不同的浮动IP网络
2、也可将admin创建的不同网络绑定到对应的物理网卡上,方法后续补充
二十三、如何将官网的openstack源同步到本地?
1、 采用reposync,将所有的源都同步下来
2、 参见/article/details/50008325

二十四、Mongodb启动失败,如何解决?

监听的IP是否正确,如果采用脚本安装还需检查installrc和lib/hosts中IP是否正确

OpenStack无法迁移 openstack常见问题解决办法_openstack_14


二十五、如何实现虚拟机动态迁移?

参见:/article/details/50822695

二十六、如何在线拉伸虚拟机大小?
/article/details/50822491
二十七、如何将快照导入到本地?
/article/details/48825207

二十八、cpu、内存和硬盘资源超配
它们默认的超配比为:
• CPU: CONF.cpu_allocation_ratio = 16
• RAM: CONF.ram_allocation_ratio = 1.5
• DISK: CONF.disk_allocation_ratio = 1.0
在生产环境中的利用率建议cpu:vcpu 1:1.5 mem 1:1 disk 1:1
二十九、虚拟机流量全部通过network节点,大规模时如何减轻network的负载
采用dvr,分布式虚拟路由技术
请参见:http://www.sxt.cn/u/756/blog/3168
三十、win7镜像放到openstack中出 错误代码0X0000005D 这个该如何解决?
将虚拟化类型改为kvm

# cat /etc/nova/nova.conf | grep ^virt_type

三十一、安装neutron时修改网卡失败

nmcli connection modify ipv4.addresses 192.168.80.253/24 && nmcli connection modify ipv4.method manual && nmcli connection up failed.

请检查各个节点的各个网卡名称是否与实际名称一致,如不一致可用nmtui命令修改

举例:

OpenStack无法迁移 openstack常见问题解决办法_OpenStack无法迁移_15


不一致

OpenStack无法迁移 openstack常见问题解决办法_OpenStack无法迁移_16

待解决问题:
1、 脚本中有没有安装swift组件?
虽然swift是openstack的元老组件,它和ceph比都有自己的优势和劣势,但本人比较倾向于ceph,脚本中没写swift的安装脚本,但本地源中包含了swift的rpm包。如有兴趣,请小伙伴们补充
https://github.com/wuyeliang/install_openstack

2、 有没有界面直接调用安装脚本,os安装完成后即登录http界面,通过点点鼠标即可完成部署?
前端技术本人不擅长,如有兴趣,请小伙伴们补充
https://github.com/wuyeliang/install_openstack

3、 有没有卸载脚本?

暂时没有,如有兴趣,请小伙伴们补充

https://github.com/wuyeliang/install_openstack

4、 关于高可用和负载均衡脚本?高可用和负载均衡采取哪种架构?

这个是需要花费不少时间暂时本人没这个精力写自动化脚本。

本人建议采用3controller模式。具体如下

OpenStack无法迁移 openstack常见问题解决办法_云计算_17


数据库如下:

OpenStack无法迁移 openstack常见问题解决办法_IP_18