去年OpenSolaris 2009.06发布时,有一个名为Crossbow的网络虚拟化项目是Sun公司大力宣传的,自从Oracle收购了Sun之后,Oracle继续支持了 Solaris Networking组的这个项目。现在随着Solaris 11 Express的发布,大家又可以尝试使用这个Solaris的新特性了。当年的Crossbow 1.0已经更新到了Solaris 11 Express中的Crossbow 1.4。大家可以用google搜“Solaris 11 Express”这个关键字来免费下载这个新的Solaris版本并尝试使用这个项目带来的新技术。
Crossbow包括不同的组件和配置工具,我将会通过一系列的文章进行介绍。
这篇文章将要介绍VNIC在Solaris 11 Express上的应用和配置。而VNIC则是Crossbow项目引入的最重要的一个特性。顾名思义,VNIC就是Virtual Network Interface Card。在Solaris内核看来,每一个VNIC就是一个虚拟的链路层(datalink)对象,用户可以像使用物理网卡一样在上面建立IP实例,如在其上配置网络地址、将其分配给不同的虚拟机或Zone。利用VNIC,用户可以在只有一个物理网卡的情况下创建多个链路接口同外网连接。即使使用一台没有网卡的机器,也可以在其中建立一个虚拟的复杂的网络拓扑结构,用来虚拟网络和连接多个虚拟机或Zone。这就是所谓Network in a Box理念的一种体现。
熟悉Solaris 10的朋友可能会知道,Solaris的dladm(1M)命令是用来配置和检查系统链路层对象的工具,同样在Solaris 11中,这个命令有了很大的扩展,用户可以用dladm(1M)来创建VNIC。假如用户安装了Solaris 11 Express,有下面的IP配置:
global-zone# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
bge0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 10.11.19.169 netmask ffffff00 broadcast 10.11.19.255
ether 0:9:3d:11:79:f8
lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1
inet6 ::1/128
我们可以使用“dladm create-vnic”子命令来创建一个基于活动网卡bge0的名字叫“v1”的VNIC对象:
global-zone# dladm create-vnic -l bge0 v1
其中“-l”选项指定了基于哪个物理网卡创建VNIC,这样新创建的v1可以像bge0一样访问外网。我们可以使用“dladm show-vnic”查看新创建的VNIC的属
Solaris Crossbow实践指南(一):VNIC和网卡复用
最新推荐文章于 2024-02-23 20:25:38 发布