InfiniBand 技术及其在 Linux 系统中的配置简介(2)

来源:developerWorks 中国 作者:孙 靖
  

此时,用 ifconfig 命令已经可以看到待配置的 ib 接口, 例如:



清单 3. Ifconfig 命令输出
	# ifconfig -a 

 ib0       Link encap:InfiniBand  HWaddr 
 80:00:00:2C:FE:80:00:00:00:00:00:00:00:00:00:00:00:00:00:00 
          BROADCAST MULTICAST  MTU:4092  Metric:1 
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0 
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 
          collisions:0 txqueuelen:256 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b) 

 ib1       Link encap:InfiniBand  HWaddr 
 80:00:00:2E:FE:80:00:00:00:00:00:00:00:00:00:00:00:00:00:00 
          BROADCAST MULTICAST  MTU:4092  Metric:1 
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0 
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 
          collisions:0 txqueuelen:256
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
			

但这种使能 openibd 服务的方法只在本次启动中生效,如果用户需要在系统重新启动后仍保持 openibd 使能,则需要使用 chkconfig 命令将其添加到系统服务列表中,如:



清单 4. 使用 chkconfig 添加 openibd 服务
# chkconfig --level 235 openibd on 
 # chkconfig --list|grep openibd 
 openibd         0:off   1:off   2:on    3:on    4:off   5:on    6:off

  • 配置 IPoIB 网络接口

    在 Red Hat Enterprise Linux 5.3 中配置 IPoIB 网络接口的方法与配置以太接口方法类似,即 /etc/sysconfig/network-scripts 路径下创建相应的 IB 接口配置文件,如 ifcfg-ib0, ifcfg-ib1 等。这里我们给出一个对接口 ib0 做简单 IPoIB 配置的例子以供参考。



    清单 5. 接口配置文件示例
     
    # cat /etc/sysconfig/network-scripts/ifcfg-ib0 
     DEVICE=ib0 
     BOOTPROTO='static' 
     IPADDR=10.0.0.5 
     NETMASK=255.255.255.0 
     BROADCAST=10.0.0.255 
     NETWORK=10.0.0.0
     TARTMODE='onboot'
    			

    IB 接口配置文件创建完成后,需要重新启动接口设备以使新配置生效,这时可以使用 ifconfig 命令检查接口配置是否已经生效,具体操作如下。



    清单 6. 重启接口设备示例
    [root@p6ihn05 network-scripts]# ifdown ib0 
     [root@p6ihn05 network-scripts]# ifup ib0 
     [root@p6ihn05 network-scripts]# ifconfig ib0 
     ib0       Link encap:InfiniBand  HWaddr 
     80:00:00:2C:FE:80:00:00:00:00:00:00:00:00:00:00:00:00:00:00 
              inet addr:10.0.0.5  Bcast:10.0.0.255  Mask:255.255.255.0 
              inet6 addr: fe80::202:5500:1022:4a00/64 Scope:Link 
              UP BROADCAST RUNNING MULTICAST  MTU:4092  Metric:1 
              RX packets:24 errors:0 dropped:0 overruns:0 frame:0 
              TX packets:63 errors:0 dropped:15 overruns:0 carrier:0 
              collisions:0 txqueuelen:256 
              RX bytes:8252 (8.0 KiB)  TX bytes:16956 (16.5 KiB)

    至此,IB 接口配置工作基本完成。如果需要进一步验证其工作是否正常,可以参考以上步骤配置另外一台节点,并在两个节点之间运行 ping 命令。如果 ping 成功,则说明 IPoIB 配置成功。

  • InfiniBand 在 SuSE 中的配置

    在 SuSE 产品中,虽然 SLES10 SP2 发布之初并没有提供对 InfiniBand 的正式支持,但随后发行的 SLES10 SP2 Update1 版本里却包含了 InfiniBand 的全部驱动集合,这一支持更在 SLES11 里得到了完善和发展,其发布 CD 已包含了 InfiniBand 相关的 OFED 驱动和管理工具。所以对于有 InfiniBand 应用需求的 SuSE 用户,我们推荐其采用 SLES11 及其以后的系统版本。

    • 安装 InfiniBand 驱动程序

      在安装 InfiniBand 驱动程序之前,请确认 InfiniBand 网卡已经被正确地连接或分配到主机。然后,从 SLES11 的发布 CD/DVD 中获得 Table3 中给出的 rpm 文件,并根据上层应用程序的需要选择安装相应的软件包。

      表 3. SLES11 中 InfiniBand 库文件列表



      Platforms Driver/Library
      SLES11 ofed-*.ppc64.rpm
      ofed-kmp-default-*.ppc64.rpm
      ofed-kmp-ppc64-*.ppc64.rpm
      opensm-*.ppc64.rpm
      libcxgb3-rdmav2-*.ppc64.rpm
      libehca-rdmav2-*.ppc64.rpm
      libibcm-*.ppc64.rpm
      libibcommon1-*.ppc64.rpm
      libibmad-*.ppc64.rpm
      libibumad-*.ppc64.rpm
      libibverbs-*.ppc64.rpm
      libipathverbs-*.ppc64.rpm
      libmlx4-rdmav2-*.ppc64.rpm
      libmthca-rdmav2-*.ppc64.rpm
      librdmacm-*.ppc64.rpm
      libsdp-*.ppc64.rpm
      mpi-selector-*.ppc64.rpm
      mstflint-*.ppc64.rpm
      libibverbs-devel-*.ppc64.rpm
      (Note: libibverbs-devel-*.ppc64.rpm is in SLES 11 SDK ISO)



      虽然 SLES11 对 InfiniBand 提供了更好的支持,但仍有部分用户的应用是建立在 SLES10 SP2 系统之中的。所以,在这里我们也给出了 SLES10 SP2 系统中需要加载的 InifiniBand 库和驱动包,详见表 4 。

      表 4. SLES10SP2 中 InfiniBand 库文件列表



      Platforms Driver/Library
      SLES10SP2 libcxgb3-64bit-*.ppc.rpm
      libcxgb3-devel-*.ppc.rpm
      libcxgb3-devel-64bit-*.ppc.rpm
      libehca-*.ppc.rpm
      libehca-64bit-*.ppc.rpm
      libehca-devel-*.ppc.rpm
      libehca-devel-64bit-*.ppc.rpm
      libibcm-*.ppc.rpm
      libibcm-64bit-*.ppc.rpm
      libibcm-devel-*.ppc.rpm
      libibcm-devel-64bit-*.ppc.rpm
      libibcommon-*.ppc.rpm
      libibcommon-64bit-*.ppc.rpm
      libibcommon-devel-*.ppc.rpm
      libibcommon-devel-64bit-*.ppc.rpm
      libibmad-*.ppc.rpm
      libibmad-64bit-*.ppc.rpm
      libibmad-devel-*.ppc.rpm
      libibmad-devel-64bit-*.ppc.rpm
      libibumad-*.ppc.rpm
      libibumad-64bit-*.ppc.rpm
      libibumad-devel-*.ppc.rpm
      libibumad-devel-64bit-*.ppc.rpm
      libibverbs-*.ppc.rpm
      libibverbs-64bit-*.ppc.rpm
      libibverbs-devel-*.ppc.rpm
      libibverbs-devel-64bit-*.ppc.rpm
      libipathverbs-*.ppc.rpm
      libipathverbs-64bit-*.ppc.rpm
      libipathverbs-devel-*.ppc.rpm
      libipathverbs-devel-64bit-*.ppc.rpm
      libmlx4-*.ppc.rpm
      libmlx4-64bit-*.ppc.rpm
      libmlx4-devel-*.ppc.rpm
      libmlx4-devel-64bit-*.ppc.rpm
      libmthca-*.ppc.rpm
      libmthca-64bit-*.ppc.rpm
      libmthca-devel-*.ppc.rpm
      libmthca-devel-64bit-*.ppc.rpm
      librdmacm-1.0.6-*.ppc.rpm
      librdmacm-64bit-*.ppc.rpm
      librdmacm-devel-*.ppc.rpm
      librdmacm-devel-64bit-*.ppc.rpm
      libsdp-*.ppc.rpm
      libsdp-64bit-*.ppc.rpm
      libsdp-devel-*.ppc.rpm
      libsdp-devel-64bit-*.ppc.rpm
      mpi-selector-*.ppc.rpm
      mstflint-*.ppc.rpm
      mvapich2-*.ppc.rpm
      mvapich2-64bit-*.ppc.rpm
      mvapich2-devel-*.ppc.rpm
      mvapich2-devel-64bit-*.ppc.rpm
      ofed-1.3-*.ppc.rpm
      ofed-cxgb3-NIC-kmp-ppc64-*.ppc.rpm
      ofed-doc-*.ppc.rpm
      ofed-kmp-ppc64-*.ppc.rpm
      open-iscsi-*.ppc.rpm
      opensm-*.ppc.rpm
      opensm-64bit-*.ppc.rpm
      opensm-devel-*.ppc.rpm
      opensm-devel-64bit-*.ppc.rpm
      perftest-*.ppc.rpm
      qlvnictools-*.ppc.rpm
      rds-tools-*.ppc.rpm
      release-notes-as-*.ppc.rpm
      ruby-*.ppc.rpm
      sdpnetstat-*.ppc.rpm
      srptools-*.ppc.rpm
      tvflash-*.ppc.rpm



    • 启动 openibd 服务及配置 IPoIB 网络接口

      在 SLES11 系统中,启动 openibd 服务以及配置 IPoIB 网络接口的方法与 RedHat 基本类似,唯一不同的是接口配置文件的位置。在 SLES11 中,接口配置文件位于 /etc/sysconfig/network 目录下,下面是一个简单配置的例子仅供读者参考。



      清单 7. 接口配置文件示例
      # cat /etc/sysconfig/network/ifcfg-ib0 
       DEVICE=ib0 
       BOOTPROTO='static' 
       IPADDR=20.0.0.5 
       NETMASK=255.255.255.0 
       BROADCAST=20.0.0.255 
       NETWORK=20.0.0.0
       STARTMODE='onboot'
      			

      其它配置步骤与 RedHat 完全相同,这里不再复述。



    时间:2009-09-03 17:34 来源:developerWorks 中国 作者:孙 靖 原文链接

    好文,顶一下
    (1)
    50%
    文章真差,踩一下
    (1)
    50%
    ------分隔线----------------------------


    把开源带在你的身边-精美linux小纪念品
    无觅相关文章插件,快速提升流量