作者:SmartX 工程师 刘慧敏

SMTX OS 超融合平台通过软件定义的技术和 x86 服务器实现了分布式块存储、虚拟化计算、数据保护、 网络管理等 IT 基础服务,让企业 IT 数据中心的构建和“搭积木”一样简单。

SMTX OS 内置了 SmartX 设计研发的基于 KVM 的虚拟机服务(内部项目代号 Elf),同时也支持主流虚拟化计算平台: XenServer 和 vSphere。本文中,为方便叙述和理解,会使用 Elf 来指代基于 KVM 的虚拟机服务的计算平台。

众所周知,分布式块存储是超融合基础架构最重要的组成部分,而网络部分又是存储系统中十分重要的一部分。在安装部署集群前,需要做好集群的网络规划。作为一个实施工程师或者售前工程师,良好的网络规划有助于集群的扩容、减少运维的工作量。

本期 SmartX 产品售后小窍门介绍 Elf 平台下的 SMTX OS 网络规划的最佳实践。

2 相关概念

SMTX ZBS,是 SmartX 超融合中自主研发的高性能、高可靠的分布式块存储服务。为方便叙述和理解,下文中可能根据语境交替使用 “ZBS” 或“块存储服务”来指代这套系统。

SMTX OS 支持的主流虚拟化计算平台包括 Elf、VMware 和 XenServer,不同的虚拟化计算平台有着不一样的网络规划要求,本次要介绍的是 Elf 平台的网络规划。

Elf 平台的网络规划分为3部分:1. 管理网络,2.业务网络,3. 存储网络

3 网络规划的作用

以下内容用于介绍 Elf 平台的网络规划的特点及作用,方便大家了解 SMTX OS 的网络规划情况。

1.管理网络

作用:用于虚拟机服务主机和存储控制器的管理网络,管理平台支持通过 Web Console 界面登录虚拟机的终端界面,使用 vnc 协议。也可以和业务网络共用。

要求:

  • 管理网络之间可以相互 ping 通;
  • 管理网络和存储网络不在同一个网段;
  • 如果管理网络中间经过防火墙的,建议对该管理 IP 开放所有端口或者是 5900 以上的端口;
  • 可使用 1GbE 或者 10GbE 交换网络;

2.业务网络

作用:业务网络也称为虚拟机网络,虚拟机所有业务流量都通过该网络进行通讯,其重要性非常高,直接影响业务正常运行。建议独立部署,在上联网口不足的情况下,也可和管理网络共用上联网口,但建议进行 VLAN 隔离。

3. 存储网络

作用: 用于 ZBS 分布式存储集群内部数据交换使用,即集群中各节点之间的通信网络。

要求:

  • 存储网络必须使用 10GbE 交换网络;
  • 存储网络之间可以相互 ping 通;
  • 管理网络和存储网络不在同一个网段;
  • 网口绑定模式建议为 active-backup 模式或者 balance-slb 模式;
  • 存储网络建议使用专用的2个堆叠万兆交换机且不接上联交换机;
  • 集群部署完成后,IP地址和网口绑定模式不允许更改。

4.存储网络的链路高可用方案

从上面的网络规划的作用来看,需要对存储网络的交换机和链路都做高可用,以下是推荐使用的交换机和链路冗余规划方案:

全冗余链路(最佳方案)

服务器分别至少有 4 条链路,分别连到两台交换机的不同端口。服务器节点连接任意一台交换机都有 2 条链路作为冗余保障,防止交换机端口故障或者是链路故障导致交换机无法连接;而连接到不同交换机,可以保障任意一个交换机出现故障都可以自动切换到另外一个交换机保障网络的高可用,这种方案可靠性比较高。

pasted_image_0[1].png

半冗余链路(常用方案)

服务器分别至少有 2 条链路,分别连到两台交换机的不同端口。可以保障任意一个交换机出现故障都可以自动切换到另外一个交换机保障网络的高可用,但无法保障因为交换机端口或者链路断开导致的交换机切换情况。但这种方案性价比较高,是比较常用的网络高可用方式。

