CloudStack运维常见问题及解决办法
CloudStack 2.2.y目前已经在生产环境广泛部署,CloudStack3.0.x由于还在深度开发,目前并未大规模进行商业应用.
以下就CloudStack2.2.y在安装,运维中出现的常见问题进行汇总,并给出相应的办法绕开问题.
1. CloudStack的高可用性(HA)功能欠佳
CloudStack针对设置了HA的VM,要提供VM在异常停止状态下自动重新启动.由于HA整体逻辑较为复杂,分为investigation->Fencing->Restart三个步骤.异常断电,网络闪断的情况下investigator需要一段时间来确定VM状态是否是运行,停止或未知,在未知的情况下需要对VM访问的资源,特别是存储卷进行隔断的操作.在保证隔断操作成功的基础上,可以认为VM已经停止,可以重新启动.这里所做的一切是为了保证同一时间同一个VM只可能有一个是在Running状态,避免对存储卷造成损坏.
目前CloudStack的HA功能并不能保证触发HA的VM一定能最终成功运行.这里需要保证主机硬件,电源及网络设备正常运转,特别是保证网络稳定.一旦发生多台断电断网的情况,可以试着让CloudStack通过HA自动恢复,如果在一定时间内(小于15分钟)无法正常恢复,需要手动更改数据库,使状态为关机,然后再启动虚拟机.CloudStack3.0规划将会使用Hypervisor提供的HA,稳定性会得到增强,但天下没有免费的午餐,拥有HA功能的Hypervisor版本售价也会更高.
2.CloudStack中对虚拟机进行网络限速
CloudStack中默认的网络限速无法满足需要(200Mbit/s).这时需要调整全局配置参数:network.throttling.rate与vm.throtting.rate来增加带宽.但目前还无法针对不同的VM设置不同的网络带宽,只能寄希望与该功能会加入到VM的服务方案里的可编辑选项,这样可以保证对VM网络访问带宽进行定制.
3.CloudStack中VLan规划结束,无法进行扩展
在最初建立资源域时,需要设定好guest网络的VLan,这是一个范围,一旦设定好,guest网络可用的VLan也就定死了,无法动态扩展.实在需要的话,只能通过更改数据库: 修改表data_center和op_dc_vnet_alloc可以达到这个目的,不是很友好.
4.跨资源域复制模板和ISO失败
由于权限问题,无法在资源域之间复制模板及ISO,可以通过更改二级存储系统虚机(SSVM)中二级存储挂载的目录的.htacess文件,将需要访问的IP加到allow里
5.在系统某些资源快达到临界(threshold)时,创建VM失败
系统有多个主存储,某些主存储接近threshold设置时,新建带数据盘的VM总是失败,即使有些主存储还有足够的capacity也不行.这主要是CloudStack检查存储能力的时候,对于ROOT和DATA的卷分开检查,这将导致ROOT+DATA的存储超过所要分配的主存储,显然这种方式不正确.目前可以通过调整全局配置storage.allocated.capacity.threshold来暂时解决,但最终需要两种解决方法: a> 通过ROOT + DATA的总量来确定分配的主存储 b>更合理的方式是ROOT,DATA分开检查,每个检查成功后要预保留空间,以免出现NotEnoughSpaceException,同时,ROOT及DATA可以在不同的主存储上分配
6. XenServer与某些主机板载网卡兼容性问题
主要表现是带VLan的ARP包无法经物理机到达虚拟机,据查是XenServer与某些Intel 82576网卡存储兼容性问题,最终通过升级网卡驱动得以解决.因此希望在选择硬件时,参照一下相应Hypervisor的HCL列表
7. XenServer不支持某些类型的操作系统
对于像Ubuntu10.04,CentOS5.6等一些操作系统,不支持PV虚拟化,这时要使用这些OS来创建模板,需要选择Other 64bit/32bit,这时虚拟将运行在HVM模式下.性能会有一部分损失.对于一些OS,XenServer官方不支持,比如BSD,也不建议尝试
8. XenServer Emergency Mode
由于网络配置,闪断等问题导致管理网络通讯断开,在网络恢复后发现部分XenServer网卡信息丢失,重启主机也无效.其主要原因是XenServer pool slave长时间无法连接Pool Master然后进入自保护模式,也就是emergency mode.
目前的解决方式是在每一台丢失网卡信息的主机上支持指令:xe pool-emergency-transition-to-master,因此这里也再次强调网络稳定对于CloudStack的重要性
9. 虚拟机HA失败,虚拟机状态不一致
仍然是由于大面积断网后,系统尝试HA但部分VM HA失败,导致VM的状态与真实情况不一致.这种情况下需要在数据库中手动恢复.
10. 建立特大卷的快照/模板超时
原因: 1>本身在代码里限定了超时时间为120分钟
2>主机与二级存储之间的传输速度太慢<10M/s
3>全量备份时使用了vdi.copy,这个方法不仅做拷贝,还要校验及合并等操作,非常慢
目前的方法是保证部署架构里二级存储足够快,适当调整全量快照与增量快照的比率
11. VMWare集群中系统虚拟机无法创建
首先检查网络配置上是否正确,系统VM是在管理服务器上挂载二级存储,并通过https协议将系统VM的模板PUT到ESXi中,这里要确定管理服务器对二级存储的访问权限以及SSVM对二级存储的挂载权限
从上面生产环境中运维的问题可以看到,CloudStack要在部署之前做好整合规划并做兼容性测试,同时保持网络稳定,在目前CloudStack的版本中,谨慎使用HA功能,建议在正式上线前先做Staging Cluster,然后平稳过度到生产环境,最后要定期做备份.
» 转载请注明来源:CloudStack中文社区
» 本文链接地址:http://www.cloudstack-china.org/2012/07/89.html