热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

openstack平台部署中遇到的一些问题

本文总结了在多节点上部署openstack时碰到的一些问题,算是对自己前段时间的工作做一小结。转载请注明出处。1、假设当前主机名为“computer”,IP地址为“192.168.136.123”在当前主机安装mysqlserver,创建数据库nova,并执行如下语句:grantallonnov

本文总结了在多节点上部署openstack时碰到的一些问题,算是对自己前段时间的工作做一小结。

转载请注明出处。

1、假设当前主机名为“computer”,IP地址为“192.168.136.123”在当前主机安装mysql server,创建数据库nova,并执行如下语句:
grant all on nova.* to 'nova'@'%' identified by 'nova';
在其他主机上通过如下语句:
mysql -h 192.168.136.123 -u nova  -p
连接正常。但是在当前主机确连接失败,检查相关的日志后发现,当前主机会将192.168.136.123地址解析为当前主机的主机名,但是在mysql数据中,当前主机的主机名没有访问nova数据库的权限。
解决方法:
grant all on nova.* to 'nova'@'computer' identified by 'nova';
或者
在myql配置文件中添加
skip-name-resolve参数

2、根据官方的文档正常安装keystone认证系统后,测试却无法通过,显示“Connetion Refused”。
经检查,发现keystone认证模块的监听端口在新版本中已经发生变化。
解决方法:
在keystone的配置文件中,将认证端口,从5001改为35357

3、在采用keystone认证系统后,glance的操作必须通过Token进行,其中admin_token是在keystone初始化的时候设定的,改token记录在数据库当中。

4、rabbitmq-server初始的guest用户没有密码,更改密码:
rabbitmqctl change_password username newpassword
更改密码后,其他相关组件的配置文件须做出相应的修改,并重启。

5、根据官方文档,执行如下命令创建网络:
nova-manage network create 10.0.0.0/24 1 255
出现错误,Command Failed, Please check log for more information.
日志中:
NetworkNotCreated: --bridge_interface is required to create a network
重新运行如下的命令:
nova-manage network create 10.0.0.0/24 1 255 --bridge_interface=br100
(其中br100为本机上设置的网桥,并绑定到内网接口)
又出现错误:Command Failed, Please check log for more information
日志中:
Value Error:the network range is not big enough to fit 255. network size is 1
原因在于,新版本中,网络创建命令的格式发生了变化。
解决方法:
nova-manage network create public 10.0.0.0/24 1 255 --bridge_interface=br100

6、noVNC不能连接到虚拟机实例,显示“Connection Refuesd”提示。
原因是控制节点在收到vnc请求的时候,无法解析计算节点的主机名,从而无法和计算节点上的虚拟机建立连接。
另外一个原因是,当前浏览器不支持(如crhome浏览器,firefox11)
解决方法:
更换浏览器
将计算节点的ip和主机名的对应关系加入到控制节点的/etc/hosts文件中。

7、每个计算节点中的虚拟机会被分配不同的虚拟网卡接口,如vnet0, vnet1, vnet2等等。
而这些虚拟网卡接口都是绑定在一个虚拟的网桥上边的(如br100),以便虚拟机实例之间互相通信. 没有安装network服务的节点上的br100网桥都没有设置ip地址,而安装了network服务的br100网桥则被设置为网关。

8、noVNC连接虚拟机的一个大概流程:
(1)kvm启动的虚拟机在计算节点上启动了一个VNC服务
(2)控制节点noVNC对该VNC服务进行一个代理
(3)终端用户访问控制节点,控制节点返回给用户一个VNC界面

9、多节点部署完成后,通过nova-manage service list命令发现,计算节点的各个服务时断时好,经检查,原因在于,计算节点和控制节点的时间不同步造成该问题。
解决方法:
通过ntp同步计算节点和控制节点的时间

10、上传ubuntu镜像的过程中,内核和内存盘可以成功上传,但是ubuntu的镜像文件上传失败,提示“”Failed to connect to the Glance API server, is the server running?
经分析检查,原因在于,ubuntu镜像文件过大。
解决办法:
减小ubuntu镜像文件大小,或者重新设置glance中的chunk size,并重新启动服务

11、如果采用FlatManager的网络模式,则必须手动的建立相关的网桥,以便虚拟机实例之间以及和主机之间进行通信,此外,必须手动的将虚拟机实例的内部IP加入到nova数据库的fixed_ips表中。
此外,fiexed_ips表保着所有可供虚拟机实例使用的内部IP,每次发起一个新的虚拟机实例,openstack的网络服务部分,根据fixed_ips表中的内容分配给该虚拟机实例一个IP。如果用户希望保留特定的IP地址,那么需要将该IP对应的reserved字段设置为1。

12、restart nova-network
restart: Unknown instance
改为:
start nova-network

13、nova的配置文件默认存放在/etc/nova/nova.conf中,其中涉及到nova各个参数的配置。
nova所有的参数可以通过nova-api --help进行查看

14、flatdhcp模式下,network_size是整个fixed_ip range中的所有ip数。例如在一个A类/12的网络中,有2^20个IP地址,所有的这些IP地址都要写入fixed_ips数据库表中,这将会花费很多的时间,导致假死。

15、keystone认证系统无法输出日志。
keystone.conf文件中设置了log_cOnfig=/etc/keystone/logging.conf,但是貌似该设置不起作用。
采用:
log_file=/var/log/keystone.log

16、虚拟机实例已经绑定了浮动IP,并且控制节点的对外网络接口上也发现了相关的浮动IP地址,但是通过ssh却无法进行连接。
解决:
在dashboard中添加相关的安全规则。security group -> edit rules
添加:icmp -1 -1 0/0;tcp 22 22 0/0

