VCF Fabric
1 VCF Fabric
1.1 VCF Fabric简介
1.1.1 VCF Fabric网络拓扑
在VCFFabric网络拓扑中,设备角色分为以下几种:
· Spine节点:用于连接Leaf节点。
· Leaf节点:在数据中心典型组网中Leaf节点设备用于连接服务器;在园区网典型组网中Leaf节点设备用于连接Access节点。
· Access节点:节点设备属于接入设备,上行与Leaf节点相连,下行与服务器或终端相连。
· Border节点:节点设备位于VCF Fabric网络拓扑的边界,用于连接外网。
Spine节点和Leaf节点组成了一个大二层网络,具体的网络拓扑类型可以为VLAN、集中式VXLANIP网关和分布式VXLAN IP网关。有关集中式VXLAN IP网关和分布式VXLAN IP网关的详细介绍请参见“VXLAN配置指导”中的“VXLAN”。
图1-1 VCF Fabric数据中心网络拓扑示意图
图1-2 VCF Fabric园区网网络拓扑示意图
1.1.2 Neutron基本概念和组件介绍
· 网络(Network):Neutron中的网络是虚拟的、可创建的对象,用于在多租户环境下为每个租户提供独立的网络环境。一个网络相当于一台拥有无限多个动态可创建和销毁的虚拟端口的交换机。
· 子网(Subnet):子网是网络中由一组IP地址组成的地址池。不同子网间的通信需要通过路由器。
· 端口(Port):Neutron中的端口是路由器和虚拟机挂接网络的附着点。
· 路由器(vRouter):Neutron中的路由器是虚拟路由器,负责路由选择和转发,可以创建和销毁。
虚拟网络上数据包的处理由插件代理来完成,名字为neutron-*-agent。通常情况下选择了什么插件,就需要选择相应的代理。代理与Neutron Server及其插件的交互通过消息队列来来实现。
名字为neutron-dhcp-agent,为租户网络提供DHCP服务。
名字为neutron-l3-agent,为租户网络提供提供三层转发,以支持租户间的访问和租户网络与外网间的访问。
1.1.3 Neutron部署
· 网络节点:部署neutron-openvswitch-agent和neutron-dhcp-agent。
¡ 计算节点:部署neutron-openvswitch-agent和LLDP功能。
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部署示意图
2. 分布式组网Neutron部署示意图
1.2 VCF Fabric自动部署和配置
由于数据中心的计算、存储、网络三要素的虚拟化演进,大量虚拟机的部署已经成为常态,数据中心网络部署面临的主要问题包括:
· 与H3C的VCF Fabric Director配合,可以实现设备上线过程的动态拓扑展示
1.2.1 拓扑发现与收集
当网络中不止一个Spine节点时,需要指定主Spine节点,主Spine节点收集全网拓扑后用于Underlay网络配置自动化。
1.2.2 Underlay网络配置自动化
Underlay网络配置自动化根据用户定义的模板文件自动完成IRF配置、网络的三层互通配置等,为用户提供一个IP路由可达的三层网络。
1. 配置准备
(1) 根据用户需求完成Underlay网络规划,包括IP地址、可靠性、路由部署规划等。
(3) 完成启动软件包的放置。软件启动包是设备启动、运行的必备软件,需保存在TFTP服务器上。如果现有设备的启动软件包全部一致且不需要升级软件版本,可不需要准备该文件。
2. Underlay网络自动化配置流程
(1) 设备以出厂配置启动,从DHCP服务器获取设备IP地址、TFTP服务器IP地址、模板文件名(文件名通常以“网络类型.template”命名)等信息。
(2) 设备根据自身缺省的VCF Fabric网络拓扑角色,从TFTP服务器下载对应的名称模板(文件名通常以“网络类型_网络拓扑角色.template”命名)到本地。
· 如果模板文件中定义了软件版本信息,设备会根据模板信息中的URL地址,获取新的软件版本,并与设备当前运行的版本进行比较,如果不一致,则自动下载新版本并完成升级和重启。
· 执行模板配置后,如果不存在IRF相关配置,则设备不会自动保存配置,用户可通过执行save命令手工保存配置。
3. 模板文件
模板文件的内容分为如下几部分:
· 系统预定义变量:变量名不可以随意更改;变量取值由网络拓扑自动发现功能赋予,不需要用户配置。
· 用户自定义变量:变量名和取值可以由用户手工修改,包括本地用户名、组网类型、以及与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 beijingadd 08:00:00
#
lldp global enable
#
stp global enable
#
· 动态配置:与VCF Fabirc拓扑等动态信息相关,设备需要先获取拓扑信息才能下发的配置。举例如下:
#
interface $$_underlayIntfDown
port link-mode route
ip address unnumberedinterface LoopBack0
ospf 1 area 0.0.0.0
ospf network-type p2p
lldp management-addressarp-learning
lldp tlv-enablebasic-tlv management-address-tlv interface LoopBack0
#
1.2.3 Overlay网络配置自动部署
Overlay网络自动化部署主要包括:VXLAN和EVPN的部署。
Overlay网络自动化部署通过Neutron进程实现,主要包括L2-agent功能和L3-agent功能。
· L2-agent功能用于响应Openstack的网络创建、子网创建、端口创建等事件,在设备上完成二层网络的部署,实现同一虚拟网络的二层互通、不同虚拟网络的二层隔离。
· L3-agent功能用于响应Openstack的虚拟路由器创建、接口创建和网关设置等事件,在设备上完成网关的部署,以便为虚拟机提供三层转发服务。
在VCFFabric组网中,设备是通过RabbitMQ服务器和Neutron server进行通信,因此需要在设备上指定RabbitMQ服务器的IP地址、登录用户名、登录密码、监听端口号等。
1.3 配置限制和指导
1.4 VCF Fabric自动配置任务简介
配置任务 |
说明 |
详细配置 |
开启VCF Fabric拓扑发现功能 |
必选 |
1.5 |
Underlay网络配置自动化功能 |
可选 |
1.6 |
Overlay网络配置自动部署功能 |
可选 |
1.7 |
1.5 开启VCF Farbic网络拓扑发现功能
1.5.1 配置限制和指导
· VCF Fabric网络拓扑发现通常在设备启动后通过执行模板文件自动完成,也可以通过命令行手工开启。
· 通过命令行手工开启网络拓扑发现功能,则由于设备的网络拓扑发现功能是基于LLDP协议获取直连设备信息的,因此需要先开启LLDP功能。
1.5.2 配置步骤
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
全局开启LLDP功能 |
lldp global enable |
本命令的缺省情况与设备的型号有关,请以设备的实际情况为准 |
开启VCF Farbic网络拓扑发现功能 |
vcf-fabric topology enable |
缺省情况下,VCF Farbic网络拓扑发现功能处于关闭状态 |
1.6 Underlay网络配置自动化功能
1.6.1 配置限制和指导
· 设备运行过程中不建议手工修改网络拓扑类型和设备角色。如需调整,请确保完全了解调整会给网络和业务带来的影响。
· 手工修改设备缺省的网络拓扑角色,重启后角色修改才能生效。
1.6.2 配置步骤
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
(可选)指定设备在VCF Fabric网络拓扑中的角色 |
vcf-fabric role { access | leaf | spine } |
缺省情况下,设备在VCF Fabric网络拓扑中的角色与设备的型号有关,请以设备的实际情况为准 |
采用指定的模板文件进行Underlay网络的自动配置 |
vcf-fabric underlay autoconfigure template |
缺省情况下,未指定进行Underlay网络自动配置的模板文件 |
(可选)配置设备角色为主Spine节点 |
vcf-fabric spine-role master |
缺省情况下,未配置主Spine节点 |
(可选)开启Neutron服务,并进入Neutron视图 |
neutron |
缺省情况下,Neutron服务处于关闭状态 |
(可选)指定网络拓扑类型 |
network-type { centralized-vxlan | distributed-vxlan | vlan } |
缺省情况下,网络拓扑类型为VLAN |
1.7 Overlay网络配置自动部署
1.7.1 配置限制和指导
· 若网络拓扑结构为VLAN或集中式VXLAN IP网关,Spine节点和Leaf节点上均需要进行Overlay网络配置自动部署。
· 若网络拓扑类型为分布式VXLAN IP网关,仅需要在Leaf节点上进行Overlay网络配置自动部署。
· 在设备上指定或取消已有的RabbitMQ服务器参数配置时,均需确保服务器与设备之间网络可达,否则会造成命令行无法响应直到TCP超时。
· 一个RabbitMQ服务器上可以创建多个虚拟主机,每个虚拟主机都可以独立地提供RabbitMQ服务,为保证设备与Neutron server正常通信,需要为其指定相同的RabbitMQ虚拟主机。
1.7.2 配置步骤
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启Neutron服务,并进入Neutron视图 |
neutron |
缺省情况下,Neutron服务处于关闭状态 |
指定RabbitMQ服务器的IPv4地址 |
rabbit host ip ipv4-address [ vpn-instance vpn-instance-name ] |
缺省情况下,未指定RabbitMQ服务器的IPv4地址 |
配置设备与RabbitMQ服务器建立连接所使用的用户名 |
rabbit user username |
缺省情况下,设备与RabbitMQ服务器建立连接所使用的用户名为guest |
配置设备与RabbitMQ服务器建立连接使用的密码 |
rabbit password { cipher | plain } string |
缺省情况下,设备与RabbitMQ服务器建立连接使用的密码为guest |
配置设备与RabbitMQ服务器通信的端口号 |
rabbit port port-number |
缺省情况下,设备与RabbitMQ服务器通信的端口号为5672 |
配置为设备提供服务的RabbitMQ服务器上虚拟主机的名称 |
rabbit virtual-host hostname |
缺省情况下,为设备提供服务的RabbitMQ服务器虚拟主机名称为“/” |
(可选)开启设备侧创建RabbitMQ的持久化功能 |
rabbit durable-queue enable |
缺省情况下,设备侧创建的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地址 |
1.8 VCF Fabric显示和维护
在完成上述配置后,在任意视图下执行display命令可以显示配置后VCF Fabric的运行情况,通过查看显示信息验证配置的效果。
操作 |
命令 |
查看VCF Fabric的拓扑信息 |
display vcf-fabric topology |
查看Underlay的自动化配置信息 |
display vcf-fabric underlay autoconfigure |
1.9 VCF Fabric自动配置典型配置举例
1.9.1 组网需求
· DHCP服务器为设备动态分配10.11.113.0/24网段的IP地址。
· 通过VCF Fabric自动配置实现在Device A、Device B、Device C初次上电启动后,可根据模板文件完成VXLAN网络Underlay配置自动化。
1.9.2 组网图
1.9.3 配置步骤
1. 配置DHCP服务器
· DHCP地址池:配置地址池动态分配IP地址的网段为10.11.113.0/24。
· TFTP服务器的IP地址10.11.113.19/24。
· Boot文件名:以“网络类型.template”形式命名,如“vxlan.template”。
2. 模板文件编写
编写模板文件并将其放置在TFTP服务器上,模板文件一般包含如下内容:
· 系统定义变量:用于系统内部使用,用户自定义变量名不得与其重复。
· 用户自定义变量:定义设备本地用户名、密码,用户角色等基本信息,以及Neutron相关配置信息,如Neutron server的IP地址、与Neutron server建立连接使用的用户名和密码等。
· 配置命令:包括与网络拓扑无关的LLDP、NTP、SNMP等配置命令,以及与网络拓扑有关的接口、Neutron相关配置等。
3. 配置TFTP服务器
4. DeviceA、Device B、Device C设备上电
5. 配置Controller Node
a. 安装Neutron、Image、Dashboard、Networking、RabbitMQ组件。
b. 安装H3C ML2 Driver插件,具体安装方法请参考《H3C Opentack ML2 Driver插件安装指导》。
手动修改/etc/neutron/plugin/ml2/ml2_conf.ini文件,具体配置步骤如下:
b. mechanism_driver增加h3c,以便neutron-server加载h3c驱动
mechanism_driver =openvswitch, h3c
tenant_network_types=h3c_vxlan
d. 配置VXLAN网络的ID范围,需新增[ml2_type_h3c_vxlan]段。VXLAN的网络ID范围为0-16777215,ID起始和结束中间以冒号分隔
配置数据库前,确保Neutron-server配置已经完成。
[openstack@localhost ~]$ sudoh3c_config db_sync
[root@localhost ~]# serviceneutron-server restart
(5) 在ControllerNode上创建名称为“Network”的网络
(6) 在Controller Node上创建名称为“subnet-1”和“subnet-2”的两个子网,并配置网络地址为10.10.1.0/24和10.1.1.0/24
需要注意的是,本例中VM通过DHCP自动获取IP地址,因此需要在创建子网时,激活DHCP功能。
(7) 在ControllerNode上创建名称为“router”的路由器,并将路由器的接口与两个子网网段相绑定
在ControllerNode和Compute Node上分别创建VM1和VM2,VM1和VM2的IP地址由子网内的DHCP自动分配,这里假设为10.10.1.3/24和10.1.1.3/24。
1.9.4 验证配置
1. 验证Underlay拓扑收集
[DeviceA] display vcf-fabric topology
----------------------------------------------------------------------------------
* indicates the master spine roleamong all spines
SpineIP Interface Link LeafIP Status
*10.11.113.51 GigabitEthernet1/0/1 Up 10.11.113.52 Running
GigabitEthernet1/0/2 Down-- --
GigabitEthernet1/0/3 Down-- --
GigabitEthernet1/0/4 Down-- --
GigabitEthernet1/0/5 Up 10.11.113.53 Running
GigabitEthernet1/0/6 Down-- --
GigabitEthernet1/0/7 Down-- --
GigabitEthernet1/0/8 Down-- --
2. 验证Underlay自动配置
在DeviceA设备上查看Underlay网络配置自动化信息。
[DeviceA] display vcf-fabric underlayautoconfigure
clock timezone beijing add 08:00:00
vpn-target 1:1 import-extcommunity
vxlan tunnel mac-learning disable
vxlan tunnel arp-learning disable
ntp-service unicast-peer 10.11.113.136
info-center loghost 10.11.113.136
service-type telnet http https
authorization-attribute user-role network-admin
restful user aaa password ******
network-type centralized-vxlan
vpn-target 1:1 export-extcommunity
snmp-agent community read public
snmp-agent community write private
snmp-agent sys-info version all
DEV_MAC LOOPBACK_IP MANAGE_IP STATE
a43c-adae-0400 10.100.16.17 10.11.113.53 up
a43c-9aa7-0100 10.100.16.15 10.11.113.51 up
a43c-a469-0300 10.100.16.16 10.11.113.52 up
Self Bridge Mac: a43c-9aa7-0100
3. 验证Overlay自动配置
[DeviceA] displaycurrent-configuration configuration vsi
vpn-target autoexport-extcommunity
vpn-target autoimport-extcommunity
[DeviceA] displaycurrent-configuration interface Vsi-interface
ip binding vpn-instanceneutron-1024
ip address 11.1.1.1255.255.255.0 sub
ip address 10.10.1.1255.255.255.0 sub
[DeviceA] display ip vpn-instance
Total VPN-Instances configured: 1
VPN-InstanceName RD Create time
neutron-1024 1024:1024 2016/03/12 00:25:59
4. 验证VM之间互通
# 进入Controller Node上的VM的控制台,执行ping操作,可以ping通ComputeNode上的VM。
Ping 10.1.1.3 (10.1.1.3): 56 databytes, press CTRL_C to break
56 bytes from 10.1.1.3: icmp_seq=0ttl=254 time=10.000 ms
56 bytes from 10.1.1.3: icmp_seq=1ttl=254 time=4.000 ms
56 bytes from 10.1.1.3: icmp_seq=2ttl=254 time=4.000 ms
56 bytes from 10.1.1.3: icmp_seq=3ttl=254 time=3.000 ms
56 bytes from 10.1.1.3: icmp_seq=4 ttl=254 time=3.000ms
--- Ping statistics for 10.1.1.3 ---
5 packet(s) transmitted, 5 packet(s)received, 0.0% packet loss
round-trip min/avg/max/std-dev =3.000/4.800/10.000/2.638 ms
VCF Fabric相关推荐
- 网络虚拟化技术与NFV
一.虚拟化技术概述 1.虚拟化技术简介 虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机.在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独 ...
- DevExpress Winform 常用控件
前言 DevExpress 控件的功能比较强大,是全球知名控件开发公司,对于开发 B/S 或 C/S 都非常出色,可以实现很炫且功能强大的效果. DevExpress Winform 常用控件是本人在 ...
- fabric 启动peer_编写 Fabric 链码的一般准则
我相信智能合约(链码)是 Hyperledger Fabric 区块链网络的核心.正确开发链码可以真正发挥一个安全区块链的优势,反之则会带来灾难性的后果.在这篇文章里我不打算探讨 Hyperledge ...
- 超级账本(Hyperledger Fabric)之权限管理浅析
链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 超级账本(Hyperledger Fabric)之权限管理浅析 超级账本是联盟链的代表,而其相对于共链(例如比特币,以太 ...
- 超级账本(Hyperledger Fabric)源码分析之一:总览
链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 一.编译 1.环境准备 需要提前在linux或者mac机器上安装如下软件 1)Go,注意设置好gopath(笔者安装的是 ...
- 浅析Hyperledger Fabric共识算法
链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 区块链系统是一个分布式架构,交易账本信息由各个节点管理,组成一个庞大的分布式账本.在分布式系统中,各个节点收到的交易信息 ...
- 深入挖掘Hyperledger Fabric中的私有数据
链客,专为开发者而生,有问必答! 此文章来自链客区块链技术问答社区,未经允许拒绝转载. 深入挖掘Hyperledger Fabric中的私有数据 私有数据是fabric中讨论最多的特性,在v1.2中发 ...
- Python fabric实现远程操作和部署
fabric title是开发,但是同时要干开发测试还有运维的活 (o(╯□╰)o) 近期接手越来越多的东西,发布和运维的工作相当机械,加上频率还蛮高,导致时间浪费还是优点多. 修复bug什么的,测试 ...
- Hyperledger Fabric PHP SDK
Hyperledger Fabric PHP SDK是社区提供的用于Hyperledger Fabric区块链应用开发的软件包,其目的在于为PHP应用提供访问Hyperledger Farbic区块链 ...
最新文章
- linux服务器部署.net,Linux服务器部署.Net Core笔记:三、安装.NetCore运行环境
- 宽度,对齐方式的设置
- Maven的安装与Eclipse的配置
- 计算机有关的文献检索题目,文献检索第二次计算机检索实习题目(2016.4.10).doc
- javaone_JavaOne 2012:在JVM上诊断应用程序
- python支持多种编程范式吗_Python3学习之路~6.1 编程范式:面向过程 VS 面向对象...
- centos 增加分区容量
- python关键词提取_如何从Python格式字符串中提取关键字? - python
- css3漂亮的渐变图案,CSS3 带渐变图案的圆球
- 51单片机通过74HC595控制8位数码管,在任意位置显示数字
- 18-09-20 关于Xlrd和Xlwt的初步学习
- linux安装tt客户端,timesten的安装与配置(linux)
- 收藏 | 从Python安装到语法基础,小白都能懂的爬虫教程!(附代码)
- SQL+Tableau化妆品数据分析
- 【进程间通信】Unix domain socket (进程间通信)
- Androidnbsp;TabHostnbsp;和amp;nbs…
- 微信小程序:设置文本字体粗细font-weight
- {小结}2016.6.11【初中部 NOIP提高组 】模拟赛C
- Uncaught TypeError: Converting circular structure to JSON
- Python数据分析速成课程
热门文章
- ZF2开发中常用操作
- SVI(VLANIF)接口down的原因
- 计算机毕业设计Android的课程表系统app设计(源码+系统+mysql数据库+Lw文档)
- jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、
- WEB打印控件---无限制完全免费版
- WindowsServer2019安装Hyper-V
- Mac os 向NS Switch拷贝文件 switch/sxos 无法识别的解决办法
- 更改计算机浏览视图,瞬间变得高大上,教你把CAD图纸的查看模式改成三维视图模式-dwg文件查看器...
- 攻防世界逆向初级训练
- 撞库黑产无休止!京东、阿里、拼多多都曾着了道!