pasted_image_0.png

5.网络隔离全链路冗余方案

综合考虑到 SMTX OS 的不同的网络规划的作用及特点、存储网络的链路高可用方案。我们提供了以下3种不同的隔离方法及全链路冗余方案,具体如下:

方案1:全网络隔离全链路冗余方案(冗余性和隔离性最佳方案)


pasted_image_0[2].png

特点:
该方案采用管理网,业务网,存储网物理隔离和全链路冗余设计,不但保证单独某组网络发生变更或者故障完全不会影响其他各组网络,保证高度的独立性,安全性。此方案包括了网卡冗余,链路冗余,交换机冗余,能实现无论是任意一个交换机和任意一个网卡同时发生故障,都不会导致网络中断,对用户也是透明的,是可靠性非常高的设计。

这个方案优势是可靠性及安全性非常好,但缺点是成本比较高。

方案2:存储网络隔离链路冗余方案(常用方案)


pasted-image-0[5].png

特点:
该方案推荐使用单卡双口的万兆网卡,存储网络和业务网络分别需要两个万兆网口,各自取两个单卡双口网卡上的一个网口,将其接入到对应的交换机上,它使存储网络和业务网络进行物理隔离,能实现无论是任意一个交换机,或者任意一个网卡,或者任意一条链路发生故障,都不会导致网络中断。
另外需要单独使用一个千兆单口网卡用于管理网络,需要接入到对应的管理交换机。如果想要做管理网络的冗余,可以考虑管理和业务共用两个上联网口并通过 VLAN 进行隔离。

这个方案的优势是维持了存储网络的独立性,成本适中。

两种隔离方案网络资源配置对比表格(考虑网络高可用)


terrace-one

6.附录

1.3节点集群的网络规划实例如下:


terrace-two

2. Elf 平台目前支持的链路负载均衡以及故障切换策略

上面提到的全冗余链路和半冗余链路都要配合链路聚合功能(bonding)使用,需要把多条链路做聚合功能绑定使用方法如下:

通过登录 SmartX 平台的 Web Console 管理界面,浏览到【网络】菜单,点击【新建分布式交换机】按钮,勾选需要做链路聚合的网卡名称,并选择负载均衡策略,完成链路聚合设置。

pasted_image_0[4].png

Elf 平台目前支持的链路负载均衡以及故障切换策略共有三种,分别是: active-backup、balance-tcp、balance-slb,推荐 active-backup 和 balance-tcp 模式。

Active-backup

Active-backup 这个模式提供了一个 active/standby 方式的故障转移功能 – 当 active 连接出现问题时,standy NIC 会恢复网络操作。这只需要在物理交换机上存在一个 MAC 地址。这种模式不需要任何特殊的交换机支持或配置,当连接到不同交换机时同样可以正常工作。这个模式不支持负载平衡。

Balance-slb

Balance-slb 是支持负载平衡和故障切换的 bonding 模式,负载平衡操作是基于源 MAC 地址和输出的 VLAN 进行的,并在网络数据特性出现变化时进行定期的再平衡。带有 balance-slb 的绑定允许在不需要远程交换机支持的情况下进行一定形式的负载平衡操作。SLB 会把每个源 MAC 和 VLAN 对分配到一个链接,并通过这个链接从 MAC 和 VLAN 发送所有数据包。这个模式使用一个简单的基于 MAC 地址和 VLAN 号的哈希算法,并在网络数据特性出现变化时进行定期的再平衡。

Balance-tcp

Balance-tcp 是支持负载平衡和故障切换的 bonding 模式,这个模式会在执行负载均衡时考虑第 2 层到第 4 层的数据。例如,目的地的 MAC 地址、IP 地址和 TCP 端口。另外,balance-tcp 需要 LACP 在交换机上配置。推荐的选项是为 LACP 配置 balance-tcp。这个设置会尝试配置 LACP,当 LACP 无法和物理交换机进行通讯时,会切换到 active-backup。