第2章 rdma サービスの設定
Remote Direct Memory Access (RDMA) プロトコルを使用すると、メインメモリーを使用して、ネットワーク経由で RDMA 対応システム間でデータを転送できます。RDMA プロトコルは、低レイテンシーと高スループットを実現します。サポートされているネットワークプロトコルと通信標準を管理するには、rdma
サービスを設定する必要があります。この設定には、RoCE や iWARP などの高速ネットワークプロトコル、および Soft-RoCE や Soft-iWARP などの通信標準が含まれます。Red Hat Enterprise Linux が、InfiniBand、iWARP、または RoCE デバイスおよびそれらの設定ファイルが /etc/rdma/modules/*
ディレクトリーに存在することを検出すると、udev
デバイスマネージャーが systemd
に rdma
サービスを起動するように指示します。/etc/rdma/modules/rdma.conf
ファイル内のモジュールの設定は、再起動後も保持されます。変更を適用するには、rdma-load-modules@rdma.service
設定サービスを再起動する必要があります。
手順
rdma-core
パッケージをインストールします。# dnf install rdma-core
/etc/rdma/modules/rdma.conf
ファイルを編集し、有効にするモジュールのコメントを解除します。# These modules are loaded by the system if any RDMA devices is installed # iSCSI over RDMA client support ib_iser # iSCSI over RDMA target support ib_isert # SCSI RDMA Protocol target driver ib_srpt # User access to RDMA verbs (supports libibverbs) ib_uverbs # User access to RDMA connection management (supports librdmacm) rdma_ucm # RDS over RDMA support # rds_rdma # NFS over RDMA client support xprtrdma # NFS over RDMA server support svcrdma
サービスを再起動して変更を有効にします。
# systemctl restart <rdma-load-modules@rdma.service>
検証
libibverbs-utils
およびinfiniband-diags
パッケージをインストールします。# dnf install libibverbs-utils infiniband-diags
利用可能な InfiniBand デバイスのリストを表示します。
# ibv_devices device node GUID ------ ---------------- mlx4_0 0002c903003178f0 mlx4_1 f4521403007bcba0
mlx4_1
デバイスの情報を表示します。# ibv_devinfo -d mlx4_1 hca_id: mlx4_1 transport: InfiniBand (0) fw_ver: 2.30.8000 node_guid: f452:1403:007b:cba0 sys_image_guid: f452:1403:007b:cba3 vendor_id: 0x02c9 vendor_part_id: 4099 hw_ver: 0x0 board_id: MT_1090120019 phys_port_cnt: 2 port: 1 state: PORT_ACTIVE (4) max_mtu: 4096 (5) active_mtu: 2048 (4) sm_lid: 2 port_lid: 2 port_lmc: 0x01 link_layer: InfiniBand port: 2 state: PORT_ACTIVE (4) max_mtu: 4096 (5) active_mtu: 4096 (5) sm_lid: 0 port_lid: 0 port_lmc: 0x00 link_layer: Ethernet
mlx4_1
デバイスのステータスを表示します。# ibstat mlx4_1 CA 'mlx4_1' CA type: MT4099 Number of ports: 2 Firmware version: 2.30.8000 Hardware version: 0 Node GUID: 0xf4521403007bcba0 System image GUID: 0xf4521403007bcba3 Port 1: State: Active Physical state: LinkUp Rate: 56 Base lid: 2 LMC: 1 SM lid: 2 Capability mask: 0x0251486a Port GUID: 0xf4521403007bcba1 Link layer: InfiniBand Port 2: State: Active Physical state: LinkUp Rate: 40 Base lid: 0 LMC: 0 SM lid: 0 Capability mask: 0x04010000 Port GUID: 0xf65214fffe7bcba2 Link layer: Ethernet
ibping
ユーティリティーは、パラメーターを設定することで InfiniBand アドレスに ping を実行し、クライアント/サーバーとして動作します。ホスト上の
-C
InfiniBand 認証局 (CA) 名を使用して、ポート番号-P
でサーバーモード-S
を開始します。# ibping -S -C mlx4_1 -P 1
クライアントモードを開始し、ホスト上の
-C
InfiniBand 認証局 (CA) 名と-L
ローカル識別子 (LID) を使用して、ポート番号-P
でいくつかのパケット-c
を送信します。# ibping -c 50 -C mlx4_0 -P 1 -L 2