首页 > 代码库 > opennebula 一些问t题讨论

opennebula 一些问t题讨论

ou_ian - June 8th, 2011 11:13 am
非常想请教一下如何设置VM的ip为DHCP?

我们的VM都需要通过eth0 (通过公司的DHCP获得ip)来连接到公司的网络(Internet),并且所有的VM都需要通过已注册的MAC地址才可以正确地获得IP,请问在opennebula的network template中应该如何设置呢?

我已经测试过单个的kvm实例,先通过bridge建立br0,然后桥接eth0和tap,这样vm可以正确地获得IP并连接internet,但是实在是摸不着头绪到底应该如何在opennebula中进行网络设置。

vpsee - June 9th, 2011 1:18 am
@ou_ian
你需要用 onevnet 创建和配置一个 public 的虚拟网络,配置文件大概如下,具体可参考官方文档。
———————————————————————
NAME = “Public”
TYPE = FIXED

BRIDGE = vbr1

LEASES = [IP=172.16.39.2, MAC=50:20:20:20:20:22]
LEASES = [IP=172.16.39.3, MAC=50:20:20:20:20:23]
———————————————————————

ou_ian - June 10th, 2011 11:14 am
多谢vpsee,但我的问题是,DHCP server不是我能控制的,因此无法在FIXED中去定义MAC地址和IP的组合。

opennebula的文档很hopeless,请问能否定义如同ESX中的virtual switch?

vpsee - June 13th, 2011 6:22 pm
@ou_ian
明白你的意思了,你的 DHCP Server 需要注册你的 MAC 地址吗?比如有些公司为了限制哪些电脑能连到公司的网络需要把 MAC 地址报告给管理员,然后管理员在 DHCP Server 里面绑定 MAC 和 IP。如果 DHCP Server 没有这个限制,没有绑定 IP 和 MAC 的话,那么你可以随意指定 OpenNebula VM 的 IP 啊,和普通 KVM VM 一样设置 IP、掩码、网关等。

你也可以让 OpenNebula 不管理虚拟网络,这样每个 OpenNebula VM 就和普通的 KVM VM 一样从 DHCP 那里得到 IP。

ou_ian - June 15th, 2011 7:53 am
多谢vpsee,这就是我的意思,那么如果这样来看的话,FIXED中所定义的LEASES并不是一个VLAN,然后这个VLAN通过br0桥接到eth0?

如果是这样的话,Opennebula的networking也局限了,可否像ESX那样,使用virtual switch-所有的vm通过virtual switch和eth0桥接?

此外想请教一下,如果不让opennebula管理虚拟网络,我尝试过在virtual machine 的template的NIC中,将target设置为tap,结果还是无法从DHCP获得IP,但如果我直接用qemu-kvm去运行vm镜像,只要将-net tap参数加上,IP获取没有任何问题。。。opennebula真是太让人伤脑筋了。。。无数封email发出去都没有得到过认真的回复。。。

或许我该尝试一下openstack?

siqilei@hotmail.com - June 15th, 2011 11:58 am
我想请教一个image创建问题,我如何可以创建一个centos的基于vmware的虚拟机image。然后再openNebula上应用,请帮忙给出步骤好吗?
谢谢了!

siqilei@hotmail.com - June 16th, 2011 5:39 pm
@vpsee
还想请教一个问题,如果我现在配置openNebula使用kvm虚拟技术,等我试验完成后再用vmware做实验,只要把相应IM,VM,TM改为vmware就可以了吧。

 

请教个问题:onehost中显示的TCPU FCPU ACPU是如何计算的? 比如创建两个虚拟机(虚拟机参数1个cpu 512M内存…)后,他的ACPU就可能剩下200了。
# onehost create node01 im_xen vmm_xen tm_ssh

# onehost list
ID NAME CLUSTER RVM TCPU FCPU ACPU TMEM FMEM STAT
1 node01 default 0 400 400 400 3.8G 383M on
我想通过web应用,结合创建虚拟机参数(cpu个数 mem内存大小)去验证opennebula端host节点上能创建多少个虚拟机。但是不太明白他的ACPU是如何计算的?我测试过如果ACPU为0,FCPU还有很多,那么就不能在该节点上建虚拟机了。

 

可以直接用 img 文件,取决于你的 img 是如何做的,img 是否自带内核启动系统?还是需要借助外部内核启动?一般来说启动外部内核(内核在母机上)可以这样,
OS = [
kernel = "/boot/vmlinuz-2.6.18-4-xen-amd64",
initrd = "/boot/initrd.img-2.6.18-4-xen-amd64",
root = "sda1" ]