myITrepo / IT技术 / CloudStack无法添加模板和iso的原因详解

分享

   

CloudStack无法添加模板和iso的原因详解

2014-06-30  myITrepo

做了N久的CloudStack二次开发,最近越来越多的人开始使用CloudStack。
 
通常会遇到添加模板和iso不成功的问题。
 
表现为注册了template/iso之后,"已就绪" "状态" "大小" 等选项都为空,或者提示no route to host等现象
 
CloudStack是通过SSVM进行template/iso上传和下载,所以基本可以判定为SSVM网络有问题
 
这样就可以做以下检查:
 
1、内建模板不存在("已就绪" "状态" "大小" 等选项都为空多发生在这种情况):
 
  CS默认有2种模板,系统虚拟机模板[SystemVM Template (XenServer)]和内建模板[CentOS 5.6(64-bit) no GUI (XenServer)]
 
  在ssvm正常启动之后,会连接management-server 的8250端口,成功连接后,UI上就可以看到以上两个模板。
 
  如果此时没有内建模板的信息,则说明ssvm没能正常连接management-server。
 
  这种情况多会发生在全局配置错误。相关项为:management.network.cidr,host,secstorage.allowed.internal.cidr
 

  <1> 如果management-server存在多个网卡,默认cloudstack会选择route中为default的那个网卡设置management.network.cidr和host,如果该项并非用来连接host和ssvm private ip的网络,则需要修改为正确网络,ssvm启动后,会根据这两个值来配置路由表,如果错误则无法连接到management-server。
 
          解决方案:这种情况需要修改全局配置后,重启management-server,然后破坏掉ssvm,等待系统重建
 
    <2>secstorage.allowed.internal.cidr 设置为0.0.0.0/0
 
          经常会发生在网络情况比较单一的环境,比如基本模式或者高级模式但是public ip和private ip在同一网段中,会导致SSVM路由表错误,正常SSVM路由default 网卡为eth2,即public,此时会变为eth1,即private,由于其防火墙限制,导致无法上传或下载模板
 
解决方案:这种情况需要修改全局配置,将secstorage.allowed.internal.cidr设为正确值,如果有多个cidr可以用逗号分隔,重启management-server,然后重启ssvm
 

2、内建模板已存在
 
    内建模板已经显示在UI上,说明SSVM已经成功连接到management-server。
 
    至于内建模板,我这里下载基本上不会成功,原因大体就是因为网速太慢,半天下一点,断了重新下。可以尝试在db中修改url从本地下载。
 
    <1> no route to host
 
        这种情况多发生在SSVM的public和private在同一网段的情况下,很多人的测试环境受实际因素影响,并不能隔离public和private,而是都使用同一网段。并且上传template/iso所用的http server也在同一网段。
 
CS默认会通过public ip进行下载,如果http server和 private ip处于同一网段的时候,则会尝试使用private ip进行下载。由于很多新人刚刚使用CS的时候,并不知道还有secstorage.allowed.internal.cidr 这样的全局配置,所以并未进行相关设置,这样就会导致private ip被防火墙阻拦而无法进行下载
 
解决方案:将private ip所在网段的cidr写入secstorage.allowed.internal.cidr ,并重启ms,重启SSVM
 
    <2> 有人发现有此选项,但为求省事,设置secstorage.allowed.internal.cidr 为0.0.0.0/0
 
此项设置并不符合CS的设计,不过大部分环境中可以正常使用,所以也少有人会注意到全局设置中的不能设置为0.0.0.0的提示。
 
        如1.2中所描述的环境,则很有可能会出现路由表错误而无法正常使用的问题。
 
    <3> 下载一半后中断,无法继续下载。
 
此种情况见过多次,但是自己的环境中并未重现。
 
跟踪代码发现下载流的size不能满足默认大小,可以试着尝试修改SSVM的service_offering,增加SSVM的内存。这个仅为猜测,有待将来重现后再进行跟踪调试
 
推荐阅读:
 ·CloudStack 4.0 + KVM 安装详细指南
 ·CloudStack部署手册 PDF清晰版
 ·安装部署CloudStack 4.0企业私有云平台
 ·CloudStack安装部署与常见问题解决

本篇文章来源于 Linux公社网站()  原文链接:/Linux/2013-08/88796.htm

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多
    喜欢该文的人也喜欢 更多

    ×
    ×

    ¥.00

    微信或支付宝扫码支付:

    开通即同意《个图VIP服务协议》

    全部>>