第281篇:华为 CloudFabric 数据中心方案简介
关键词:CloudFabric、CloudEngine、iMaster NCE-Fabric、数据中心网络、SDN、Fabric、自动化部署
一、引言
华为 CloudFabric 是基于 SDN(Software Defined Networking)理念的全新一代数据中心网络解决方案,旨在解决传统数据中心网络运维复杂、扩展困难、自动化程度低等痛点。CloudFabric 以华为 CloudEngine 系列交换机为硬件基础,以 iMaster NCE-Fabric 为智能控制器,实现了数据中心网络的自动化部署、智能运维和灵活调度。
在第280篇中,我们讨论了Kubernetes NetworkPolicy如何实现Pod级别的网络策略控制,而 CloudFabric 则从更大的视角,提供数据中心底层网络到上层云平台的端到端自动化管理能力,二者在云原生数据中心中形成互补:NetworkPolicy 负责东西向 Pod 间流量策略,CloudFabric 负责南北向和 Pod 到外部服务的网络自动化编排。
二、CloudFabric 架构组成
2.1 整体架构
CloudFabric 采用典型的 SDN 三层架构:
| 层级 | 组件 | 职责 |
|---|---|---|
| 管控面 | iMaster NCE-Fabric | 网络自动化编排、策略下发、全局可视化 |
| 转发面 | CloudEngine 交换机 | VXLAN/EVPN 数据转发、硬件加速 |
| 管理层 | Fabric Insight | 流量分析、故障定位、性能监控 |

2.2 硬件平台 — CloudEngine 系列
| 型号系列 | 定位 | 典型规格 | 应用场景 |
|---|---|---|---|
| CE16800 | 核心Spine | 192×400G/800G | 超大规模数据中心 |
| CE16800-800G | 核心Spine | 全800G端口 | 智算中心/AI集群 |
| CE8800 | 核心/汇聚 | 24×100G + 8×400G | 大型数据中心核心 |
| CE6860 | Leaf接入 | 64×25G/100G | 服务器接入层 |
| CE6870 | Leaf接入 | 48×25G + 8×400G | 高密度服务器接入 |
| CE5880 | 分支接入 | 48×10G | 边缘/分支数据中心 |
2.3 控制器 — iMaster NCE-Fabric
| 功能模块 | 说明 |
|---|---|
| Fabric 自动化 | ZTP零接触部署、自动拓扑发现、批量配置下发 |
| BGP-EVPN 编排 | 集中式VXLAN控制面管理、Route-Target自动分配 |
| 业务自动化 | 与云平台API对接、VDC(虚拟数据中心)一键创建 |
| 智能运维 | 数字孪生、Telemetry实时采集、根因分析 |
| 安全域管理 | 与安全组联动、Fabric Security Zone隔离 |
三、核心技术特性
3.1 VDC(虚拟数据中心)
VDC是CloudFabric的核心隔离抽象,一个物理Fabric可以划分多个VDC,每个VDC拥有独立的管理域:
| 隔离维度 | 实现方式 |
|---|---|
| 管理隔离 | 独立的VRF和管理域 |
| 路由隔离 | 独立的BGP-EVPN实例和Route-Target |
| 转发隔离 | 独立的VXLAN VNI空间 |
| 策略隔离 | 独立的ACL和流量策略 |
VDC 创建流程:

