分享

openstack时碰到的一些问题

 java_laq小馆 2013-10-17

本文总结了在多节点上部署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远程桌面访问。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多