自宅で使っている、Windows 7をインストールしたデスクトップマシンのストレージはこれまで、
C: mSATA SSD 64GB
D: SATA 3.5inch HDD 2TB
Z: GbE接続SMB共有ディレクトリ (SATA 3.5inch HDD 2TB on Local Server)
という構成になっていて、ゲームのインストールなどはDドライブに、ドキュメントファイルの保存はZドライブに行っていた。私はLinuxを主に使っており、Windowsではメールの送受信などはしないことにしているので、どうしてもMS Officeを使用する必要があった場合などは、他のマシンとファイルのやり取りがしやすいSMB共有ディレクトリにファイルを保存するのが便利であった。しかし3Dのネットワーク対応ゲームなどは、SMB共有ディレクトリでは読み込みが遅すぎて使えないという印象があったので、直に繋いだ2TBのHDDにインストールしていた。
これでストレージの容量や速度に関しては全く問題なかったのだが、使い続けていくうちに、デスクトップマシン本体に内蔵したHDDの動作音が煩いと感じるようになってきた。内蔵のHDDを無くせれば、SSDだけになって静かになるはずだ。一番良いのはSSDを買い足してHDDの代わりにすることだが、安くなってきたとはいえ、SSDで512GBか1TBとなると簡単に買える値段ではない。そこで、自宅サーバーの余っているストレージにiSCSIで接続して利用してはどうか、ということを考えた。
自宅サーバーはUbuntu 14.04 LTSで、どっかから拾ってきた150GBという低容量のHDDを付け足し、そこにiSCSI用のボリュームを作成、Windows標準のiSCSIイニシエーターを使って接続し、NTFSでフォーマットした。サーバーとデスクトップマシンのネットワークの接続は、ルーターを介してどちらもGbEである。
これで2TBのHDDを取り外すと、以下のような構成になった。
C: mSATA SSD 64GB
E: GbE接続iSCSI (SATA 3.5inch HDD 150GB on Local Server)
Z: GbE接続SMB共有ディレクトリ (SATA 3.5inch HDD 2TB on Local Server)
この環境で、CrystalDiskMark 5.1.2を用いてベンチマークをとってみた。
↓まずはCドライブのSSD、旧世代なので550MB/sでるような奴と比べると遅いが、HDDよりは断然速い。
———————————————————————–
CrystalDiskMark 5.1.2 Shizuku Edition x64 (C) 2007-2016 hiyohiyo
Crystal Dew World : http://crystalmark.info/
———————————————————————–
* MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
* KB = 1000 bytes, KiB = 1024 bytes
Sequential Read (Q= 32,T= 1) : 311.141 MB/s
Sequential Write (Q= 32,T= 1) : 160.438 MB/s
Random Read 4KiB (Q= 32,T= 1) : 36.296 MB/s [ 8861.3 IOPS]
Random Write 4KiB (Q= 32,T= 1) : 76.312 MB/s [ 18630.9 IOPS]
Sequential Read (T= 1) : 296.945 MB/s
Sequential Write (T= 1) : 132.964 MB/s
Random Read 4KiB (Q= 1,T= 1) : 32.970 MB/s [ 8049.3 IOPS]
Random Write 4KiB (Q= 1,T= 1) : 61.774 MB/s [ 15081.5 IOPS]
Test : 1024 MiB [C: 91.5% (54.4/59.5 GiB)] (x5) [Interval=5 sec]
Date : 2017/01/15 19:07:32
OS : Windows 7 Professional SP1 [6.1 Build 7601] (x64)
↓続いて、iSCSI接続のEドライブ
———————————————————————–
CrystalDiskMark 5.1.2 Shizuku Edition x64 (C) 2007-2016 hiyohiyo
Crystal Dew World : http://crystalmark.info/
———————————————————————–
* MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
* KB = 1000 bytes, KiB = 1024 bytes
Sequential Read (Q= 32,T= 1) : 81.955 MB/s
Sequential Write (Q= 32,T= 1) : 66.802 MB/s
Random Read 4KiB (Q= 32,T= 1) : 46.470 MB/s [ 11345.2 IOPS]
Random Write 4KiB (Q= 32,T= 1) : 0.863 MB/s [ 210.7 IOPS]
Sequential Read (T= 1) : 75.291 MB/s
Sequential Write (T= 1) : 69.843 MB/s
Random Read 4KiB (Q= 1,T= 1) : 6.687 MB/s [ 1632.6 IOPS]
Random Write 4KiB (Q= 1,T= 1) : 0.860 MB/s [ 210.0 IOPS]
Test : 1024 MiB [E: 50.1% (25.0/50.0 GiB)] (x5) [Interval=5 sec]
Date : 2017/01/15 19:02:14
OS : Windows 7 Professional SP1 [6.1 Build 7601] (x64)
↓最後に、SMB共有ディレクトリのZドライブ。
———————————————————————–
CrystalDiskMark 5.1.2 Shizuku Edition x64 (C) 2007-2016 hiyohiyo
Crystal Dew World : http://crystalmark.info/
———————————————————————–
* MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
* KB = 1000 bytes, KiB = 1024 bytes
Sequential Read (Q= 32,T= 1) : 68.813 MB/s
Sequential Write (Q= 32,T= 1) : 116.842 MB/s
Random Read 4KiB (Q= 32,T= 1) : 8.556 MB/s [ 2088.9 IOPS]
Random Write 4KiB (Q= 32,T= 1) : 77.838 MB/s [ 19003.4 IOPS]
Sequential Read (T= 1) : 75.921 MB/s
Sequential Write (T= 1) : 3.565 MB/s
Random Read 4KiB (Q= 1,T= 1) : 5.429 MB/s [ 1325.4 IOPS]
Random Write 4KiB (Q= 1,T= 1) : 5.431 MB/s [ 1325.9 IOPS]
Test : 1024 MiB [C: 91.5% (54.4/59.5 GiB)] (x5) [Interval=5 sec]
Date : 2017/01/15 19:16:23
OS : Windows 7 Professional SP1 [6.1 Build 7601] (x64)
iSCSI接続のEドライブとSMB共有ディレクトリのZドライブを比較すると、よりキャッシュが効く設定になっているせいか、Zドライブの方がWriteは速い傾向にあるが、Random ReadはEドライブの方が速い。ゲームでマップのテクスチャを読み込んだりするのはRandom Readに該当すると思うので、やはりゲームのシステムファイルを置いておく場所としてはiSCSI接続のボリュームの方が、現在の環境では適しているということになると思う。今回はどちらもサーバー側のチューニング設定をせずに、デフォルトに近い状態で計測したが、iSCSIもSMBも設定を変えれば性能も変化するはずで、それについては暇な時に追々やっていこうと思う。