[RDMA]RDMA初歩使用操作


このセクションはInfiniBandデバイスにのみ適用されます.iWARPとRoCE/IBEデバイスは  IP  のデバイスは、ユーザーがIPoIBを構成し、デバイスが  IP  アドレス後、RDMAテスト操作の一部を実行する内容に従ってテストを行う.
1. InfiniBandデバイス情報
使用可能  rdma  サービスと opensm サービス(必要に応じて)は、特定のハードウェアに適切なユーザ空間ライブラリをインストールした後、ユーザ空間を行うことができます.  rdma  を選択します.
service opensmd start

libibverbs-utils ソフトウェアパッケージの簡単なテストプログラムは、RDMAの動作が正常かどうかを判断するのに役立ちます.ibv_devices プログラムはシステム内の現在のすべてのデバイスを表示し、  ibv_devinfo  コマンドは、各デバイスの詳細を示します.例:
[root@node24 ~]# ibv_devices 
    device          	   node GUID
    ------          	----------------
    mlx4_0          	46d2c92000004820
[root@node25 ~]# ibv_devices 
    device          	   node GUID
    ------          	----------------
    mlx4_0          	46d2c92000003500

ibstatコマンドを使用して、InfiniBandの詳細を表示します.
[root@node24 ~]# ibstat
CA 'mlx4_0'
	CA type: MT4099
	Number of ports: 1
	Firmware version: 2.30.3000
	Hardware version: 0
	Node GUID: 0x46d2c92000004820
	System image GUID: 0x46d2c92000004823
	Port 1:
		State: Active
		Physical state: LinkUp
		Rate: 56
		Base lid: 72
		LMC: 0
		SM lid: 49
		Capability mask: 0x02514868
		Port GUID: 0x46d2c92000004821
		Link layer: InfiniBand
[root@node24 ~]# 
[root@node25 ~]# ibstat
CA 'mlx4_0'
	CA type: MT4099
	Number of ports: 1
	Firmware version: 2.30.3000
	Hardware version: 0
	Node GUID: 0x46d2c92000003500
	System image GUID: 0x46d2c92000003503
	Port 1:
		State: Active
		Physical state: LinkUp
		Rate: 56
		Base lid: 53
		LMC: 0
		SM lid: 49
		Capability mask: 0x0251486a
		Port GUID: 0x46d2c92000003501
		Link layer: InfiniBand
ibv_devinfo  および  ibstat  コマンド出力情報は少し異なります(例えばポートMTU情報は  ibv_devinfo  ではなく  ibstat  出力に表示され、ポートPUID情報は  ibstat  ではなく  ibv_devinfo  出力に表示されます.また、ibstatなどの情報の命名方法も異なります. 出力のベースローカル識別子(LID)と  ibv_devinfo  出力中の  port_lid  同じ情報です.
2.ibpingプログラムはクライアント/サーバーモードを実現する
簡単なpingプログラム、例えば infiniband-diags パッケージ内の ibping RDMA接続性をテストします.ibping プログラムはクライアント/サーバモードを採用しています.まず1台のマシンで起動する必要があります. ibping サーバー、そしてもう1台のマシンで ibping クライアントとして実行し、 ibping サーバ接続.基本的なRDMA機能をテストするため、使用するのではなく、RDMA用のアドレス解析方法が必要です.  IP  アドレス指定サーバー.
サーバマシンでは、ユーザーが使用できます.  ibv_devinfo  および  ibstat  コマンド出力  port_lid(またはベースlid)およびテストするポートのポートGUID(上記インタフェースのポート1と仮定すると、  port_lid/ LID  49ですが、ポートGUIDは  0x46d2c92000004821)を選択し、必要なオプションを使用して起動します. ibping テストするNICとポートにバンドルするとともに、 ibping サーバー・モードで実行します.  -?  または  --help  オプション ibpingのすべての使用可能なオプションですが、このインスタンスでは使用できます.  -S  または  --Server  オプションを選択し、特定のNICとポートにバインドするときに使用できます.  -C  または  --Ca  および  -P  または  --Port  オプション.注意:このインスタンスのポートでは、ポート番号は示されませんが、マルチポートNICを使用するときに物理ポート番号が示されます.使用するRDMA構造の接続性をテストするには、マルチポートNICの第2ポートなど、 ibping NICのポート49にバンドルされています.このオプションは、単一のポートNICを使用する場合には必要ありません.次に例を示します.
[root@node25 ~]#  ibping -S -C mlx4_0 -P 1

クライアントマシンに切り替えて実行 ibping.記録 ibping プログラムがバインドするポートのポートGUIDまたは ibpingプログラムにバインドされたサーバポートの ローカル識別子(LID)また、クライアント機器において、サーバがバンドルされたNICとポートのネットワークに接続しているのと同じNICとポートを記録する必要があります.たとえば、サーバにおける第1のNICの第2のポートがバンドルされているネットワークがサブRDMA構造である場合、クライアントにも第2の構造に接続されているNICとポートを指定する必要があります.構成が完了したら、クライアントとして実行してください ibping プログラムは、サーバに見つかったポートLIDまたはGUIDをアドレスとしてサーバに接続します.たとえば、次のようになります.
[root@node24 ~]#  ibping -c 10000 -f -C mlx4_0 -P 1 -L 49
[root@node24 ~]#  ibping -c 10000 -f -C mlx4_0 -P 1 -L 49

---  (Lid 49) ibping statistics ---
10000 packets transmitted, 0 received, 100% packet loss, time 398 ms
rtt min/avg/max = 0.000/0.000/0.000 ms

この結果は、エンドツーエンドRDMA通信がユーザ空間アプリケーションで正常に動作しているかどうかを検証する.