SynologyのNAS (DS1817)を使ってデータストレージを作った。簡易ベンチマークの結果をメモ。
構成
- 接続先(iSCSIのターゲット)
- Synology NAS (DS1817)
- HDD 16TB (Seagate) 5台
- RAIDタイプ: Synology Hybrid RAID (SHR2)
- 接続元(iSCSIのイニシエーター)
- Ubuntu 20.04
- NIC ASUS XG-C100C
普通にSMBやNFSで接続するよりもiSCSIの方が早い、と何かで見たので、初めてiSCSIというのを使ってみることにした。どうせアクセスするのは一つのパソコンからだけなので、共有する機能は不要。
10Gbpsのネットワークハブは使わない
せっかく10Gbpsが使えるので、10Gbpsが使えるNICを買ってきてubuntuが乗ってるパソコンに取り付けて接続する。10Gbpsのハブはそこそこ値段が高いのと、10Gbpsなんて環境はこのNASの接続にしか使わないので、NASとPCを直接繋ぐことにした。最近はAutoMDI/MDI-Xというのがあってクロスケーブルも不要で直接適当なLANケーブルで繋げば良いらしい。手元にあったCat.6のケーブルで繋いだ。
10GbpsのNASの情報を探すと大抵の場合は、10Gbpsに対応したネットワークハブが必須、とあるが、PC-NAS間くらいしかネットワークの速度で律速されることなんてほとんどないので、これで動くならハブは不要だと思う。
(追記)適当に固定IPを設定して通信することはできたが、ルーティングをちゃんと設定しないとイニシエータのubuntuでインターネットにつながらなくなることがあった。どうやらNICの2つ刺し環境では優先度(metric)というのを設定しないと場合によってはうまくいかなくなるみたいだ。ubuntuの場合は、/etc/netplan
を使って設定するのが良いらしい。試行錯誤の結果動くようにはできたが、自分の設定が正しいのか自信がないのでここには書かない。
簡易速度テスト
ちゃんとベンチマークとったわけではない。あくまでも簡易テスト。iSCSIの練習と思って5GBの小さなLUNを作っただけなので、真面目に大きな容量でやると結果は変わるかもしれない。
まずは普通の1Gbpsで接続した時。
# sudo hdparm -t /dev/sda
/dev/sda:
Timing buffered disk reads: 336 MB in 3.02 seconds = 111.43 MB/sec
# dd if=/dev/zero of=/mnt/tmpdata/tmp.data bs=1M count=100
100+0 レコード入力
100+0 レコード出力
104857600 bytes (105 MB, 100 MiB) copied, 0.914372 s, 115 MB/s
1Gbpsのネットワークが速度の律速になっているように見える。これを10Gbpsにするとこんな感じ。
# hdparm -t /dev/sda1
/dev/sda1:
Timing buffered disk reads: 2546 MB in 3.00 seconds = 848.00 MB/sec
# dd if=/dev/zero of=/mnt/tmpdata/tmp.data bs=1M count=500
500+0 レコード入力
500+0 レコード出力
524288000 bytes (524 MB, 500 MiB) copied, 1.49079 s, 352 MB/s
読み込みで8倍、書き込みで3倍くらい。さすがに10倍にはならないので、ネットワークでの律速は10Gbpsで解決して、あとはHDDの速度なのかと思う。