3.2 Fabric 自动化部署
CloudFabric 支持从交换机上电到 Fabric 就绪的全自动部署:
- 物理连接检测:交换机上电后自动检测光模块、线缆连接状态
- 角色自动发现:根据端口连接关系自动识别 Spine/Leaf 角色
- 配置自动下发:Controller 自动生成分布式配置并批量下发
- 健康检查:自动验证 BGP-EVPN 邻居、VXLAN 隧道、路由表
- 服务上线通知:部署完成后通知云平台服务就绪
3.3 Fabric Insight 智能运维
Fabric Insight 是 CloudFabric 的智能运维子系统:
| 能力 | 说明 |
|---|---|
| 流量镜像分析 | 端口镜像+硬件流量复制,分析东西向流量 |
| 数字孪生 | 构建网络数字孪生模型,实时映射物理网络状态 |
| 故障根因分析 | 基于拓扑和Telemetry数据自动定位故障根因 |
| 性能基线 | 自动建立性能基线,检测异常偏离 |
| 智能工单 | 自动生成故障工单和处理建议 |
3.4 BFD for BGP-EVPN
为确保VXLAN隧道的高可靠性,CloudFabric支持BFD for BGP-EVPN:
| 特性 | 说明 |
|---|---|
| 检测粒度 | 每BGP EVPN会话独立BFD检测 |
| 检测时延 | 毫秒级(最小3ms×3次) |
| 链路切换 | BFD检测到故障后立即切换,不等待BGP HoldTimer |
| 带宽保护 | 支持per-NIH(per-Nexthop)BFD |
四、实战配置/案例分析
4.1 CloudFabric 基础部署配置
Leaf 交换机关键配置片段:
# ===== CE6860 Leaf 交换机配置 =====
# 1. 系统基本配置
sysname DC1-LEAF-01
snmp-agent community read cipher Huawei@123
snmp-agent target-host trap address udp-domain 10.255.0.100 params securityname public
# 2. VTEP源接口
interface LoopBack 1
description VTEP_Source_IP
ip address 10.255.1.1 255.255.255.255
# 3. NCE-Fabric Controller对接(NETCONF over SSH)
netconf configure max-connections 10
netconf ssh server enable
# 4. iBGP与BGP EVPN
bgp 65001
router-id 10.255.1.1
# 与Spine建立iBGP EVPN邻居
peer 10.255.0.1 as-number 65001
peer 10.255.0.2 as-number 65001
peer 10.255.0.1 evpn enable
peer 10.255.0.2 evpn enable
peer 10.255.0.1 connect-interface LoopBack 1
peer 10.255.0.2 connect-interface LoopBack 1
peer 10.255.0.1 bfd enable
peer 10.255.0.2 bfd enable
# 5. VXLAN VTEP配置
interface Nve 1
source-interface LoopBack 1
vxlan vni 10017 mac-vtep routing
vxlan vni 10017 destination-ipep dynamic
vxlan vni 10017 binding evpn
# 6. IRB接口(VXLAN终结+三层转发)
interface Bridge-Aggregation 1
description To_Server_PortChannel
bridge-ui-element enable
port-link-aggregation Group 1
mode bridge
interface MEth 1.10017
description VDC1_Business_Network
vlan-type dot1q vlan-id 10017
ip address 10.100.17.254 255.255.255.0
arp static 10.100.17.100 00e0-fc01-0001
Spine 交换机关键配置片段:
# ===== CE8800 Spine 交换机配置 =====
sysname DC1-SPINE-01
# VTEP源接口
interface LoopBack 1
description VTEP_Source_IP
ip address 10.255.0.1 255.255.255.255
# BGP EVPN
bgp 65001
router-id 10.255.0.1
# 与Leaf建立iBGP EVPN邻居
peer 10.255.1.1 as-number 65001
peer 10.255.1.2 as-number 65001
peer 10.255.1.1 evpn enable
peer 10.255.1.2 evpn enable
# VXLAN VTEP(Spine做Type3路由转发)
interface Nve 1
source-interface LoopBack 1
vxlan vni 10017 mac-vtep routing
vxlan vni 10017 destination-ipep dynamic
4.2 VDC 创建自动化脚本(NCE-Fabric REST API)
import requests
import json
class CloudFabricVDC:
"""CloudFabric VDC自动化管理"""
def __init__(self, controller_ip, username, password):
self.base_url = f"https://{controller_ip}:8443"
self.session = requests.session()
self.session.auth = (username, password)
self.session.verify = False
def create_vdc(self, vdc_name, vlan_id, vni, subnet, gateway):
"""创建VDC"""
payload = {
"name": vdc_name,
"vlan": {
"vlanId": vlan_id,
"subnetList": [
{
"gatewayIp": gateway,
"subnetMask": "255.255.255.0",
"networkId": subnet
}
]
},
"vni": vni,
"networkType": "overlay"
}
url = f"{self.base_url}/fabric/api/vdc"
response = self.session.post(url, json=payload)
return response.json()
def bind_devices(self, vdc_id, spine_list, leaf_list):
"""绑定Spine/Leaf设备到VDC"""
payload = {
"spineDeviceList": spine_list,
"leafDeviceList": leaf_list
}
url = f"{self.base_url}/fabric/api/vdc/{vdc_id}/devices"
response = self.session.put(url, json=payload)
return response.json()
def deploy_vdc(self, vdc_id):
"""一键部署VDC"""
url = f"{self.base_url}/fabric/api/vdc/{vdc_id}/deploy"
response = self.session.post(url)
return response.json()
# 使用示例
if __name__ == "__main__":
fabric = CloudFabricVDC("10.255.0.100", "admin", "Admin@123")
# 创建VDC
vdc_result = fabric.create_vdc(
vdc_name="VDC_TenantA",
vlan_id=10017,
vni=10017,
subnet="10.100.17.0",
gateway="10.100.17.254"
)
vdc_id = vdc_result["id"]
# 绑定设备
fabric.bind_devices(
vdc_id,
spine_list=["DC1-SPINE-01", "DC1-SPINE-02"],
leaf_list=["DC1-LEAF-01", "DC1-LEAF-02", "DC1-LEAF-03"]
)
# 一键部署
deploy_result = fabric.deploy_vdc(vdc_id)
print(f"VDC部署状态: {deploy_result['status']}")
4.3 故障案例:Fabric中VXLAN隧道不通
现象:新部署的Fabric中,两台Leaf交换机之间VXLAN跨网段通信失败,同Leaf内的虚拟机通信正常。
排查过程:
# 1. 检查VTEP隧道状态
display vxlan vtep session
# 发现Leaf-01上的VTEP session未建立
# Leaf-01 → Leaf-02: State = DOWN
# 原因:BGP EVPN Type5 Intra-AS IGP Sync Route未学习
# 2. 检查BGP EVPN路由
display bgp evpn routing-table
# 发现Type2 MAC/IP AD Route正常
# 但Type5 Intra-AS IGP Sync Route缺失
# 3. 检查BGP邻居
display bgp peer
# BGP邻居Up,EVPN地址族已启用
# 4. 深入排查
display bgp evpn routing-table type 5
# 发现Spine上没有发布Type5路由
# 原因:Spine上未配置igp sync route-policy
# 5. 在Spine上修复
bgp 65001
ipv4-family evpn
peer 10.255.1.1 route-policy IGP_SYNC export
peer 10.255.1.2 route-policy IGP_SYNC export
# 6. 验证修复
display bgp evpn routing-table type 5
# Type5路由正常学习,VXLAN跨Leaf通信恢复
根因:Spine交换机上缺少Type5 Intra-AS IGP Sync Route的发布策略,导致Leaf之间无法学习到对端VTEP的可达性信息,VXLAN隧道建立失败。
解决: 1. 在Spine的BGP EVPN配置中添加Type5路由发布策略 2. 使用NCE-Fabric检查Fabric健康度,提前发现Type5路由缺失 3. 建议在Fabric部署模板中包含完整的Type5路由策略
4.4 故障案例:Leaf交换机BGP-EVPN频繁Flapping
现象:某Leaf交换机与Spine之间的BGP EVPN会话频繁Up/Down,导致VXLAN隧道中断,虚拟机迁移失败。
排查过程:
# 1. 检查BGP会话状态
display bgp peer 10.255.0.1
# 状态频繁变化,Last Reset原因:Hold Timer Expired
# 2. 检查链路质量
display interface 100GE1/0/25
# 接口存在CRC错误计数增长
# Input Errors: 1523, CRC: 891
# 3. 检查光模块
display transceiver interface 100GE1/0/25
# RX功率偏低:-12.5dBm(正常范围-3 ~ -8dBm)
# 4. 检查光模块兼容性
display elabel
# 发现使用的是第三方光模块,与华为CE交换机兼容性存在问题
# 5. 临时缓解:降低BGP HoldTime
bgp 65001
timer keepalive 3 hold 9
# 6. 根本解决
# 更换为华为认证的100GE光模块
# CRC错误清零,BGP会话稳定
根因:第三方光模块兼容性差导致CRC错误,BGP Keepalive报文丢失触发Hold Timer超时,会话反复Flapping。
解决: 1. 更换为华为认证的100GE光模块 2. 在Fabric部署前使用光模块自检工具批量验证光功率 3. 启用BFD for BGP,毫秒级检测替代BGP HoldTimer
五、总结
| 组件 | 核心功能 | 关键技术 |
|---|---|---|
| iMaster NCE-Fabric | 集中式管控 | NETCONF、RESTCONF、BGP EVPN编排 |
| CloudEngine Spine | 高速转发 | VXLAN VTEP、BGP EVPN Type3路由 |
| CloudEngine Leaf | 接入+终结 | VXLAN VTEP、VXLAN终结、IRB网关 |
| Fabric Insight | 智能运维 | 数字孪生、流量分析、根因分析 |
| 优势 | 说明 |
|---|---|
| 自动化部署 | 从上线到就绪分钟级完成,无需手动逐台配置 |
| 弹性扩展 | 支持在线扩容Spine/Leaf,业务零中断 |
| 智能运维 | 数字孪生+Telemetry,故障定位从小时级到分钟级 |
| 多租户隔离 | VDC实现管理、路由、转发、策略四维隔离 |
| 云平台对接 | 原生对接OpenStack/Kubernetes,南北向一体化编排 |
思考
- CloudFabric中Spine和Leaf的角色划分是否固定?如果Leaf和Spine运行相同的BGP-EVPN配置,它们在Fabric中是否对等?
- VDC之间的流量如何互通?如果需要跨VDC通信,在CloudFabric中如何实现?
- NCE-Fabric作为集中式控制器,本身是否存在单点故障风险?华为如何保障控制器的可用性?
下篇预告:第282篇:数据中心网络自动化:Ansible 批量配置