実際のマシンでBeeGFSを構築してみた

構成

BeeGFSは2台で作って、クライアントを1台。それを10G switch CRS305-1G-4S+INで繋げた

No役割ホスト名CPUMEMORYSTORAGE(system)STORAGEOSip addr備考
1Management Server
Metadata Servers
Storage Server
bee1Pentium Gold 54008GB250GB(CT250MX500SSD1)1TB(TOSHIBA MQ01ABD100)
250GB(WD Blue SN500)
CentOS7192.168.1.1(10g)
2Storage Serverbee2192.168.1.2(10g)
3クライアントeCore i7-477116GB512GB(TOSHIBA THNSNH512GCST)192.168.1.10(10g)
192.168.0.6
ゲートウエイ

まずストレージとクライアントの速度テスト

iperf3

iperf3にてパケットレベルの速度測定(e --> bee1)
ストレージ側(bee1)をサーバとして建てて、クライアントから測定してみた

[root@e ~]# iperf3 -c 192.168.1.1
Connecting to host 192.168.1.1, port 5201
[  4] local 192.168.1.10 port 40172 connected to 192.168.1.1 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  1.05 GBytes  9.01 Gbits/sec    0    474 KBytes
[  4]   1.00-2.00   sec  1.09 GBytes  9.40 Gbits/sec    0    474 KBytes
[  4]   2.00-3.00   sec  1.09 GBytes  9.39 Gbits/sec    0    474 KBytes
[  4]   3.00-4.00   sec  1.09 GBytes  9.39 Gbits/sec    0    474 KBytes
[  4]   4.00-5.00   sec  1.09 GBytes  9.40 Gbits/sec    0    474 KBytes
[  4]   5.00-6.00   sec  1.09 GBytes  9.40 Gbits/sec    0    477 KBytes
[  4]   6.00-7.00   sec  1.09 GBytes  9.39 Gbits/sec    0    477 KBytes
[  4]   7.00-8.00   sec  1.09 GBytes  9.40 Gbits/sec    0    477 KBytes
[  4]   8.00-9.00   sec  1.09 GBytes  9.39 Gbits/sec    0    477 KBytes
[  4]   9.00-10.00  sec  1.09 GBytes  9.40 Gbits/sec    0    477 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  10.9 GBytes  9.36 Gbits/sec    0             sender
[  4]   0.00-10.00  sec  10.9 GBytes  9.36 Gbits/sec                  receiver
 
iperf Done.
[root@e ~]#

まずまず。ほかにもe-->bee2も同様の数値が得られた。bee1 --> bee2、その逆も然り。

STORAGE単体測定

BeeGFSの構築の前にサーバ単体でどれくらいの速度があるのか確かめてみた
まず、bee1をNFSサーバにして、クライアントeから書き込み、読み込みして速度を計測してみた

  • HDD
    [root@e ~]# dd if=/dev/zero of=/mnt/zero1 bs=1G count=10 conv=fsync
    10+0 レコード入力
    10+0 レコード出力
    10737418240 バイト (11 GB) コピーされました、 106.117 秒、 101 MB/秒
    [root@e ~]#
    [root@e ~]# dd if=/mnt/zero1 of=/dev/zero
    20971520+0 レコード入力
    20971520+0 レコード出力
    10737418240 バイト (11 GB) コピーされました、 165.934 秒、 64.7 MB/秒
    [root@e ~]#
    2011年発売のHDD、5400回転。ddでの計測ですが、こんな感じ

上記はNFS経由での結果です。

BeeGFS ストレージ1台構成

構築はBeeGFS参照

[root@e ~]# beegfs-ctl --listtargets --longnodes --state --spaceinfo
TargetID     Reachability  Consistency        Total         Free    %      ITotal       IFree    %   NodeID
========     ============  ===========        =====         ====    =      ======       =====    =   ======
     101           Online         Good     931.1GiB     931.0GiB 100%      465.8M      465.8M 100%   beegfs-storage bee1 [ID: 10]
[root@e ~]#

と一台のストーレジで組んでいる。
初期値なので 512K で区切るとされている。

