18-VCF Fabric配置
本章节下载: 18-VCF Fabric配置 (379.65 KB)
VCF(Virtual Converged Framework)架构基于Openstack组网架构设计,为云业务租户提供隔离的从二层到七层的虚拟网络服务。该架构打通网络平台、云管理平台以及终端平台的界限,使整个IT系统成为一个融合架构来承载所有应用,并可实现拓扑自动发现、Underlay网络和Overlay网络的自动部署,以减轻配置和维护的工作量、加快网络部署和升级速度。
在VCF Fabric园区网网络拓扑中,设备角色分为以下几种:
· Spine节点:用于连接Leaf节点。
· Leaf节点:用于连接Access节点。
· Access节点:为接入设备,上行与Leaf节点相连,下行与终端相连,且支持级联。
· Border节点:位于VCF Fabric网络拓扑的边界,用于连接外网。
Spine节点和Leaf节点组成了一个大二层网络,网络拓扑类型可以为VLAN、集中式VXLAN IP网关和分布式VXLAN IP网关组网。有关集中式VXLAN IP网关和分布式VXLAN IP网关的详细介绍请参见“VXLAN配置指导”中的“VXLAN”。
图1-1 VCF Fabric园区网网络拓扑示意图
Neutron是OpenStack框架中的一个组件,用来为虚拟机提供网络服务,管理各种虚拟网络资源,包括网络、子网、DHCP、虚拟路由器等,使每个租户可以拥有互相隔离的虚拟网络。Neutron基于一个可插拔的架构,提供了统一的网络资源模型,VCF Fabric正是基于这个模型的具体实现。
Neutron基本概念如下:
· 网络(Network):Neutron中的网络是虚拟的、可创建的对象,用于在多租户环境下为每个租户提供独立的网络环境。一个网络相当于一台拥有无限多个动态可创建和销毁的虚拟端口的交换机。
· 子网(Subnet):子网是网络中由一组IP地址组成的地址池。不同子网间的通信需要通过路由器。
· 端口(Port):Neutron中的端口是路由器和虚拟机挂接网络的附着点。
· 路由器(vRouter):Neutron中的路由器是虚拟路由器,负责路由选择和转发,可以创建和销毁。
Neutron包含如下重要组件:
· Neutron server
Neutron server包含守护进程Neutron server和多个neutron-*-plugin。Neutron server提供API接口,并把对API的调用请求传给已经配置好的插件进行后续处理。插件通过访问Neutron数据库来维护配置数据和对应关系,例如路由器、网络、子网和端口等。
· 插件代理(Plugin agent)
虚拟网络上数据包的处理由插件代理来完成,名字为neutron-*-agent。通常情况下选择了什么插件,就需要选择相应的插件代理。插件代理与Neutron Server及其插件的交互通过消息队列来实现。
· DHCP agent
名字为neutron-dhcp-agent,为租户网络提供DHCP服务。
· L3 agent
名字为neutron-l3-agent,为租户网络提供三层转发,以支持租户间的访问和租户网络与外网间的访问。
Neutron部署包括服务器侧和网络侧的部署。
服务器侧的部署,具体如表1-1所示。
表1-1 Neutron在服务器侧的部署
节点 |
Neutron组件 |
控制节点 |
· Neutron server · Neutron DB · Message Server(例如RabbitMQ服务器) · ML2插件 |
网络节点 |
· neutron-openvswitch-agent · neutron-dhcp-agent |
计算节点 |
· neutron-openvswitch-agent · LLDP |
网络侧的部署包括网络设备通过l2-agent/l3-agent模块,接收和解析服务器侧ML2插件的消息,并转换成二层或三层相关配置在设备上进行下发。不同Fabric组网方式下,Spine节点设备和Leaf节点设备支持的neutron-*-agent不同,具体如表1-2所示。
表1-2 Neutron在设备侧的部署
Fabric组网方式 |
网络设备节点 |
Neutron功能模块 |
集中式VXLAN IP网关 |
Spine |
neutron-l2-agent neutron-l3-agent |
Leaf |
neutron-l2-agent |
|
分布式VXLAN IP网关 |
Spine |
N/A |
Leaf |
neutron-l2-agent neutron-l3-agent |
图1-2 集中式组网Neutron部署示意图
图1-3 分布式组网Neutron部署示意图
VCF Fabric自动部署实现了如下功能:
· 拓扑自动发现
在VCF Fabric组网中,网络设备通过LLDP协议获取各物理连接的对端设备的接口名、用户角色、MAC地址、管理口IP地址等信息,形成本地拓扑信息。当网络中有多个Spine节点时,通过指定主Spine节点,由主Spine节点收集全网拓扑后用于网络配置自动化。
· Underlay网络配置自动化
Underlay网络就是传统的物理网络,可实现设备间的三层互通。Underlay网络配置自动化通过模板文件自动完成设备的IRF配置、网络的三层互通配置等,为用户提供一个IP路由可达的三层网络。
· Overlay网络配置自动部署
Overlay网络是在传统的物理网络基础上叠加的一层逻辑网络,也称为虚拟网络。Overlay网络配置自动化是自动从Neutron server获取Overlay网络配置,主要包括VXLAN和EVPN的配置,实现面向应用按需分配的虚拟网络。
(1) 设备以空配置启动,从DHCP服务器获取设备IP地址、TFTP服务器IP地址、模板文件名等信息。
(2) 设备根据角色和DHCP server携带的模板文件名,生成模板文件名,例如1_leaf.template,表示Leaf角色的模板文件。
(3) 设备从TFTP服务器自动下载该模板文件到本地。
(4) 设备解析模板文件,完成配置的下发,主要包括:
¡ 模板中与网络拓扑等动态信息无关的静态配置将直接下发给本设备。
¡ 模板中与网络拓扑等动态信息相关的配置,依赖于拓扑变化。拓扑进程会在邻居删除、创建或修改时通知自动化进程,自动化进程监听到拓扑变化后,根据携带的拓扑信息来完成角色发现、聚合、搭建IRF等配置下发。
模板文件的内容分为如下几部分:
· 系统预定义变量:变量名不可以随意更改;变量取值由网络拓扑自动发现功能赋予,不需要用户配置。
· 用户自定义变量:变量名和取值可以由用户手工修改,包括本地用户名、组网类型、以及与Neutron Server建立连接的相关配置等。举例如下:
#USERDEF
_underlayIPRange = 10.100.0.0/16
_master_spine_mac = 1122-3344-5566
_backup_spine_mac = aabb-ccdd-eeff
_username = aaa
_password = aaa
_rbacUserRole = network-admin
_neutron_username = openstack
_neutron_password = 12345678
_neutron_ip = 172.16.1.136
_loghost_ip = 172.16.1.136
_network_type = centralized-vxlan
……
· 静态配置:与VCF Fabric网络拓扑等动态信息无关,设备可以直接下发的配置。举例如下:
#STATICCFG
#
clock timezone beijing add 08:00:00
#
lldp global enable
#
stp global enable
#
· 动态配置:与VCF Fabric拓扑等动态信息相关,设备通过LLDP功能获取并收集拓扑信息才能下发的配置。举例如下:
#
interface $$_underlayIntfDown
port link-mode route
ip address unnumbered interface LoopBack0
ospf 1 area 0.0.0.0
ospf network-type p2p
lldp management-address arp-learning
lldp tlv-enable basic-tlv management-address-tlv interface LoopBack0
#
S5500V2-EI系列和MS4520V2-30F交换机,不支持VCF Fabric功能。
VCF Fabric自动配置任务如下:
自动部署VCF Fabric功能在设备上不需要进行任何配置,但需要在DHCP服务器、TFTP服务器完成必要的配置,以便设备空配置启动后可自动下载并解析模板文件完成部署。
· (可选)调整VCF Fabric部署
如果设备无法自动获取并解析模板文件完成VCF Fabric的自动部署,也可以通过命令行调整VCF Fabric部署的相关配置:
· 在园区网组网中,Leaf节点和Access节点之间,Access和Access节点之间均可以实现自动聚合,但级联的Access节点之间聚合端口只能为千兆以太网端口;Spine节点与Leaf节点之间的每条物理链路都要自动下发trunk permit vlan。
· 完成自动化配置后,在上线设备重启过程中或断电时,请不要进行链路迁移,否则链路相关的部分配置可能无法自动更新。
· 自动配置的模板版本号的格式为“x.y”,在设备上可通过执行display vcf-fabric underlay template-version命令查看支持的最高模板版本。实际部署时采用的模板版本号中的“x”可小于等于最高版本;若大于最高版本,可能导致通过模板文件自动部署失败。模板版本号中的“y”取值不影响兼容性,不同取值仅对应不同的静态配置组合。
· 执行模板配置后,如果不存在IRF相关配置,则设备不会自动保存配置,用户可通过执行save命令手工保存配置。
· 对于相同角色的两台直连设备,只有IRF物理端口之间已连线,才可自动搭建IRF系统。
· 两台设备搭建IRF系统,自动化配置首先依据设备的上线时间选择主设备,若本设备的上线时间大于或等于2小时,则配置本设备为IRF系统的主设备;若本设备上线时间小于2小时,则比较本设备与对端设备的桥MAC地址,桥MAC地址大的设备作为IRF系统的主设备。若两台设备的上线时间均大于或等于2小时,自动化配置过程中会提示搭建IRF冲突,用户需要手动重启其中一台设备,被重启的设备再次进行自动化配置时将作为IRF系统的从设备。
· 通过自动化配置搭建IRF系统时,若设备的IRF member ID不为1,可能导致自动化搭建IRF的过程中主设备重启。
(1) 根据用户需求完成Underlay网络规划,包括IP地址、可靠性、路由部署规划等。
(2) 配置DHCP服务器。
服务器上应为设备配置IP地址、TFTP服务器IP地址以及保存在TFTP服务器上的模板文件名等信息。具体的配置步骤,请参考DHCP服务器的用户手册。
(3) 配置TFTP服务器。
配置模板文件,并保存在TFTP服务器上。
网络中部署了H3C DR1000 ADDC或ADCAM网管软件的环境下,模板文件可通过该网管软件自动生成,并放置于TFTP服务器上;除此之外,用户需要手工编写模板文件并放置于TFTP服务器上。有关模板文件的介绍,请参见“1.1.5 模板文件”。
(4) (可选)配置NTP服务器。
(5) 将设备接入网络并启动设备。
设备空配置启动后,通过管理用以太网口或Vlan-interface1接口连接VCF Fabric管理网络,根据自身角色下载对应的模板文件到本地,并解析模板文件的内容,完成VCF Fabric的自动配置。
(6) 解析并下发模板配置后,设备不会自动保存配置。若希望保存当前配置,可执行save命令。有关该命令的详细介绍,请参考“基础命令参考”中的“配置文件管理”。
(1) 进入系统视图。
system-view
(2) 全局开启LLDP功能。
lldp global enable
缺省情况下,空配置启动全局LLDP功能处于关闭状态。
网络拓扑发现功能基于LLDP协议获取直连设备信息的,因此需要先开启LLDP功能。
(3) 开启VCF Fabric网络拓扑发现功能。
vcf-fabric topology enable
缺省情况下,VCF Fabric网络拓扑发现功能处于关闭状态。
(1) 进入系统视图。
system-view
(2) 采用指定的模板文件进行Underlay网络的自动配置。
vcf-fabric underlay autoconfigure template
缺省情况下,未指定进行Underlay网络自动配置的模板文件。
设备空配置启动时具有缺省的VCF Fabric角色,通过本配置可以根据实际组网需求调整设备在VCF Fabric中的角色。
通过自动下载并执行模板文件完成VCF Fabric自动部署的情况下,建议在手工配置设备角色后,以空配置重启设备,使设备以新角色重新获取模板文件,并按照模板文件进行Underlay网络的自动部署。
(1) 进入系统视图。
system-view
(2) 指定设备在VCF Fabric网络拓扑中的角色。
vcf-fabric role { access | leaf | spine }
缺省情况下,设备在VCF Fabric网络拓扑中的角色为Leaf节点角色。
(3) 退回系统视图。
quit
(4) 重启设备。
reboot
调整设备在VCF Fabric中的角色后,需要重启设备才能生效。
当网络中有多个Spine节点时,需要指定主Spine节点进行全局拓扑收集用于网络配置自动化。
(1) 进入系统视图。
system-view
(2) 配置设备角色为主Spine节点。
vcf-fabric spine-role master
缺省情况下,未配置主Spine节点。
暂停Underlay网络自动配置功能后,VCF Fabric会保存当前的设备状态,但不响应新的LLDP事件,也不会自动搭建IRF、进行端口聚合、上行口/下行口发现等。本功能通常可在VCF Fabric中的网络设备自动化完成后配置。后续如果有新的设备接入,可取消暂停功能,在当前状态的基础上完成模板中动态配置部分的部署。
(1) 进入系统视图。
system-view
(2) 暂停Underlay网络自动配置功能。
vcf-fabric underlay pause
缺省情况下,Underlay网络自动配置功能处于非暂停状态。
· 若网络拓扑结构为VLAN或集中式VXLAN IP网关,Spine节点和Leaf节点上均需要进行Overlay网络配置自动部署。
· 若网络拓扑类型为分布式VXLAN IP网关,仅需要在Leaf节点上进行Overlay网络配置自动部署。
· 设备跟RabbitMQ服务器通信的过程中,不建议用户进行源IP地址切换或down/up与服务器相连的端口等操作,否则执行开启或关闭L2-agent/L3-agent功能时,命令行界面响应时间较长,请耐心等待。
Overlay网络自动化部署配置任务简介如下:
(2) 配置网络拓扑类型
(3) 开启L2-agent功能
在VLAN组网和集中式VXLAN IP网关组网中,仅对于Spine节点和Leaf节点为必选;在分布式VXLAN IP网关组网中,仅对于Leaf节点必选。
(4) 开启L3-agent功能
在VLAN组网和集中式VXLAN IP网关组网中,仅对于Spine节点为必选;在分布式VXLAN IP网关组网中,仅对于Leaf节点为必选。
(5) 配置Border设备
(6) VCF Fabric网络拓扑中,设备作为Border节点时必选。
(7) (可选)配置VSI虚接口的本地ARP代理功能
(8) (可选)配置VSI虚接口的MAC地址
· 在VCF Fabric的控制节点安装Openstack neutron相关组件、插件,并完成网络拓扑类型等配置。
· 在VCF Fabric计算节点安装Openstack Nova计算相关组件,openvswitch以及neutron ovs agent。
· 确保设备已通过模板自动开启或通过命令行手工开启LLDP和VCF Fabric网络拓扑自动发现功能。
在VCF Fabric组网中,设备是通过RabbitMQ服务器和Neutron server进行通信,因此需要在设备上指定RabbitMQ服务器的IP地址、登录用户名、登录密码、监听端口号等。
· 用户需要在网络设备上指定RabbitMQ服务器参数要与服务器侧设置的RabbitMQ参数保持一致。当服务器侧配置了RabbitMQ的持久化属性时,设备侧需要开启创建RabbitMQ的持久化功能,否则无法成功创建消息队列。
· 在设备上指定或取消已有的RabbitMQ服务器参数配置时,均需确保服务器与设备之间网络可达,否则会造成命令行无法响应直到TCP超时。
· 一个RabbitMQ服务器上可以创建多个虚拟主机,每个虚拟主机都可以独立地提供RabbitMQ服务,为保证设备与Neutron server正常通信,需要为其指定相同的RabbitMQ虚拟主机。
(1) 进入系统视图。
system-view
(2) 开启Neutron服务,并进入Neutron视图。
neutron
缺省情况下,Neutron服务处于关闭状态。
(3) 指定RabbitMQ服务器的IPv4地址、端口号和VPN实例。
rabbit host ip ipv4-address [ port port-number ] [ vpn-instance vpn-instance-name ]
缺省情况下,未指定RabbitMQ服务器的IPv4地址和VPN实例,通信端口为5672。
(4) 指定设备侧与RabbitMQ服务器通信的源IPv4地址。
rabbit source-ip ipv4-address [ vpn-instance vpn-instance-name ]
缺省情况下,未指定设备侧与RabbitMQ服务器通信的源IPv4地址,设备通过路由协议自动选择与RabbitMQ服务器通信的源IPv4地址。
(5) (可选)开启设备侧创建RabbitMQ的持久化功能。
rabbit durable-queue enable
(6) 配置设备与RabbitMQ服务器建立连接所使用的用户名。
rabbit user username
缺省情况下,设备与RabbitMQ服务器建立连接所使用的用户名为guest。
(7) 配置设备与RabbitMQ服务器建立连接使用的密码。
rabbit password { cipher | plain } string
缺省情况下,设备与RabbitMQ服务器建立连接使用的密码为guest。
(8) 配置为设备提供服务的RabbitMQ服务器上虚拟主机的名称。
rabbit virtual-host hostname
缺省情况下,为设备提供服务的RabbitMQ服务器虚拟主机名称为“/”。
(9) 配置设备通过Restful下发配置时使用的用户名和密码。
restful user username password { cipher | plain } password
缺省情况下,未配置设备通过Restful下发配置时使用的用户名和密码。
通过命令行调整设备所在的网络拓扑类型后,Neutron会根据新的拓扑类型下发相应的配置,完成Overlay自动部署。
(1) 进入系统视图。
system-view
(2) 进入Neutron视图。
neutron
(3) 指定网络拓扑类型。
network-type { centralized-vxlan | distributed-vxlan | vlan }
缺省情况下,网络拓扑类型为VLAN。
L2-agent功能用于响应网络创建、子网创建、端口创建等事件,在设备上完成二层网络的部署,实现同一虚拟网络的二层互通、不同虚拟网络的二层隔离。
在VLAN组网和集中式VXLAN IP网关组网中,Spine节点和Leaf节点上均需要开启L2-agent功能。
在分布式VXLAN IP网关组网中,仅Leaf节点设备上需要开启L2-agent功能。
(1) 进入系统视图。
system-view
(2) 进入Neutron视图。
neutron
(3) 开启L2-agent功能。
l2agent enable
缺省情况下,L2-agent功能处于关闭状态。
L3-agent功能用于响应虚拟路由器创建、接口创建和网关设置等事件,在设备上完成网关的部署,以便为虚拟机提供三层转发服务。
在VLAN和集中式VXLAN IP网关组网中,仅Spine节点上需要开启L3-agent功能。
在分布式VXLAN IP网关组网中,仅Leaf节点上需要开启L3-agent功能。
(1) 进入系统视图。
system-view
(2) 进入Neutron视图。
neutron
(3) 开启L3-agent功能。
l3agent enable
缺省情况下,L3-agent功能处于关闭状态。
VCF Fabric组网中,位于VCF Fabric网络拓扑的边界、用于连接外网的设备称为Border设备。在集中式VXLAN IP网关和VLAN组网中Border设备为Spine节点,在分布式VXLAN IP网关组网中Border设备为Leaf节点。
在Border设备上可以手工配置外部网关地址;也可以通过开启Border功能,在OpenStack的界面上创建外部网络和路由器时,通过Overlay网络自动部署为设备完成路由相关配置,实现租户网络与外网的互通。如果手工配置和Overlay自动下发的网关地址不同,则以自动下发的为准。
通过Border设备连接外网时,Border连接外网的接口加入名称为global的VPN实例。为了确保外网返回的流量能够在VPN实例global中查找到到达虚拟机的路由,需要通过配置租户网络所属VPN实例的Import Target将租户网络的路由学习到VPN实例global中。
(1) 进入系统视图。
system-view
(2) 进入Neutron视图。
neutron
(3) 开启Border功能。
border enable
缺省情况下,设备不是Border节点。
(4) (可选)配置网关的IP地址。
gateway ip ipv4-address
缺省情况下,未配置网关的IP地址。
(5) 配置租户网络所属VPN实例的Export Target。
vpn-target target export-extcommunity
缺省情况下,未配置租户网络所属VPN实例的Export Target。
(6) (可选)配置租户网络所属VPN实例的Import Target。
vpn-target target import-extcommunity
缺省情况下,未配置租户网络所属VPN实例的Import Target。
开启VSI虚接口的本地ARP代理功能后设备收到本站点内虚拟机请求其它虚拟机MAC地址的ARP请求时,使用VSI虚接口的MAC地址应答该请求,减少ARP泛洪,实现虚拟机流量通过网关的三层转发。
仅需要在分布式VXLAN IP网关组网的Leaf节点设备上配置本功能。
仅对新创建的VSI虚接口生效,对已经存在VSI虚接口不起作用。
(1) 进入系统视图。
system-view
(2) 进入Neutron视图。
neutron
(3) 开启VSI虚接口的本地ARP代理功能。
proxy-arp enable
缺省情况下,VSI虚接口的本地ARP代理功能处于关闭状态。
配置VSI虚接口的MAC地址后,在Overlay网络自动部署时会修改自动部署设备上创建的所有VSI虚接口的MAC地址,实现虚拟机的动态迁移。
仅需要在分布式VXLAN IP网关组网的Leaf节点设备上配置本功能。
仅对新创建的VSI虚接口生效,对已经存在VSI虚接口不起作用。
(1) 进入系统视图。
system-view
(2) 进入Neutron视图。
neutron
(3) 配置VSI虚接口的MAC地址。
vsi-mac mac-address
缺省情况下,未设置VSI虚接口的MAC地址。
在完成上述配置后,在任意视图下执行display命令可以显示配置后VCF Fabric的运行情况,通过查看显示信息验证配置的效果。
查看设备在VCF Fabric中的角色 |
display vcf-fabric role |
查看VCF Fabric的拓扑信息 |
display vcf-fabric topology |
查看Underlay的自动化配置信息 |
display vcf-fabric underlay autoconfigure |
查看VCF Fabric自动配置功能支持的模板版本和当前自动部署功能使用的模板版本 |
display vcf-fabric underlay template-version |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!