16-VCF Fabric配置
本章节下载: 16-VCF Fabric配置 (383.65 KB)
目 录
当前由云、网络、终端组成的IT基础架构正经历着巨大的技术变革,传统终端向智能化、移动化演进,传统IT架构也向云迁移,实现计算资源的弹性扩张,随需交付,应需而动。在此环境下,H3C公司提出了VCF(Virtual Converged Framework)架构,该架构打通网络平台、云管理平台以及终端平台的界限,使整个IT系统成为一个融合架构来承载所有应用,并可实现网络自动配置和部署。
在VCF Fabric网络拓扑中,设备角色分为以下几种:
· Spine节点:用于连接Leaf节点。
· Leaf节点:在数据中心典型组网中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数据中心网络拓扑示意图
图1-2 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部署包括服务器侧和网络侧的部署。
· 服务器侧的部署:
¡ 控制节点:部署Neutron server、Neutron DB、Message Server(例如RabbitMQ服务器);安装H3C ML2插件,该插件通过消息队列机制与设备侧进行交互。
¡ 网络节点:部署neutron-openvswitch-agent和neutron-dhcp-agent。
¡ 计算节点:部署neutron-openvswitch-agent和LLDP功能。
· 网络侧的部署:网络设备通过l2-agent/l3-agent模块,接收和解析服务器侧ML2插件的消息,并转换成二层或三层相关配置在设备上进行下发。不同Fabric组网方式下,Spine节点设备和Leaf节点设备支持的neutron-*-agent不同,具体如所表1-1示。
表1-1 Neutron在设备侧的部署
Fabric组网方式 |
网络设备节点 |
Neutron功能模块 |
集中式 |
Spine |
· neutron-l2-agent · neutron-l3-agent |
Leaf |
neutron-l2-agent |
|
分布式 |
Spine |
N/A |
Leaf |
· neutron-l2-agent · neutron-l3-agent |
图1-3 集中式组网Neutron部署示意图
图1-4 分布式组网Neutron部署示意图
由于数据中心的计算、存储、网络三要素的虚拟化演进,大量虚拟机的部署已经成为常态,数据中心网络部署面临的主要问题包括:
· 配置复杂:大量设备上线配置复杂。
· 维护复杂:设备上线过程不可见,故障排除复杂。
· 部署慢:面向应用的网络资源部署周期长。
VCF Fabric自动配置实现了如下功能:
· 拓扑自动发现
· Underlay网络配置自动化
· Overlay网络配置自动部署
在VCF Fabric组网中,网络设备通过LLDP协议获取各物理连接的对端接口名、对端用户角色和对端MAC地址、管理口IP地址等信息,形成本地拓扑信息。
当网络中不止一个Spine节点时,需要指定主Spine节点,主Spine节点收集全网拓扑后用于Underlay网络配置自动化。
Underlay网络就是传统的物理网络,可实现设备间的三层互通。Overlay网络是在传统的物理网络基础上叠加的一层逻辑网络,也成为虚拟网络。目前主流的Overlay技术为VXLAN技术,有关VXLAN的详细介绍,请参见“VXLAN配置指导”中的“VXLAN”。
Underlay网络配置自动化根据用户定义的模板文件自动完成IRF配置、网络的三层互通配置等,为用户提供一个IP路由可达的三层网络。
Underlay网络配置自动化之前,需要完成以下任务:
(1) 根据用户需求完成Underlay网络规划,包括IP地址、可靠性、路由部署规划等。在数据中心组网中,设备支持管理以太网口,空配置启动后通过管理以太网口自动获取IP地址等信息。
(2) 完成Director服务器的安装和部署
若模板文件通过Director自动生成,此步为必选。
(3) 完成DHCP服务器、TFTP服务器、NTP服务器的部署。
(4) 完成模板文件的放置。
基于VCF Fabric组网角色的模板文件是设备进行自动配置的基础。模板文件以.template结尾,通常通过Director自动生成。这种情况下,Director需要根据不同的网络拓扑类型和设备角色预先定义好不同的配置模板。例如:集中式网关Leaf模板、分布式网关Leaf模板、集中式网关Spine模板、分布式网关Spine模板等。
自动配置的模板版本号的格式为“x.y”,在设备上可通过执行display vcf-fabric underlay template-version命令查看支持的最高模板版本。实际部署时采用的模板版本号中的“x”可小于等于最高版本;若大于最高版本,可能导致通过模板文件自动部署失败。模板版本号中的“y”取值不影响兼容性,不同取值仅对应不同的静态配置组合。
Underlay网络自动化配置流程如下:
(1) 设备以空配置启动,从DHCP服务器获取设备IP地址、TFTP服务器IP地址、模板文件名等信息。
(2) 设备从TFTP服务器下载标签文件device_tag.csv,将文件中的SN码与设备自身的SN码进行比较:若相同,则下发标签文件中的角色和系统描述给设备;否则不进行角色和系统描述的下发。
(3) 设备根据角色(标签文件中的角色或设备缺省角色)和DHCP server携带的模板文件名,合成自身最终需要的模板文件名,例如dist_leaf.template,表示VXLAN分布式IP网关Leaf角色的模板文件。
(4) 设备从TFTP服务器自动下载该模板文件到本地。
(5) 设备解析模板文件,完成配置的下发,主要包括:
· 模板中与网络拓扑等动态信息无关的静态配置将直接下发给本设备。
· 模板中与网络拓扑等动态信息相关的配置,依赖于拓扑变化。拓扑进程会在邻居删除、创建或修改时通知自动化进程,自动化进程监听到拓扑变化后,根据携带的拓扑信息来完成角色发现、自动聚合(只有Leaf节点和服务器之间可以进行自动聚合)、自动搭建IRF等功能。在数据中心组网中,设备通常使用管理用以太网口连接Fabric管理网络;且只有Leaf节点和服务器之间可以进行自动聚合。
· Access角色的节点自动开启PoE功能。
· 在数据中心组网中,如果模板文件中定义了软件版本信息,设备会根据模板信息中的URL地址,获取新的软件版本,并与设备当前运行的版本进行比较,如果不一致,则自动下载新版本并完成升级和重启。
· 执行模板配置后,如果不存在IRF相关配置,则设备不会自动保存配置,用户可通过执行save命令手工保存配置。
· 对于相同角色的两台直连设备,只有IRF物理端口之间已连线,才可自动搭建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 Fabirc网络拓扑等动态信息无关,设备可以直接下发的配置。举例如下:
#STATICCFG
#
clock timezone beijing add 08:00:00
#
lldp global enable
#
stp global enable
#
· 动态配置:与VCF Fabirc拓扑等动态信息相关,设备需要先获取拓扑信息才能下发的配置。举例如下:
#
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
#
Overlay网络自动化部署主要包括:VXLAN和EVPN的部署。
Overlay网络自动化部署通过Neutron进程实现,主要包括L2-agent功能和L3-agent功能。
· L2-agent功能用于响应Openstack的网络创建、子网创建、端口创建等事件,在设备上完成二层网络的部署,实现同一虚拟网络的二层互通、不同虚拟网络的二层隔离。
· L3-agent功能用于响应Openstack的虚拟路由器创建、接口创建和网关设置等事件,在设备上完成网关的部署,以便为虚拟机提供三层转发服务。
在VCF Fabric组网中,设备是通过RabbitMQ服务器和Neutron server进行通信,因此需要在设备上指定RabbitMQ服务器的IP地址、登录用户名、登录密码、监听端口号等。
VCF Fabric自动配置(包括Underlay网络配置自动化和Overlay网络配置自动部署)功能一般通过自动下载并执行模板文件完成,无需使用命令行对设备进行配置。如果设备仅需要完成Overlay网络配置自动部署,则不用下载模板文件,仅完成1.5 开启VCF Fabric网络拓扑发现功能和1.7 Overlay网络配置自动部署即可。
表1-2 VCF Fabric自动配置任务简介
开启VCF Fabric拓扑发现功能 |
必选 |
|
Underlay网络配置自动化功能 |
可选 |
|
Overlay网络配置自动部署功能 |
· VCF Fabric网络拓扑发现通常在设备启动后通过执行模板文件自动完成,也可以通过命令行手工开启。
· 通过命令行手工开启网络拓扑发现功能,则由于设备的网络拓扑发现功能是基于LLDP协议获取直连设备信息的,因此需要先开启LLDP功能。
表1-3 开启VCF Fabric网络拓扑发现功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
全局开启LLDP功能 |
lldp global enable |
缺省情况下,全局LLDP功能处于开启状态 |
开启VCF Fabric网络拓扑发现功能 |
vcf-fabric topology enable |
缺省情况下,VCF Fabric网络拓扑发现功能处于关闭状态 |
· Underlay网络的自动配置功能可在设备上电启动后自动完成。若需要在正在运行的设备上重新进行Underlay网络的自动配置,可通过TFTP等方式将先将模板文件下载到本地,再通过命令行配置采用指定的模板文件进行Underlay网络的自动配置。
· 设备运行过程中不建议手工修改网络拓扑类型和设备角色。如需调整,请确保完全了解调整会给网络和业务带来的影响。
· 手工修改设备缺省的网络拓扑角色,重启后角色修改才能生效。
· 采用自动化部署Underlay网络时,用户不能再通过命令行修改配置,以免因配置冲突导致自动化部署失败。如需通过命令行修改配置,请通过undo vcf-fabric underlay autoconfigure命令取消自动化配置或vcf-fabric underlay pause命令暂停Underlay网络的自动配置功能,并在修改完配置后不再开启自动化配置功能。
表1-4 配置Underlay网络配置自动化功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
(可选)指定设备在VCF Fabric网络拓扑中的角色 |
vcf-fabric role { access | leaf | spine } |
缺省情况下,设备在VCF Fabric网络拓扑中的角色为Leaf角色 |
采用指定的模板文件进行Underlay网络的自动配置 |
vcf-fabric underlay autoconfigure template |
缺省情况下,未指定进行Underlay网络自动配置的模板文件 |
(可选)暂停Underlay网络自动配置功能 |
vcf-fabric underlay pause |
缺省情况下,Underlay网络自动配置功能处于非暂停状态 |
(可选)配置设备角色为主Spine节点 |
vcf-fabric spine-role master |
缺省情况下,未配置主Spine节点 |
(可选)开启Neutron服务,并进入Neutron视图 |
neutron |
缺省情况下,Neutron服务处于关闭状态 |
(可选)指定网络拓扑类型 |
network-type { centralized-vxlan | distributed-vxlan | vlan } |
缺省情况下,网络拓扑类型为VLAN |
· 若网络拓扑结构为VLAN或集中式VXLAN IP网关,Spine节点和Leaf节点上均需要进行Overlay网络配置自动部署。
· 若网络拓扑类型为分布式VXLAN IP网关,仅需要在Leaf节点上进行Overlay网络配置自动部署。
· 在VCF Fabric组网中,网络设备通过RabbitMQ与Neutron server通信,从而自动获取Overlay网络配置并部署Overlay网络。为此,用户需要在网络设备上指定RabbitMQ服务器参数,并保证设置的RabbitMQ服务器参数与控制节点上的参数保持一致。当服务器侧配置了RabbitMQ的持久化属性时,设备侧需要开启创建RabbitMQ的持久化功能,否则无法成功创建消息队列。
· 在设备上指定或取消已有的RabbitMQ服务器参数配置时,均需确保服务器与设备之间网络可达,否则会造成命令行无法响应直到TCP超时。
· 一个RabbitMQ服务器上可以创建多个虚拟主机,每个虚拟主机都可以独立地提供RabbitMQ服务,为保证设备与Neutron server正常通信,需要为其指定相同的RabbitMQ虚拟主机。
· 设备跟RabbitMQ服务器通信的过程中,不建议用户进行源IP地址切换或down/up与服务器相连的端口等操作,否则执行开启或关闭L2-agent/L3-agent功能时,命令行界面响应时间较长,请耐心等待。
表1-5 配置Overlay网络配置自动部署
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启Neutron服务,并进入Neutron视图 |
neutron |
缺省情况下,Neutron服务处于关闭状态 |
指定RabbitMQ服务器的IPv4地址、端口号和VPN实例 |
rabbit host ip ipv4-address [ port port-number ] [ vpn-instance vpn-instance-name ] |
缺省情况下,未指定RabbitMQ服务器的IPv4地址和VPN实例,通信端口为5672 |
指定设备侧与RabbitMQ服务器通信的源IPv4地址 |
rabbit source-ip ipv4-address [ vpn-instance vpn-instance-name ] |
缺省情况下,未指定设备侧与RabbitMQ服务器通信的源IPv4地址,设备通过路由协议自动选择与RabbitMQ服务器通信的源IPv4地址 |
(可选)开启设备侧创建RabbitMQ的持久化功能 |
rabbit durable-queue enable |
缺省情况下,设备侧创建的RabbitMQ为非持久化队列 |
配置设备与RabbitMQ服务器建立连接所使用的用户名 |
rabbit user username |
缺省情况下,设备与RabbitMQ服务器建立连接所使用的用户名为guest |
配置设备与RabbitMQ服务器建立连接使用的密码 |
rabbit password { cipher | plain } string |
缺省情况下,设备与RabbitMQ服务器建立连接使用的密码为guest |
配置为设备提供服务的RabbitMQ服务器上虚拟主机的名称 |
rabbit virtual-host hostname |
缺省情况下,为设备提供服务的RabbitMQ服务器虚拟主机名称为“/” |
配置设备通过Restful下发配置时使用的用户名和密码 |
restful user username password { cipher | plain } password |
缺省情况下,未配置设备通过Restful下发配置时使用的用户名和密码 |
开启L2-agent功能 |
l2agent enable |
缺省情况下,L2-agent功能处于关闭状态 |
(可选)开启L3-agent功能 |
l3agent enable |
缺省情况下,L3-agent功能处于关闭状态 |
(可选)配置租户网络所属VPN实例的Export Target |
vpn-target target export-extcommunity |
缺省情况下,未配置租户网络所属VPN实例的Export Target |
(可选)配置租户网络所属VPN实例的Import Target |
vpn-target target import-extcommunity |
缺省情况下,未配置租户网络所属VPN实例的Import Target |
(可选)配置网关的IP地址 |
gateway ip ipv4-address |
缺省情况下,未配置网关的IP地址 |
(可选)配置设备为border节点,并初始化Overlay网络自动部署中border节点的相关配置 |
border enable |
缺省情况下,设备不是border节点 |
(可选)配置分布式VXLAN组网的Overlay自动部署环境下开启VSI虚接口的本地的ARP代理功能 |
proxy-arp enable |
缺省情况下,未开启VSI虚接口的本地ARP代理功能 |
(可选)配置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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!