月別アーカイブ: 2014年10月

SSD 8台 RAID0 でベンチマーク

SSD 8台でRAID0のシステムの評価中、ベンチマークしていますがこれは相当速いです。

・ハードウェア
RAIDカード:ARC-1883x 外部12G/s 2ポート
SSD:Samsung MZ-7KE512B x8台
SAS JBOD (12G/sケーブルで接続)

・ベンチマーク環境
CrystalDiskMark 3.0.3 x64で4000MBを5回
Windows Server 2008 R2 SP1

———————————————————————–
RAID0 StripeSize 64KB

Sequential Read : 3107.352 MB/s
Sequential Write : 3748.819 MB/s
Random Read 512KB : 1610.638 MB/s
Random Write 512KB : 3402.341 MB/s
Random Read 4KB (QD=1) : 36.670 MB/s [ 8952.5 IOPS]
Random Write 4KB (QD=1) : 171.722 MB/s [ 41924.4 IOPS]
Random Read 4KB (QD=32) : 292.501 MB/s [ 71411.4 IOPS]
Random Write 4KB (QD=32) : 258.604 MB/s [ 63135.8 IOPS]
———————————————————————–

InfiniBandによるNFS/RDMAの速度検証

NFS/RDMAは、Infinibandの高速ネットワーク上で、NFSサーバ-NFSクライアント間において、メモリデータの遠隔転送(RDMA = Remote Direct Memory Access)を行う技術です。

InfiniBandアダプタ/スイッチを利用すると、高速ネットワークを構築することが出来ます。
さらに、RDMA (Remote Direct Memory Access) も利用することで、高速ネットワーク上のコンピュータ間でデータのメモリー間転送を行うことが出来ます。RDMAではCPU の介入がほとんどなく、コンピュータ間でメモリデータの遠隔転送が出来るそうです。これらをNFSで利用すると、データ転送速度アップを期待出来ます。

NFS/RDMAを利用する場合/利用しない場合で、どの程度違いがあるのか検証を行いました。

NFS/RDMA動作には、カーネルモジュールが必要で、モジュールsvcrdmaとxprtrdmaは、Kernel 2.6.25以降から共にマージされています。Infinibandドライバをインストールして、必要な設定を行えば、NFS/RDMAを利用できます。今回、OFEDのホットスタック(バージョン3.12-1)を使用しました。

検証環境

  • HCA:Mellanox MHQ19B-XTR (QDR)
  • CPU:Xeon E5-2630V2 1つ搭載
  • マザーボード:Supermicro X9DRi-F
  • OS:CentOS6.4 x86_64
  • Infinibandドライバ:
    OFED-3.12-1
  • NFSサーバのシステムメモリ:64GB(64GBメモリ内1GBをシステムで利用し、残りはtmpfsで使用。tmpfsを/nfsへマウント。)
  • NFSクライアントのシステムメモリ:1GB
  • HCAポートにIPアドレスを設定
    NFSサーバIPアドレス 192.168.1.1
    NFSクライアン IPアドレス 192.168.1.2
  • NFSサーバ-NFSクライアント間は一対一で接続しました。

設定

  1. OFEDをNFSサーバとNFSクライアントへインストール
  2. NFSサーバの設定
  3. # mount -t tmpfs -o size=63g tmpfs /nfs
    # vi /etc/fstab

    /nfs 192.168.1.0/24(rw,sync,no_root_squash,fsid=0,insecure)
  4. NFSサーバ側RDMAモジュールの動作開始
  5. # modprobe svcrdma
    # service nfs start
    # echo rdma 20049 > /proc/fs/nfsd/portlist
  6. NFSクライアント側RDMAモジュールの動作開始とマウント
  7. # modprobe xportrdma
    # mount -o rdma,port=20049 192.168.1.1:/nfs /mnt

テスト方法

  • iozoneを利用し、2GBファイル(システムメモリの2倍サイズファイル)の書き出し/読み出し速度を計測。
  • # iozone -Ac -s 2g -f /mnt/file

    なお、NFSサーバで、/nfsへマウントしたtmpfsに対して、iozoneにより同じファイルサイズで速度を計測するとWrite 3GB/sec程度、Read 6GB/sec程度でした。

結果

レコードサイズ4k〜16MBまでの結果の平均値をグラフ化しました。(標準偏差はNFS/RDMA使用時、未使用時ともにWriteで90くらい、Readで25くらい。)

Writeにはあまり違いがありませんが、Readでは倍以上の差を得られました。
Writeでも、差がもっと出て欲しいのですが、NFS設定ファイルは初期設定のままでしたので、チューニングすることにより、結果が変わるかもしれません。