做了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无法添加模板和iso的更多相关文章

  1. 微信服务号模板消息接口新增"设置行业"和"添加模板"及细节优化

    微信服务号模板消息可以向用户发送重要的服务通知,如信用卡刷卡通知,商品购买成功通知等.昨日,微信团队发布公告称模板消息新增“设置行业”和“添加模板”接口及细节优化,详细变动如下 模板消息[业务通知]自 ...

  2. sublime插件FileHeader使用,自动的添加模板

    sublime插件FileHeader能够自动的监测创建新文件动作,自动的添加模板 下载地址:https://github.com/shiyanhui/FileHeader FileHeader能够自 ...

  3. 如何在ChemDraw 15.1 Pro中添加模板

    ChemDraw化学绘图工具为了方便用户的使用,特地开发了众多的各种类型模板.用户在绘制一些简单或复杂的化学结构式时,可以直接从ChemDraw模板库里直接调用使用,虽然ChemDraw模板非常的丰富 ...

  4. Zabbix 4.0 API 实践,主机/主机群组 批量添加模板和删除模板

    场景 我们日常在管理Zabbix 的时候,经常会需要批量添加模板和批量删除模板,Zabbix页面是提供的批量链接的功能,但是它链接的也只是当前页的主机,我们想扩展这个功能,在链接的时候,可以批量链接整 ...

  5. PHPCMS V9添加模板自定义全局变量

    在我们使用PHPCMS V9的制作网站模板的时候,使用全局模板变量能轻松调用,使用起来非常方便,而且可以统一修改,方便维护. 下面就来讲一下在PHPCMS V9中如何添加自定义全局变量. 修改网站sy ...

  6. [ecmall]Ecmall 后台添加模板编辑区

    例如,想把品牌/index.php?app=brand页面做成可编辑的. 首先,找到后台admin\includes\menu.inc.php第61行 'template' => array( ...

  7. 3.2. 添加模板版本(Core Data 应用程序实践指南)

    为了不像3.1那样崩溃,修改模型之前先创建新的模型版本.添加之后,会生成一个新的xcdatamodel文件,并且跟原来的内容完全一样,这有意思了,但是不要删除原来旧版的模型.旧的模型有助于把原来持久化 ...

  8. MyEclipse添加模板注释

    只有两个步骤: 1.设置模板 Windows—Preference—Java—Code Style—Code Templates 图中, Configure generated code and co ...

  9. idea中添加模板。

    1:点击File>settings>live template 2: 在 Editor界面下,点击右上角 + 好, 如果想添加一个新类型的语言,点击templateGroup  输入组名. ...

随机推荐

  1. jQuery学习总结2

    六.动画效果 6.1.基本 hide([speed,[fn]])隐藏显示的元素 speed: 三种预定速度之一的字符串("slow","normal", or ...

  2. hdu 3308 线段树

    题目大意:给n个数,两种操作1:U  a b   更新第a个为b (从0开始)2: Q    a ,b  查询 a,b之间LCIS(最长连续递增子序列)的长度. Sample Input110 107 ...

  3. 2016 UESTC DP专题题解

    题解下载地址:http://pan.baidu.com/s/1eSx27Jk 题解下载地址:http://pan.baidu.com/s/1qYDxlhi

  4. MVC高级编程-目录

    MVC高级编程 ================================================== 控制器 视图 模型 表单和HTML辅助方法 数据注解和验证 成员资格.授权和安全性 ...

  5. Linux终端(Xshell等)的编码设置

    先简单说说一下遇到的情况吧: 在用类似Xshell的工具连接远端Linux时,运行命令ls时,如果有中文,就会显示有乱码: 网上查资料时,也把相应的连接属性修改为utf-8了(见下图),但是还是不行: ...

  6. JAVA设计模式之门面模式(外观模式)

    医院的例子 现代的软件系统都是比较复杂的,设计师处理复杂系统的一个常见方法便是将其“分而治之”,把一个系统划分为几个较小的子系统.如果把医院作为一个子系统,按照部门职能,这个系统可以划分为挂号.门诊. ...

  7. hdu 1847 博弈基础题 SG函数 或者规律2种方法

    Good Luck in CET-4 Everybody! Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K ...

  8. MVC打印表格,把表格内容放到部分视图打印

    假设在一个页面上有众多内容,而我们只想把该页面上的表格内容打印出来,window.print()方法会把整个页面的内容打印出来,如何做到只打印表格内容呢? 既然window.print()只会打印整页 ...

  9. MVC使用JCrop上传、裁剪图片

    JCrop用来裁剪图片,本篇想体验的是: 在视图页上传图片: 上传成功,跳转到另外一个编辑视图页,使用JCrop对该图片裁剪,并保存图片到指定文件夹: 裁剪成功后,在主视图页显示裁剪图片: 当然,实际 ...

  10. [Erlang 0004] Centos 源代码编译 安装 Erlang

    原文地址: http://www.cnblogs.com/me-sa/archive/2011/07/09/erlang0004.html 由于最终部署的生产环境是Centos,所以我需要在Cento ...