2013年5月14日星期二

Cloudstack 4.0 KVM支持多物理网络方案



CloudstackKVM支持多网卡需要通过在Zone中配置多个物理网络来实现,具体的过程如下:
1、  首先在KVMHypervisor上配置网桥,需要为每个通信网络(managementguestpublic)网络分别创建网桥,并在网桥中配置相应的物理网卡。如下:
[root@kvm120 ~]# brctl show
cloudbr0              8000.ac162d7546dc         no              eth0
cloudbr1              8000.ac162d7546dd        no              eth1
cloudbr2              8000.ac162d7546de        no              eth2
Cloudstack在配置KVM Hypervisor的时候,会通过publicguest网桥名称查找相应的物理网卡,并将此物理网卡作为以后publicguest网络通信的物理接口。
说明:LibvirtComputingResource.java文件中的getPifs()àmatchPifFileInDirectory()的处理如下:
列出/sys/devices/virtual/net/" + bridgeName + "/brif目录下的文件,如果文件名前缀匹配eth,bond,vlan则返回此接口。
[root@kvm120 agent]# ls /sys/devices/virtual/net/cloudbr0/brif/
eth0  vnet1
[root@kvm120 agent]# ls /sys/devices/virtual/net/cloudbr1/brif/
eth1 


2、  创建Zone的时候配置多个物理网络,并对每个物理网络编辑器“KVM流量标签”为相应的Hypervisor上配置的网桥名称。如下图:


注意:物理网络的“KVM流量标签”一定要同hypervisor上的网桥名称相同 


3、  Zone创建完以后,添加KVM Hypervisor主机。
4、  添加来宾网络
5、  添加实例
6、  KVM Hypervisor上的public网桥与guest网桥是在虚拟网络中启动了第1个实例是自动配置的,配置的结果如下:
   


如上所示,网桥cloudVirBr1013cloudVirBr1015guest网络的网桥,cloudVirBr104public网络的网桥,其中后面的数字代表vlan id3个网桥都是自动创建。

由于在创建Zone时配置的public网络的”KVM流量标签cloudbr1,而其对应的物理网卡是eth1,所以创建的public网络cloudVirBr104接口是eth1.104
Guest网络的”KVM流量标签cloudbr2,而其对应的物理网卡是eth2,所以为每个虚拟网络创建的guest网桥cloudVirBr1013cloudVirBr1015其接口eth2.1013eth2.1015

所以,实际使用的publicguest网络的配置都是自动完成,而创建物理网络时候配置的“KVM流量标签”,例如cloudbr1cloudbr2仅起一个识别的作用,以让代码识别出实际的物理网卡。

注意:请正确配置连接hypervisor的交换机端口的vlan,连接管理网络的端口一般是accessuntag)方式加入vlan,连接publicguest网络的端口一般是trunktag)方式加入vlan


 


没有评论:

发表评论