IB网络通过Partition Key实现网络隔离,不同租户的IB网络可通过不同的Partition Key来隔离,类似于以太网的VLAN。那么具体如何来实现呢?以下内容仅供参考,具体环境和设备需要参考官方相关文档。
一、IB网络隔离基本介绍
IB(InfiniBand)网络隔离可以在不同的通信模式下实现,其中包括 IPoIB(IP over InfiniBand)通信模式。
- 在 IPoIB 模式下,InfiniBand 网络可以承载 IP 数据包,使得基于 IP 的应用程序能够在 InfiniBand 网络上进行通信。在这种情况下,IB 网络隔离通常指通过配置 Partition Key(PKey)来实现不同的租户或应用程序之间的网络隔离。然而,IB 网络隔离并不仅限于 IPoIB 模式。在其他通信模式下(如 RDMA 或原生 InfiniBand 模式),同样可以通过配置 PKey 或其他相关的网络隔离机制来实现不同租户之间的隔离。
- 因此,IB 网络隔离的具体实现方式取决于所使用的通信模式和配置环境。无论是在 IPoIB 模式还是其他模式下,通过配置 PKey 或其他相关的机制,都可以实现租户间的网络隔离。
- 裸金属服务器IB网络的发放是通过在创建BMS(Bare Metal Server,BMS即裸金属服务)时选择支持IB网络的规格实现的,即可动态创建IB网络。IB网络发放完成后,即可在裸金属服务器上通过RDMA方式实现高速通信。在IPoIB通信模式下,需要在IB网口上配置IP地址,有静态配置和DHCP动态分配两种方式。
二、不带管理交换机的IB网络隔离方法
对于 Mellanox M8790 IB 交换机(MQM8790-HS2F)而言,由于它不带管理功能,无法直接在交换机上进行配置。但是仍然可以在 IB网络的 Subnet Manager中配置 Partition Key(PKey)来实现租户间的网络隔离。下面是一个示例配置,说明如何在系统中进行配置:
- 首先在IB网络中的一台服务器系统下运行Opensm
我在实验过程中遇到的问题:因为IB交换机是新接的,和服务器接完IB线缆后,IB交换机所有接口指示灯为黄色,IB接口状态为state: initializing physical state: linkup
,我在其中一台服务器上带参数启动了opensm,绑定了GUID,IB交换机的所有接口状态变为绿色正常。目前的实验也是基于这台Subnet Manager(子网管理控制节点):
root@node26:~# opensm -B -g 0x946dae03009cc6b8
★☆★目前应该认为是IB网络中第一台启动了opensm服务的机器为SM
-
1.1 默认参数运行
运行命令:/etc/init.d/opensmd start
,如下:
-
1.2 查看本机和网络是否运行opensm。
- 带参数运行opensm
-
2.1 运行命令:opensm,常见带参数运行如下所示:
-
2.2 其中参数代表的意思
- -g表示绑定到GUID为0x5439df0300d3a867的端口上运行,端口guid可以通过ibstat查询到;
- -B表示opensm运行在后台;
- 其他opensm参数可以通过运行“
opensm –h
”帮助查看。
-
2.3 查看本机和网络是否运行opensm
- 使用 root 或具有管理员权限的用户在Subnet Manager(node26)上执行以下命令,编辑 Partition.conf 文件:
vi /etc/opensm/partition.conf
- 3.1 修改完成后内容如下:
cat /etc/opensm/partitions.conf
#以下是4台测试存储和4台A800互联的IB口GUID,我放在了一个indx里面
Storage=0x8020,indx0,ipoib,defmember=full:0x946da