前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >非网络专业人士再谈SDN--KVM虚拟网络的规划与设计

非网络专业人士再谈SDN--KVM虚拟网络的规划与设计

作者头像
魏新宇
发布2018-03-22 15:01:37
1.4K0
发布2018-03-22 15:01:37
举报

从Gartner分析报告谈起

根据Gartner的《Gartner2016年度新兴技术成熟度曲线》,目前SDx目前处于期望膨胀期的末期,也标志着此类技术基本已经成熟状态。软件定义一切(SDx)是市场上一系列技术的总称,包含了通过自动化云计算、开发运营(DevOp),以及快速基础设施配置的驱动,为基础设施可编程性和数据中心互用性改进标准。用“软件定义”一词的潮流源自软件定义网络(SDN),它能将大量不同的个人设备中分散的网络逻辑和政策集成一个软件。由于SDN将软硬件分开,因此可能分离了购买决策,并且允许采用通用硬件,这是其最具颠覆性的特点。

由SDx衍生出的软件定义数据中心(SDDC)概念,在近两年基本落地。在SDDC的架构中,三大支柱是:软件定义的计算、软件定义的存储、软件定义的网络。软件定义的计算,顾名思义,就是虚拟化方案,如RHEV、vSphere等。软件定义的存储,如Gluster、Ceph等。软件定义的网络,有OpenStack的Neutron、NSX、Cisco ACI等。NFV是电信行业的特殊场景,应该说NFV是建立在SDN之上的。

在虚拟化、SDS和SDN中,SDN是最为复杂的。落地起来也是最慢的。今天,我们来谈一谈开源的SDN方案。

开源界的SDN

谈SDN,一般有三个平面:数据平面、控制平面和管理平面。在开源的架构里,这三个平面分别是什么呢?

虚拟网络是SDN的基础,而虚拟网络与虚拟化是密不可分的,很多朋友对vSphere的虚拟化比较熟悉。其中VSS是虚拟标准交换机、VDS是虚拟分布式交换机。在VDS和VSS上,通过端口组(portgroup)来区分不同的vLAN。如果虚拟机有不同的vLAN,那么VSS/VDS所对应的上行端口(uplink)就需要所连接的物理交换机端口,就需要设置trunk,并且允许对应的vLAN通过,这是vSphere里的概念,接下来我们看看开源的方案。

Linux Bridge与Open vSwitch

在开源界,虚拟网络默认使用Linux Bridge,后来随着Open vSwitch的兴起,目前RHEL既可以使用Linux Bridge,也可以使用OVS。

OVS可以简单理解成运行在虚拟化平台(例如 KVM,Xen)上的虚拟交换机。在虚拟化平台上,OVS 可以为动态变化的端点提供 2 层交换功能,很好的控制虚拟网络中的访问策略、网络隔离、流量监控等等。OVS 遵循 Apache2.0 许可证, 能同时支持多种标准的管理接口和协议。OVS 也提供了对 OpenFlow协议的支持,用户可以使用任何支持 OpenFlow 协议的控制器对 OVS 进行远程管理控制。

说起OVS,不得不说起Nicira。笔者此前写过一篇文章《非网络专业人士看NSX--浅谈NSX架构和ARP压制》,该文章中谈到的NSX,就是Nicira Networks公司发明的。从这个意义上讲,OVS和VDS系出同源,就像《倚天屠龙记》里峨眉派和少林派的九阳真经。上图是OVS架构,下图是vSphere的VDS架构。

截止到目前,我们可以这样认为,OVS是开源SDN的数据平面。从对比的角度,可以把Linux Bridge理解成vSphere中的VSS,而将OpenVSwitch理解成vSphere中的VDS。而开源SDN的控制层面/管理平面可以由Neutron担任。

Neutron

接下来我们谈谈控制平面。谈SDN,不能不谈的是OpenStack的Neutron模块。

Neuron(网络服务的代号)可用于使用 SDN 优化 IaaS。通过利用 OpenFlow 等 SDN 技术,网络管理员可以实现较高的多租户水平,以及一个网络设备到另一个设备的大规模数据移动。(OpenFlow 是一个开源标准、通信协议,提供了对网络交换机或路由器的转发平面的网络访问,使得远程控制器可以通过交换机网络确定网络包的路径。)

Neutron以Quantum技术为基础,后者则源自Nicira的开发项目。随着Nicira被VMware所收购,该公司的员工们也在新环境下继续对这项技术开展研发。也就是说,Neutron和Nicira也是有点血缘关系。

