构建简单的虚拟网络
下图显示了一个具有两个 Solaris 区域的简单虚拟网络。
每当我们在同一个物理端口上创建两个或者多个 VNIC 时,都会在 MAC 层创建一个虚拟交换机。
创建虚拟交换机的效果是区域 1 和区域 2 之间的流量在 MAC 层交换。
只要 VNIC 共享同一个物理 NIC 并且在同一个 VLAN 上,就可以使用这个 MAC 层虚拟交换机。
下面的示例展示了如何在物理接口上创建两个 VNIC。
# dladm create-vnic -l net0 vnic1 # dladm create-vnic -l net0 vnic2
网络虚拟化是将硬件网络资源和软件网络资源合并为一个管理单元的过程。
网络虚拟化的目标是为系统和用户提供高效、可控和安全的网络资源共享。
网络虚拟化的最终产品是虚拟网络。
随着服务器虚拟化在 IT 行业变得越来越主流,重点正在转移到使用网络虚拟化来支持在多个虚拟机 (VM) 或者区域之间共享网络流量的部署模型。
随着依赖虚拟化部署工作负载的云架构越来越多地采用,网络虚拟化在 Oracle Solaris 的整体网络管理战略中扮演着更加重要的角色。
使用如上图所示的虚拟基础设施来整合数据中心内的物理系统,企业可以体验到:
- 降低服务器的总拥有成本
- 更高的服务器利用率
- 提高运营效率
- 更严格的安全性
配置专用虚拟网络
如图所示,是一个简单的、隔离的私有虚拟网络,具有两个 Solaris 区域。
此虚拟网络由以下部分组成:
- GLDv3 网络接口 net0 :此接口将全局区域连接到公共网络。
- Etherstub stub0 :我们使用 etherstubs 将虚拟网络与系统中的其余虚拟网络以及系统连接到的外部网络隔离开来。我们不能单独使用 etherstub。相反,我们可以使用带有 etherstub 的 VNIC 来创建私有或者隔离的虚拟网络。我们可以根据需要创建任意数量的 etherstub。我们还可以根据需要在每个 etherstub 上创建任意数量的 VNIC。
- 三个 VNIC:vnic0 在 etherstub stub0 上创建。可以在全局区域中配置此接口,以提供私有虚拟网络 (192.168.1.0) 和公共网络之间的路由。 IP 转发、IP 过滤和网络地址转换 (NAT) 等技术可用于自定义私有网络和公共网络之间的关系。 VNIC vnic1 和 vnic2 也是在 etherstub stub0 上创建的,用于将非全局区域添加到 stub0。
- 两个独占 IP 区域:两个独占 IP 区域中的每一个都分配了一个 VNIC。 vnic1 分配给区域 3,vnic2 分配给区域 4.
# dladm create-etherstub stub0 # dladm create-vnic -l stub0 vnic0 # dladm create-vnic -l stub0 vnic1 # dladm create-vnic -l stub0 vnic2
虚拟网络构建块
以下是 Solaris 11 中的虚拟网络构建块。
1. 虚拟网卡(VNIC)
VNIC 是一种虚拟网络设备,具有与物理接口相同的数据链路功能。
2. 虚拟交换机(Virtual Switch)
虚拟交换机是促进虚拟机 (VM) 之间通信的实体。
虚拟交换机在物理机内的虚拟机之间循环流量(VM 间流量),并且不会通过线路将此流量发送出去。
3. 弹性虚拟交换机(EVS - Elastic Virtual Switch)
EVS 支持对虚拟交换机的直接管理。
我们可以创建 EVS 交换机以在多租户云环境或者数据中心内部署跨越多个主机的多个虚拟网络。
此外,我们可以将任何 Oracle Solaris VNIC 连接到 EVS 交换机或者虚拟端口。
此类 VNIC 会自动从 EVS 继承其网络配置。
访问虚拟网络配置
下面显示的是用于访问虚拟网络配置的有用命令。
第一个命令 (dladm show-link) 显示如何列出系统中配置的所有链接。
这包括 VNIC 和 etherstub。
下一个命令 (dladm show-vnic) 向我们展示了如何列出 VNIC 链接。
最后一个命令 (dladm show-etherstub) 向我们展示了如何列出 etherstub。
# dladm show-link LINK CLASS MTU STATE OVER net1 phys 1500 unknown -- net2 phys 1500 unknown -- net0 phys 1500 up -- net3 phys 1500 unknown - stub0 etherstub 9000 unknown - vnic0 vnic 9000 up stub0 vnic1 vnic 9000 up stub0 vnic2 vnic 9000 up stub0
# dladm show-vnic LINK OVER SPEED MACADDRESS MACADDRTYPE VIDS vnic0 stub0 40000 2:8:20:61:47:f6 random 0 vnic1 stub0 40000 2:8:20:81:e5:95 random 0 vnic2 stub0 40000 2:8:20:e9:10:18 random 0
# dladm show-etherstub LINK stub0