openstack部署中的一些问题

来源:互联网 发布:库存软件哪个好 编辑:程序博客网 时间:2024/05/22 08:20

本文总结了在多节点上部署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虚拟机在启动的时候,会从宿主机申请所需的内存,如果申请失败,虚拟机也不能正常启动。



 


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 复蚕丝被洗过了怎么办 买了梅邦虫草精怎么办 医院不开转院证怎么办 棕垫一直有味道怎么办 棕子床垫味道大怎么办 羊绒大衣洗坏了怎么办 无痕内裤开胶了怎么办 衬衫洗了会缩水怎么办 脾虚引起的眼袋怎么办 沙漠玫瑰根烂了怎么办 多肉种子不发芽怎么办 多肉植物掉叶子怎么办 白色衣服染了蓝色怎么办 白色的衣服染色了怎么办 白毛衣染上金纺怎么办 白色的衣服变黄怎么办 白衣服84漂黄了怎么办 真丝的衣服皱了怎么办 衣服领子洗大了怎么办 真丝围巾洗皱了怎么办 真丝裙子洗花了怎么办 衣服晒得掉色了怎么办 衣服上出现霉点怎么办 校服后面的霉点怎么办 被子潮了有味道怎么办 涨奶堵塞有硬块怎么办 军训裤子腰大了怎么办 猫总是在床上尿怎么办 被子盖厚了上火怎么办 猫在被子上撒尿怎么办 脸上被辣椒辣了怎么办 压缩袋衣服皱了怎么办 新买的枕头太高怎么办 刚买的枕头太高怎么办 喝了过期的中药怎么办 喝了坏了的中药怎么办 德运奶粉过期了怎么办 手机膜里的气泡怎么办 贴膜边缘有气泡怎么办 父母被传销洗脑怎么办 分手了还放不下怎么办