iwarpベースのlustreパフォーマンステスト
39914 ワード
, 、 、 。 , Chelsio 。
テスト内容
テスト環境
直接上図:環境の導入
OFEDのインストール
MellonaxとChelsioのNICドライバパッケージにはofedドライバが含まれていますが、2枚のNICを1台のマシンに置いてiwarp機能を使用してロードすると、ofedドライバは互換性がありません.ここでmellonaxメーカーはドライバパッケージのofedを修正し、iwarpのサポートを去勢した可能性があります.最初のステップはオープンソースofedをインストールすることです
[root@hpc-242-243 ~]# cd OFED-3.18-1
[root@hpc-242-243 OFED-3.18-1]# ls
BUILD_ID docs install.pl LICENSE ofed.conf.save README.txt RPMS SOURCES SPECS SRPMS uninstall.sh
[root@hpc-242-243 OFED-3.18-1]# ./install.pl
実行するplスクリプトは、ヒントに従ってインストールすればいいです.インストール中にエラーが発生する可能性があります.一部の依存ソフトウェアは手動でインストールする必要があります.
[root@hpc-242-243 ~]#yum install openldap-devel apr-util-devel mod_ssl byacc.x86_64 libtool kernel-devel redhat-rpm-config rpm-build
私の環境に欠けているのはこれらのコンポーネントです.
Chelsio NICドライバのインストール
[root@hpc-242-244 ~]# cd ChelsioUwire-2.12.0.2
[root@hpc-242-244 ChelsioUwire-2.12.0.2]# ls
build dialog.py docs install.log libs Makefile rpmbuild sample_machinefile specs support Uboot debrules dialog.pyc EULA install.py lustre OFED RPM-Manager scripts src tools uninstall.log [root@hpc-242-244 ChelsioUwire-2.12.0.2]# ./install.py -c nic ------------------------------- Chelsio Unified Installer v2.0 ------------------------------- Error : The kernel version 2.6.32-504.3.3.el6_lustre.es131.x86_64 is not supported. Refer to README for supported kernel versions. To compile drivers for an updated kernel, press (Y). To exit, press (N).
Input(Y/N):y ----------------------------------------------------------------------------
| Choice | Kernel Version | Distro |
| Press 1 | 2.6.32-279.el6 | Red Hat Enterprise Linux Server release 6.3 |
| Press 2 | 2.6.32-358.el6 | Red Hat Enterprise Linux Server release 6.4 |
| Press 3 | 2.6.32-431.el6 | Red Hat Enterprise Linux Server release 6.5 |
| Press 4 | 2.6.32-504.el6 | Red Hat Enterprise Linux Server release 6.6 |
| Press 5 | 3.10.0-123.el7 | Red Hat Enterprise Linux Server release 7 |
| Press 6 | 3.10.0-229.el7 | Red Hat Enterprise Linux Server release 7.1 |
| Press 7 | 3.10.0-327.el7 | Red Hat Enterprise Linux Server release 7.2 |
| Press 8 | 2.6.32.12-0.7 | SUSE Linux Enterprise Server 11 SP1 |
| Press 9 | 3.0.13-0.27 | SUSE Linux Enterprise Server 11 SP2 |
| Press 10 | 3.0.76-0.11 | SUSE Linux Enterprise Server 11 SP3 |
| Press 11 | 3.0.101-63 | SUSE Linux Enterprise Server 11 SP4 |
| Press 12 | 3.12.28-4 | SUSE Linux Enterprise Server 12 |
| Press 13 | 3.12.49-11 | SUSE Linux Enterprise Server 12 SP1 |
| Press 14 | 3.13.0-32 | Ubuntu 14.04.1 LTS |
| Press 15 | 3.16.0-30 | Ubuntu 14.04.2 LTS |
| Press 16 | 3.19.0-25 | Ubuntu 14.04.3 LTS |
| Press 17 | 3.4 | Linux kernel Release |
| Press 18 | 3.6 | Linux kernel Release |
| Press 19 | 3.7 | Linux kernel Release |
| Press 20 | 3.8 | Linux kernel Release |
| Press 21 | 3.9 | Linux kernel Release |
| Press 22 | 3.10 | Linux kernel Release |
| Press 23 | 3.11 | Linux kernel Release |
| Press 24 | 3.12 | Linux kernel Release |
| Press 25 | 3.13 | Linux kernel Release |
| Press 26 | 3.14 | Linux kernel Release |
| Press 27 | 3.15 | Linux kernel Release |
| Press 28 | 3.16 | Linux kernel Release |
| Press 29 | 3.17 | Linux kernel Release |
| Press 30 | 3.18 | Linux kernel Release |
| Press 31 | 4.1 | Linux kernel Release |
| Press 32 | exit | | ----------------------------------------------------------------------------
Input:4 -------------------------------
Chelsio Unified Installer v2.0 -------------------------------
-------------------------------------------------------------------------------------------- | Choice | T4/T5 Configuration | Supported Protocols/Drivers | --------------------------------------------------------------------------------------------
| Press 1 | Unified Wire | all the Chelsio drivers | --------------------------------------------------------------------------------------------
| Press 2 | Low Latency Networks | NIC;TOE;RDMA;WD | --------------------------------------------------------------------------------------------
| Press 3 | High Capacity RDMA | NIC;TOE;RDMA | --------------------------------------------------------------------------------------------
| Press 4 | RDMA Performance | NIC;TOE;RDMA | --------------------------------------------------------------------------------------------
| Press 5 | High Capacity TOE | NIC;TOE | --------------------------------------------------------------------------------------------
| Press 6 | iSCSI Performance | NIC;TOE;iSCSI | --------------------------------------------------------------------------------------------
| Press 7 | UDP Segmentation Offload & Pacing | UDP segmenation offload capable NIC;TOE | --------------------------------------------------------------------------------------------
| Press 8 | T5 Wire Direct Latency | NIC;TOE;RDMA;WD | --------------------------------------------------------------------------------------------
| Press 9 | T5 High Capacity WD | NIC;RDMA;WD | --------------------------------------------------------------------------------------------
| Press 10 | T5 Hash Filter Configuration | NIC | --------------------------------------------------------------------------------------------
| Press 11 | EXIT | | --------------------------------------------------------------------------------------------
Input:1
------------------------------- Chelsio Unified Installer v2.0 -------------------------------
---------------------------------------------------------------------- | Choice | OFED Configuration | Details | ----------------------------------------------------------------------
| Press 1 | Install OFED | Compiles and Installs OFED 3.18-1 | ----------------------------------------------------------------------
| Press 2 | Skip OFED | Skips Ofed install | ----------------------------------------------------------------------
| Press 3 | EXIT | | ----------------------------------------------------------------------
Input:2 -------------------------------
Chelsio Unified Installer v2.0 -------------------------------
*****************
Installer Summary
*****************
Targets provided : nic tools
Checking Build : Done
Checking Targets : Done
Checking Tunnables : Done
Checking Dependencies : Done
Building and Installing :
普通なら、これで終わりです.しかし、インストール中にエラーが発生する可能性がありますが、ログには記録があります.ログに基づいて1つずつ解決すればいいです.さっきはNICのドライバをインストールしただけで、iwarp関連パッケージはまだインストールされていません.もう一度実行する必要があります./install.py -c iwarp.インストール方法は上と同じです.インストールが完了したら、システムを再起動し、関連モジュールをロードします.
[root@hpc-242-243 ~]# modprobe cxgb4
[root@hpc-242-243 ~]# modprobe iw_cxgb4
[root@hpc-242-243 ~]# ibv_devices
device node GUID
------ ----------------
cxgb4_0 0007432dd4700000
mlx4_0 14dda9d424c80000
[root@hpc-242-243 ~]# ibv_devinfo
hca_id: cxgb4_0
transport: iWARP (1)
fw_ver: 0.271.7168
node_guid: 0007:432d:d470:0000
sys_image_guid: 0007:432d:d470:0000
vendor_id: 0x1425
vendor_part_id: 21520
hw_ver: 0x0
board_id: 1425.5410
phys_port_cnt: 2
port: 1
state: PORT_DOWN (1)
max_mtu: 4096 (5)
active_mtu: 1024 (3)
sm_lid: 0
port_lid: 0
port_lmc: 0x00
link_layer: Ethernet
port: 2
state: PORT_ACTIVE (4)
max_mtu: 4096 (5)
active_mtu: 1024 (3)
sm_lid: 0
port_lid: 0
port_lmc: 0x00
link_layer: Ethernet
hca_id: mlx4_0
transport: InfiniBand (0)
fw_ver: 2.32.5100
node_guid: 14dd:a9d4:24c8:0000
sys_image_guid: 14dd:a9d4:24c8:0003
vendor_id: 0x02c9
vendor_part_id: 4099
hw_ver: 0x0
board_id: AS_CX3_FDR
phys_port_cnt: 1
port: 1
state: PORT_ACTIVE (4)
max_mtu: 4096 (5)
active_mtu: 4096 (5)
sm_lid: 1
port_lid: 1
port_lmc: 0x00
link_layer: InfiniBand
cxgb 4はイーサネットモジュール、iw_cxgb 4はiwarpを有効にし、iw_のみcxgb 4モジュールのロードに成功したiwarp機能は正常で、iwarpがibv_を通過できるかどうかを判断します.デバイスまたはibv_devinfoコマンドは、ibデバイスがリストされていることを確認します.ここにはシングルポートのMellonax FDRとデュアルポートChelsioネットワークカードがあります.
Lustreインストール
上記の構成が完了してから、lustreインストールの基本環境が備えられます.ここではlustreソースパッケージインストールを使用しており、rpmパッケージをコンパイルしてからインストールできます.
lustreにパッチを適用ここでchelsioはlustreを提供します.kernel.patch.公式文書では、このパッチを適用してから正常に動作すると記載されています.lustre_kernel.pathはlustre-2.5.41-ddn 3-23 bc 966/lustre/kernel_にコピーpatches/patchesディレクトリの下で、lustre-2.5.41-ddn 3-23 bc 966/lustre/kernel_patches/seriesディレクトリの下でプロファイルを変更する
[root@hpc-242-243 series]# vim 2.6-rhel6.6.series
lustre_version.patch
mpt-fusion-max-sge-rhel6.patch
raid5-mmp-unplug-dev-rhel6.patch
dev_read_only-2.6.32-rhel6.patch
blkdev_tunables-2.6-rhel6.patch
export-2.6.32-vanilla.patch
jbd2-jcberr-2.6-rhel6.patch
bh_lru_size_increase.patch
quota-replace-dqptr-sem.patch
quota-avoid-dqget-calls.patch
jbd2-log_wait_for_space-2.6-rhel6.patch
module-load-deadlock-rhel6.patch
dss-2.6.32-lustre-rhel6.6.patch
lustre_kernel.patch
最後に1行lustre_を追加kernel.patch.
コンパイル
[root@hpc-242-243 lustre-2.5.41-ddn3-23bc966]#./configure --with-linux=/usr/src/kernels/2.6.32-504.el6.x86_64 --with-o2ib=/usr/src/compat-rdma
[root@hpc-242-243 lustre-2.5.41-ddn3-23bc966]# make -j20
[root@hpc-242-243 lustre-2.5.41-ddn3-23bc966]# make rpms
完了すると/rootディレクトリの下で関連rpmインストールパッケージが生成されます.
[root@hpc-242-243 x86_64]# ls
lustre-2.5.41-ddn3_2.6.32_504.3.3.el6_lustre.es131.x86_64_g23bc966.x86_64.rpm
lustre-debuginfo-2.5.41-ddn3_2.6.32_504.3.3.el6_lustre.es131.x86_64_g23bc966.x86_64.rpm
lustre-iokit-2.5.41-ddn3_2.6.32_504.3.3.el6_lustre.es131.x86_64_g23bc966.x86_64.rpm
lustre-modules-2.5.41-ddn3_2.6.32_504.3.3.el6_lustre.es131.x86_64_g23bc966.x86_64.rpm
lustre-osd-ldiskfs-2.5.41-ddn3_2.6.32_504.3.3.el6_lustre.es131.x86_64_g23bc966.x86_64.rpm
lustre-osd-ldiskfs-mount-2.5.41-ddn3_2.6.32_504.3.3.el6_lustre.es131.x86_64_g23bc966.x86_64.rpm
lustre-source-2.5.41-ddn3_2.6.32_504.3.3.el6_lustre.es131.x86_64_g23bc966.x86_64.rpm
lustre-tests-2.5.41-ddn3_2.6.32_504.3.3.el6_lustre.es131.x86_64_g23bc966.x86_64.rpm
[root@hpc-242-243 x86_64]# pwd
/root/rpmbuild/RPMS/x86_64
これらのrpmを2つのserverノードにすべてインストールします.修正confファイルは、tcpを使うかiwarpネットワークを使うか、ここでの書き方が重要です.ここではiwarpを使う方法です.
[root@hpc-242-243 x86_64]# cat /etc/modprobe.d/lustre.conf
options lnet networks=o2ib0(eth3),tcp0(eth3)
tcpの場合、比較的簡単です.
[root@hpc-242-243 x86_64]# cat /etc/modprobe.d/lustre.conf
options lnet networks=tcp(eth3)
プロファイルを別のIOノードに同期し、lnetとlustreモジュールをロードします.
[root@hpc-242-243 x86_64]# modprobe lnet
[root@hpc-242-243 x86_64]# modprobe lustre
ロードに成功したら、ディスクのフォーマットを開始し、lustreファイルシステムを作成します.
mkfs.lustre --mgs --mdt --fsname=lustre --mkfsoptions="-m 1 -J size=4096" --reformat --verbose /dev/mapper/360001ff0a003f000000000308a35000f ## mdt
ostのフォーマット
mkfs.lustre --ost --index=0 --fsname=lustre --mgsnode=192.168.1.243@o2ib0 --mkfsoptions="-m 1 -i 131072" --reformat --writeconf --verbose /dev/mapper/360001ff0a003f000000000278a2c0006
mkfs.lustre --ost --index=1 --fsname=lustre --mgsnode=192.168.1.243@o2ib0 --mkfsoptions="-m 1 -i 131072" --reformat --writeconf --verbose /dev/mapper/360001ff0a003f000000000298a2e0008
mkfs.lustre --ost --index=2 --fsname=lustre --mgsnode=192.168.1.243@o2ib0 --mkfsoptions="-m 1 -i 131072" --reformat --writeconf --verbose /dev/mapper/360001ff0a003f000000000288a2d0007
mkfs.lustre --ost --index=3 --fsname=lustre --mgsnode=192.168.1.243@o2ib0 --mkfsoptions="-m 1 -i 131072" --reformat --writeconf --verbose /dev/mapper/360001ff0a003f0000000002a8a2f0009
mkfs.lustre --ost --index=4 --fsname=lustre --mgsnode=192.168.1.243@o2ib0 --mkfsoptions="-m 1 -i 131072" --reformat --writeconf --verbose /dev/mapper/360001ff0a003f0000000002b8a30000a
mkfs.lustre --ost --index=5 --fsname=lustre --mgsnode=192.168.1.243@o2ib0 --mkfsoptions="-m 1 -i 131072" --reformat --writeconf --verbose /dev/mapper/360001ff0a003f000000000318a360010
フォーマット後にマウント
mount -t lustre /dev/mapper/360001ff0a003f000000000308a35000f /lustre/mdt
mount -t lustre /dev/mapper/360001ff0a003f000000000278a2c0006 /lustre/ost00
mount -t lustre /dev/mapper/360001ff0a003f000000000298a2e0008 /lustre/ost01
mount -t lustre /dev/mapper/360001ff0a003f000000000288a2d0007 /lustre/ost02
mount -t lustre /dev/mapper/360001ff0a003f000000000318a360010 /lustre/ost03
mount -t lustre /dev/mapper/360001ff0a003f0000000002a8a2f0009 /lustre/ost04
mount -t lustre /dev/mapper/360001ff0a003f0000000002b8a30000a /lustre/ost05
クライアントのインストール
クライアントのインストールは基本的にserverと同じで、ofed、NICドライバをインストールし、cxgb 4とiw_をロードする必要があります.cxgb 4は、これらが正しく完了してからlustreインストールを行うことができます.まずlustreクライアントインストールパッケージをコンパイルしてkernelパッチパッケージを前述のように追加した後にコンパイルしてrpmファイルを生成する
[root@hpc-242-243 lustre-2.5.41-ddn3-23bc966]#./configure --with-linux=/usr/src/kernels/2.6.32-504.el6.x86_64 --with-o2ib=/usr/src/compat-rdma --disable-server
[root@hpc-242-243 lustre-2.5.41-ddn3-23bc966]# make -j20
[root@hpc-242-243 lustre-2.5.41-ddn3-23bc966]# make rpms
完了したら/rootディレクトリで関連rpmインストールパッケージが生成されます
[root@hpc-242-242 x86_64]# ls
lustre-client-2.5.41-ddn3_2.6.32_504.el6.x86_64_g23bc966.x86_64.rpm
lustre-client-modules-2.5.41-ddn3_2.6.32_504.el6.x86_64_g23bc966.x86_64.rpm
lustre-client-source-2.5.41-ddn3_2.6.32_504.el6.x86_64_g23bc966.x86_64.rpm
lustre-client-tests-2.5.41-ddn3_2.6.32_504.el6.x86_64_g23bc966.x86_64.rpm
lustre-iokit-2.5.41-ddn3_2.6.32_504.el6.x86_64_g23bc966.x86_64.rpm
これらのインストールパッケージをすべてインストールし、lustreも変更する必要があります.confファイル、構成はserver上の構成と同じです.
すべてのインストールが完了したら、対応するモジュールをロードします.ここでまとめると、ロードするモジュールは4つあります.
[root@hpc-242-242]#modprobe cxgb4 ##Chelsio
[root@hpc-242-242]#modprobe iw_cxgb4 ## iwarp
[root@hpc-242-242]#modprobe lnet ## lustre
[root@hpc-242-242]#modprobe lustre ## lustre
この4つのモジュールは正常にロードに成功し、iwarpは正常に動作し、彼らの間には一定の依存があり、これらの依存関係を解決してこそ、順調にロードに成功することができる.
マウント
mount -t lustre -o localflock 192.168.1.243@o2ib:/lustre /lustre
テスト
マウントに成功すると、パフォーマンステストが開始されます.ここではiozoneツールを使用しています.私はそれぞれ異なるデータブロックサイズでの順番読み書きパフォーマンスをテストしました.ここではテストスクリプトを直接貼り付けます.具体的な手順は詳しく説明しません.
[root@hpc-242-242 lustre]# cat run.sh
#!/bin/bash
for i in {4,8,16,64,1024}
do
/lustre/iozone/bin/iozone -i 0 -i 1 -r $i\k -s 20g -t 16 -+n -+m list
done
以上はiwarpをロードするテストプロセスで、tcpの下で比較的に簡単で、正常な流れをインストールしてchelsioネットワークカードを駆動してインストールした後にcxgb 4モジュールをロードした後にlustreをインストールすればいいです.ここでは詳しく説明しません.最終テスト結果を以下に示します.