17、通过dashboard启动虚拟机实例,发现当虚拟机的内存设置为4G的时候,虚拟机无法启动。相关日志提示,无法创建内存大于4G的虚拟机。检查分析后发现,计算节点的操作系统为32位,因此,kvm上启动的虚拟机内存受到限制。
解决方法:
更改计算节点的操作系统为64位

18、在采用keystone认证前端的情况下,按照euca2ools官方的使用文档进行配置后,仍然无法使用euca工具集,相关日志显示,用户认证失败。原因在于,keystone用户认证系统的加入,对euca2ools工具集的配置产生的一定的影响。
解决:
将生成的novarc配置文件中的NOVA_USERNAME和NOVA_API_KEY分别改为keystone数据库的用户名和密码,而不再是一长串token

19、使用UEC镜像,虚拟机实例在启动后会通过169.254.169.254:80获取相关的metadata,?面包含instance id 等??,但是该地址是在nova-api服务器上的,在某些情况下,虚拟机实例无法连接到该地址,日志中会出现如下的错误:
http://169.254.169.254′ failed: url error
解决方法:

在计算节点上配置iptable,使得该请求转向nova-api服务器。

iptables -t nat -A PREROUTING -d 169.254.169.254/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination $NOVA_API_IP:8773

20、单网卡且采用FlatDHCP方式部署openstack,在开放了icmp和ssh22端口的情况下,仍然无法通过控制节点连接到虚拟机实例。此时应该检查控制节点的ip配置信息。
ip addr
此时网卡上应该绑定有两个IP地址,一个是控制节点的IP,另外一个是虚拟机实例网络的网关。应该将虚拟机实例的网关放在IP列表的第一位。
解决方法:
ip addr del x.x.x.x dev device
ip addr del x.x.x.x dev device
ip addr add 虚拟机网关 dev device
ip addr add 控制节点IP dev device

21、openstack中,nova-manage create用来创建虚拟机运行时所需的内网,并且将相关的IP地址记录到fixed_ips数据表中。但是,当调用nova-manage delete 时,并不会自动的删除fixed_ips中的内容,需手动进行删除。

22、无法连接到虚拟机实例的时候,应该检查如下的环节:
a 公共IP是否已经绑定到了公共网卡接口上,ip addr
b 查看iptable的设置,NAT规则是否设置正确,iptables-save
c 检查安全组设置,euca-describe-groups

24、制作windows2008镜像的时候,如果采用raw格式,生成的镜像文件在计算节点中运行会出现蓝屏现象。应该采用如下格式创建磁盘并安装windows2008:
kvm-image create -f qcow2 windows2008.img 50G
此外在安装windwos2008的时候,应该加载virtio驱动。
windows镜像制作完成后,须在安全组里添加3389端口,以便windwos远程桌面访问。

25、keystone配置时,留意endpoint的设定,结尾不要有多余的"/”,否则会出现认证失败。

26、虚拟机在build阶段时,不要进行重启操作,否则会出现kernel panic现象。(bug)

27、在openstack中,nova失去rabbitmq连接后,会尝试重新进行连接,默认尝试12次,每次间隔10秒,到时间后,如果还没有连上,则抛出错误,退出。

#防止 rabbitmq重启导致 compute 死掉

rabbit_max_retries=0

相关文件:impl_kombu.py

28、在 openstack 下,重新启动compute,实例不会自动恢复,解决办法:

修改 /etc/nova.conf,添加两个选项:

start_guests_on_host_boot = True

resume_guests_state_on_host_boot =True

29、openstack的热迁移,关键是要把nfs配好,而且nfs所在的主机不能安装计算节点。

30、在PC目标机器上,kvm可以最多模拟255核的CPU,超过这个数目虚拟机将不能启动。此外,kvm虚拟机在启动的时候,会从宿主机申请所需的内存,如果申请失败,虚拟机也不能正常启动。


推荐阅读
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • 本文介绍如何通过SSH协议使用Xshell远程连接到Ubuntu系统。为了实现这一目标,需要确保Ubuntu系统已安装并配置好SSH服务器,并保证网络连通性。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • Git管理工具SourceTree安装与使用指南
    本文详细介绍了Git管理工具SourceTree的安装、配置及团队协作方案,旨在帮助开发者更高效地进行版本控制和项目管理。 ... [详细]
  • 云计算的优势与应用场景
    本文详细探讨了云计算为企业和个人带来的多种优势,包括成本节约、安全性提升、灵活性增强等。同时介绍了云计算的五大核心特点,并结合实际案例进行分析。 ... [详细]
  • 本文探讨了为何相同的HTTP请求在两台不同操作系统(Windows与Ubuntu)的机器上会分别返回200 OK和429 Too Many Requests的状态码。我们将分析代码、环境差异及可能的影响因素。 ... [详细]
  • 搭建Jenkins、Ant与TestNG集成环境
    本文详细介绍了如何在Ubuntu 16.04系统上配置Jenkins、Ant和TestNG的集成开发环境,涵盖从安装到配置的具体步骤,并提供了创建Windows Slave节点及项目构建的指南。 ... [详细]
  • docker镜像重启_docker怎么启动镜像dock ... [详细]
  • 本文介绍如何配置SecureCRT以正确显示Linux终端的颜色,并解决中文显示问题。通过简单的步骤设置,可以显著提升使用体验。 ... [详细]
author-avatar
陈苏女士
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有