Chinaunix首页 | 论坛 | 博客
  • 博客访问: 391604
  • 博文数量: 25
  • 博客积分: 496
  • 博客等级: 下士
  • 技术积分: 815
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-01 11:18
文章分类
文章存档

2014年(2)

2013年(6)

2012年(17)

分类: 云计算

2014-04-18 21:19:57

最近在cloudstack邮件组看到有人提问虚拟机创建失败,日志信息大致如下:
> FirstFitRoutingAllocator) Not considering hosts: [Host[-1-Routing]]  to
> > deploy template: Tmpl[202-ISO-202-2-d3beb14a-c693-3825-b20c-f41493d06114
> as
> > they are not HVM enabled

刚好最近在做cloudstack社区培训时也遇到了这个问题,所以就在这说明一下原因和解决办法。
日志明确说明主机没有启用HVM完全虚拟化,什么情况下可能会遇到这个问题呢?为什么要开启HVM呢?为什么系统虚拟机可以正常创建,从官网同步的centos5.6模板可以创建虚拟机,自己上传的模板就报这个错呢?

什么情况下可能会遇到这个问题呢?
现在的服务器一般都支持虚拟化技术,并且bios是默认启用的,如果遇到这个问题,最好还是检查一下bios是否启用了虚拟化技术;还有一种情况就是二级虚拟化环境,例如这次在cloudstack培训时的实验环境,使用的就是二级虚拟化。所谓二级虚拟化,只有vmware esx支持,在服务器上安装vmware esx,然后再在esx上安装多台xenserver hypervisor 来模拟多台主机,一般测试或者实验环境可以这么部署。默认在esx上安装xenserver 是没有启用二级虚拟化的,具体开启二级虚拟化可以在网上查资料。另外利用二级虚拟化方式部署cloudstack需要注意esx的网卡要启用混杂模式。

为什么要开启HVM呢?
HVM 即完全虚拟化,xenserver本身不要求硬件一定支持虚拟化,当硬件不支持虚拟化时,使用半虚拟化方式创建虚拟机,具体半虚拟化和完全虚拟化的区别,网上查资料。

为什么系统虚拟机可以正常创建,从官网同步的centos5.6模板也可以创建虚拟机,自己上传的模板就报这个错呢?
cloudstack有一个机制,默认强制用户模板、用户iso部署虚拟机要求硬件支持HVM,而系统虚拟机和后台自动从官网下载的centos5.6模板不要求硬件启用HVM,这也就是这个问题的原因。

那么硬件不支持虚拟化,就不能部署cloudstack测试环境或者实验环境了吗,no
用户正常上传模板或者iso,修改数据库,使用户模板不要求主机启用HVM
use
update  vm_template set hvm=0 where name='xxx';  
把xxx替换成用户的模板名称。这样使用这个模板就可以正常创建虚拟机了。
hvm设置成0表示不要求主机启用HVM,设置成1表示要求主机启用HVM,系统虚拟机和后台上传的centos5.6模板的值都是0,所以它们可以正常创建虚拟机。

阅读(6416) | 评论(0) | 转发(0) |
0

上一篇:centos6.3 安装Cloudstack 4.2 手记

下一篇:没有了

给主人留下些什么吧!~~