在XenServer中,为了提供网络层面的冗余或者负载均衡功能,我们需要对网卡进行绑定(bond),但是在XenServer中,在XenCenter中创建绑定的时候只能选择两块物理网卡进行绑定,无法实现三块网卡,甚至更多网卡的绑定。XenServer为了这些需求,提供了CLI命令来解决这些问题。
在开始对多个网卡进行绑定之前,我们需要了解一下XenServer中关于绑定的一些处理方法和流程。
- 首先,在XenServer中创建一个Network对象,最后Bond会关联到该对象,并分配给VM
- 规划要绑定的物理网卡以及绑定模式
- 创建绑定(bond-create),关联Network对象即可
我们在使用XenCenter创建绑定的时候,会自动的完成上面的过程,但是通过CLI来创建绑定,我们就需要手动来创建相关的对象了,同时我也会列出相关的截图,方便大家理解。
绑定过程:
1 2 3 4 5 6 7 8 9 | #创建Network对象,成功后返回Network对象UUID xe network–create name–label=“Bond 1+2+3” #查看物理网卡UUID xe pif–list params=device,uuid #绑定eth1,eth2,eth3,并关联到预先创建好的network对象 #可以指定绑定模式,XenServer6.0提供了两种模式支持active-back和balance-slb xe bond–create pif–uuids=<eth1,eth2,eth3 ‘s uuid> network–uuid=<network uuid> |
在我们完成了Bond的创建,并关联上Network对象以后,我们可以发现,在Network显示中,Bond 1+2+3的MAC地址已经自动生成,而,以前物理网卡eth1,eth2,eth3对象的Network 1,Network 2,Network 3已经消失了。这是因为,在创建网络绑定的过程中,XenServer会解除物理网卡到以前网卡对象的关联,防止再去使用单独的物理网卡。
BTW:这里只是说的是到Network对象的关联被解决,而对应的内部Bridge还是存在的,具体大家可以自己去理解了。