OpenDaylight

关于开源SDN方案,另外一个重要的项目OpenDaylight非常重要。

OpenDaylight是一套以社区为主导的开源框架,旨在推动创新实施以及软件定义网络(简称SDN)透明化。OpenDayLight由 18 个公司共同创立,这些公司包括 Cisco、Dell、Juniper、IBM 和 Intel;该项目现在已有 36 个成员,Redhat也是其中的成员。

(https://www.linuxfoundation.org/news-media/announcements/2013/04/industry-leaders-collaborate-opendaylight-project-donate-key

OpenDayLight架构如下:

由于篇幅有限,并且ODL比较复杂,本文先不对它展开介绍。目前,在ROD开源项目中,目前ODL已经可以与Neutron对接。(https://wiki.opendaylight.org/view/OpenStack_and_OpenDaylight)

整体而言,在开源的SDN方案里,OVS作为数据平面,而Neutron可以作为控制平面和管理平面而存在(OVS的管理平面可以通过命令行实现,也可以在Openstack的界面实现,部分功能也可以在RHEV-M上实现,后续会进行介绍)。

RHEV的虚拟网络

RHEV是基于KVM的红帽企业级虚拟化。分为RHEV-M和RHEV-H,前者是管理平台,后者是Hypervisor。RHEV默认使用的虚拟网络是网桥。在新版本的RHEV4.0中可以对接Neutron的OVS。

我们先看看默认的Linux Brdige:在RHEVM上有一个虚拟网桥,名称是ovirtmgmt,它是默认的管理网络:

编辑该逻辑网络,可以设置逻辑网络承载的功能。

此处的设置,类似于vSphere中的创建网络时的设置,如下图:

我总结一下两种虚拟化技术逻辑网络功能对比。

vSphere

vMotion流量

管理

虚拟SAN流量

未专门划分

FT网络

RHEV

迁移网络

管理流量

Gluster网络

显示网络

其中,RHEV的网络多了一项“显示网络”。指的是虚拟机console显示流量走的网络。vSphere中未单独划分。此外,RHEV中没有FT功能,因此,没有FT网络。

如果想在RHEV中添加逻辑网络,设置另外,步骤如下:

将新建的逻辑网络Vlan1拖拽过去,与一个UpLink对接起来:

登录到RHEVH节点上,也可以看到该网桥配置:

RHEV对接OVS

接下来,我们看一下如何将RHEV与OVS对接。

在Manager界面,选择外部供应商:

可以看到几个可选项:

选择OVS:

输入相关信息:

添加完毕以后,在RHEVM中再添加host的时候,就可以选择上一步添加的OVS了:

除此之外,还可以通过RHEV-M添加Neutron下面的逻辑网络:

填写网络信息:

创建成功以后,可以在openstack上查看通过RHEVM创建的逻辑网络:

RHEV网络的高可用

本小节只讨论使用网桥的高可用。

在默认情况下,虚拟网桥是这样的,也就是一个Uplink对应一个网桥,这个网桥连接多个虚拟机:

我们可以在物理网卡上设置vLAN,然后通过这个物理网卡创建的网桥属于这个vLAN:

为了高可用,可以把两个物理网卡绑定成一个虚拟设备,然后创建网桥:

我们也可以在在绑定的物理网卡上创建多个网桥,每个网桥属于不同的vLAN。这相比于在同一个网桥下的vLAN隔离而言,属于“硬隔离”

在设计RHEV虚拟网络时,需要参考客户的要求。如果在虚拟化环境中,只需要做vLAN隔离,那么通过RHEV默认的网桥就可以实现。需要需要使用VXLAN或者更高级的功能,那么RHEV既可以对接第三方硬件交换机,也可以对接Neutron的OVS。从笔者的角度,更倾向于使用OVS。

前面笔者也提到过,相对于虚拟化和SDS,SDN的实现相对会比较慢一些,因此选择纯软件的SDN,还是软硬相结合的SDN,需要结合客户的需求和业务特点进行具体分析。

总结:

截止到目前,笔者大致介绍了开源的SDN方案以及RHEV的虚拟网络配置。由于篇幅有限,不能把所有知识点展开阐述,在后续的文章中,笔者会陆续介绍。最后希望本文能对读者有一些帮助。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-09-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大魏分享 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档