[root@e ~]# beegfs-ctl --getentryinfo /mnt/beegfs
EntryID: root
Metadata node: bee1 [ID: 9]
Stripe pattern details:
+ Type: RAID0
+ Chunksize: 512K
+ Number of storage targets: desired: 4
+ Storage Pool: 1 (Default)
[root@e ~]#

っで測定

  • HDD
    [root@e ~]# dd if=/dev/zero of=/mnt/beegfs/zero1 bs=1G count=10 conv=fsync
    10+0 レコード入力
    10+0 レコード出力
    10737418240 バイト (11 GB) コピーされました、 141.666 秒、 75.8 MB/秒
    [root@e ~]#
    [root@e ~]# dd if=/mnt/beegfs/zero1 of=/dev/zero
    20971520+0 レコード入力
    20971520+0 レコード出力
    10737418240 バイト (11 GB) コピーされました、 139.49 秒、 77.0 MB/秒
    [root@e ~]#

BeeGFS ストレージ2台構成

もう一台のBeegfsストレージを追加してみた

[root@e ~]# beegfs-ctl --listtargets --longnodes --state --spaceinfo
TargetID     Reachability  Consistency        Total         Free    %      ITotal       IFree    %   NodeID
========     ============  ===========        =====         ====    =      ======       =====    =   ======
     101           Online         Good     931.1GiB     911.0GiB  98%      465.8M      465.8M 100%   beegfs-storage bee1 [ID: 10]
     201           Online         Good     931.1GiB     931.0GiB 100%      465.8M      465.8M 100%   beegfs-storage bee2 [ID: 20]
[root@e ~]#

これでまたddで測定

  • HDD
    [root@e ~]# dd if=/dev/zero of=/mnt/beegfs/zero3 bs=1G count=10 conv=fsync
    10+0 レコード入力
    10+0 レコード出力
    10737418240 バイト (11 GB) コピーされました、 72.9481 秒、 147 MB/秒
    [root@e ~]#
    [root@e ~]# dd if=/mnt/beegfs/zero3 of=/dev/zero
    20971520+0 レコード入力
    20971520+0 レコード出力
    10737418240 バイト (11 GB) コピーされました、 54.9111 秒、 196 MB/秒
    [root@e ~]#
    実際の配置状態
    [root@e ~]# beegfs-ctl --getentryinfo /mnt/beegfs/zero3
    EntryID: 0-5D7693EF-9
    Metadata node: bee1 [ID: 9]
    Stripe pattern details:
    + Type: RAID0
    + Chunksize: 512K
    + Number of storage targets: desired: 4; actual: 2
    + Storage targets:
      + 101 @ bee1 [ID: 10]
      + 201 @ bee2 [ID: 20]
    [root@e ~]#

まとめ

一応2台にすると2倍ほどに速度があがるみたい。
ただ、これってストレージ2台によるRAID0なので要注意。各ストーレジノードでRAID構成にしてBeeGFSへ拠出すべきかも。
あるいはBeeGFS側でバディ構成ができるので、それを活用するとかでしょうか。

メモ

BeeGFSストレージのCPUはPentium Gold 5400(2019.9時点 7,500円ほど)で行けた(クライアント数に寄るかと思うけど)
システム要件はここに記載されてますhttps://www.beegfs.io/wiki/FAQ#min_reqs

NVMeドライブ

このBeeGFSストレージにはNVMeドライブを持たせている。ddコマンドによるスペックは下記になる。

[root@bee2 ~]# dd if=/dev/zero of=/mnt/zero bs=1G count=10 conv=fsync
10+0 レコード入力
10+0 レコード出力
10737418240 バイト (11 GB) コピーされました、 20.7783 秒、 517 MB/秒
[root@bee2 ~]#
[root@bee2 ~]# dd if=/mnt/zero of=/dev/zero
20971520+0 レコード入力
20971520+0 レコード出力
10737418240 バイト (11 GB) コピーされました、 32.528 秒、 330 MB/秒
[root@bee2 ~]#

517 MB/秒--> 4,136‬Mb/sec. 3台構成なら10Gbitを超える. infinibandを試すなら3台必要みたい
このNVMeドライブでBeeGFS/MultiModeを作ってみるBeeGFS/Test/MultiMode


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2019-09-10 (火) 04:46:58 (97d)