作者:【吴业亮】云计算开发工程师
过程中小伙伴们经常问我关于openstack问题,感谢小伙伴们的信任。其中有很多问题都是重复的,现将一些代表性的问题总结如下:
一、vnc打不开问题
1、检查controller和所以computer节点的nova.conf 文件vnc选项IP是否为controller的管理IP
# cat /etc/nova/nova.conf | grep “novncproxy_base_url“
2、novncproxy_base_url中尽量写IP,写主机名在无dns情况下无法解析导致vnc打不开
二、安装neutron 提示neutron agent-list 失败。
Cpu和内存不够导致,提高硬件配置
三、Ping不通虚拟机?
1、检查物理链路是否正常,网线,交换机是否正常
2、网卡的状态是否为UP
举例:
3、neutron绑定的网卡是否为规划的网卡(各个节点都需检查)
4、neutron服务是否正常
5、路由器接口是否为up
6、网关是否为up
7、虚拟机是否已经正常启动,且分配到IP
8、创建虚拟机所用的安全组是否允许icmp协议通过?四、虚拟机获取不到IP?
1、网络中有其他的dhcp源干扰
2、neutron所桥接的网卡名称错误,或状态异常,如网线没插好,onboot=no
3、neutron服务异常五、创建云硬盘失败
Ntp问题,各个节点时间不同步。
六、创建虚拟机失败
此类问题比较多,任何一个组件出问题都会导致虚拟机启动失败。最好的办法是掌握虚拟机创建过程中各个组件的调度过程,从日志分析。no valid host was found,这个是个大类,很多错误都会显示这个,需要具体的看日志。
七、安装cinder报 pvcreate /dev/sdb && vgcreate cinder-volumes /dev/sdb failed. ?
系统中没有sdb磁盘,cinder是块存储服务,需要底端存储。解决办法新增一块磁盘
八、管理网和业务网可以同网段吗?
尽量做到管理和业务分离,如果IP实在不够用记得不要冲突
九、官网上Network节点需要3张网卡,其它节点需要两张网卡,本方案为什么两块网卡?
本方案将第一块和第二块网卡合并了,如果需要三块网卡也可合并成一块网卡
十、创建的虚拟机运行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上免密码登录
2、创建虚拟机时直接修改密码
参见:http://www.chenshake.com/openstack-mirror-and-password/
十四、dashboard界面总是抛出异常错误?
在点击openstack的dashboard时右上角总是弹出一些错误的提示,再次刷新时又不提示
原因:
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模板制作方法类似
十六、后端存储如何选型?
上图为官方调查报告,根据公司资金及技术实力选择。个人比较推荐ceph
十七、在部署计算节点时,脚本不能继续进行,但没有报错
请确保controller节点正常运行且与computer节点网络正常,因为在computer节点上启动nova服务时,需要去controller上注册服务。
十八、消息队列启动失败
检查/etc/hosts中IP是否正确,如果采用脚本安装还需检查installrc和lib/hosts中IP是否正确
十九、数据库启动失败
检查监听IP是否正确,如果采用脚本安装还需检查installrc和lib/hosts中IP是否正确
如都没问题,手动卸载数据库,并删除库文件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是否正确
二十五、如何实现虚拟机动态迁移?
二十六、如何在线拉伸虚拟机大小?
/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命令修改
举例:
不一致
待解决问题:
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模式。具体如下
数据库如下: