Mac用のiSCSIイニシエータソフトウェアであるATTO社「Xtend SAN iSCSI Initiator(以降Xtend SAN)」を導入したため、以前に書いた「iSCSIとファイル共有」のように今度はSynology DS716+をiSCSIターゲットに設定して、Xtend SAN、Studio Network Solutions社「globalSAN iSCSI Initiator(以降globalSAN)」、およびファイル共有の速度を簡単に比較してみました。
Xtend SANは1ユーザライセンス=$195で、iSCSIデバイスを接続するだけと考えるとかなり高価なソフトウェアです。globalSANが半値以下の$89ですから(とは言え高い)、倍額の価値があるのか否か、参考になれば幸いです。
また今回はDS716+を使用しており、既存の「ext4」とは別にSynologyが新たに採用したファイルシステム「Btrfs」も比較対象として加えています。
さらに、前回はCIFS/SMBのバージョンを考えないで計測していましたが(前回はSMB 2.0でした)、今回はSMB 3.0、2.0、1.0を個別に計測しています。その他NFSも比較に加えましたが、これはおまけみたいなもんです。
ところで、iSCSIとファイル共有を比べてもしょうがないんじゃない?と思う人もいるでしょう。しかしSynologyとMacで使うiSCSIってどんなもん?ってことが感じられればと思い、軽い気持ちで比較しています。個人的にはiSCSIが好きなわけではないです・・・。
Xtend SANとglobalSANが何をするソフトウェアかということについては、前回の記事(「iSCSIとファイル共有」)で簡単にご紹介しましたので今回は説明を省略させていただきます。
なお、前回はglobalSANの画面のみでしたが、今回は新たに導入したXtend SANの画面も掲載します。
Xtend SANの設定は、単体のアプリケーションソフトウェア「Xtend SAN.app」で行います。Javaアプリ(かな?)のようで、Macユーザには若干違和感のある洗練されていない画面デザインです。見た目はいまいちですが、特に難しいことなくわりと簡単にiSCSIターゲットを設定・接続することができます。
ドライバそのものの安定性/互換性についてはまだ深く突っ込んで試していないためわかりませんが、デバイス初期化後のアイコンがあまり奇麗じゃなかったり、全体的に高価なわりに古さを感じるソフトウェアかなと言った印象です。
globalSANはシステム環境設定で設定を行います。Xtend SANと比べると普通にMac風で洗練されています。iSCSIターゲットの接続も簡単で難なく使えます。
Studio Network Solutions社のサイトでは試用ライセンスを提供しているため、実際に試して確認することができます。
接続クライアント(MacBook Air)、サーバ側(DS716+)共にSSDを使用して、できるだけストレージの遅さが結果に影響を与えないようにしています。またネットワークは1GbE-Tで1GbEスイッチ×1台を介してほぼ直結のような状態としました。
iSCSI LUNは、ブロックレベルの「単体LUN」でDS716+のSSD×1台に設定しています。Synologyでは単体LUNの他に「通常ファイル」および「複数LUN」がLUN作成時の選択として用意されていますが、DMSの設定画面によれば単体LUNが最も性能が良いとされています。
DS716+に搭載したもう1台のSSDはディスクグループを作成し、このディスクグループ内に「ext4」と「Btrfs」のボリュームを作成して、それぞれのボリュームに共有フォルダを設定しています。
なお、DS716+は2セット構成でSynology High Availability(SHA)も試していたため、単体のDS716+よりも多少余計な負荷が発生していたかもしれません。とは言え、計測に用いたファイルがそれほど巨大/大量ではないため影響は微々たるものでしょうけど・・・。ちなみにジャンボフレーム使用時の速度差も比較してみたかったのですが、SHA設定時はMTU値を変更できないようで比較しませんでした。
ファイル共有は以下のファイルサービス(ファイル共有プロトコル)を比較対象としています。
Mac OS Xも接続のデフォルトがAFPからSMBとなり、近い将来AFPは消えゆく運命なのかなと感じます。でも個人的には初期接続時のネゴシエーションの早さからAFPを好んで使用しています。SMBはバージョン問わず初期接続が遅い・・・(OS X側の問題なのかもしれない)。なおネゴシエーションの早さは計測対象外のため、もちろん結果には反映していません。
Synologyは使用するSMBのバージョンを指定することができます。デフォルトではSMB 2.0が設定されているため、現在Synologyを使っている方でクライアントがそこそこ新しいOSならば、SMB 3.0に変更して接続を試してみてもよいかもしれません。
ちなみに自分が接続しているSMBバージョンはMacでは以下のコマンドで確認できます。
その他、今回はNFSを比較対象に加えています。またWebDAV、FTP、FTPS、SFTPなんかも比較すると面白そうだったのですが面倒だったのでやめました。
ランダムな文字列で生成した以下のファイルをtimeおよびcpコマンドを用いてサーバ側にコピーした時間を計測し、それぞれ各3回(もしくは4回)実行した結果の平均値を得ています。
また今回はコピーだけではなく、ファイルの削除時間も計測しています。
ま、計測とは言え、そんなに厳密な計測ではないということを予めご了承ください。しかし一応実測値ですから、それなりに参考になるかなと思います。実際に計測してみて時間差が微量なケースもあり、もう少し大容量/大量のファイルを使用しても良かったかなと感じている次第です。
計測結果を表とグラフで示します。グラフは圧倒的にMac内蔵SSDとiSCSIが速そうに見えてしまいますが、体感速度的には各ファイル共有も問題なく使えるレベルで、キレそうなぐらい遅いわけではありません。
それぞれコピーおよび削除の時間を示しています。ファイル共有については、ext4およびBtrfs使用時の値も記載しています。
1GB×1ファイルのコピーでは、iSCSIとファイル共有でほぼ差がありませんでした。1ファイルのため、ネゴが終わったら、あとはデータをシーケンシャルで送り続けるだけということが要因のようです。主として少数の容量の大きいファイルを扱う用途がならば、ファイル共有も悪くないようです。
試しに計測したext4とBtrfsですが、ファイル容量/ファイル数共に、ほぼ同等の結果となっています。今後SynologyはBtrfsの使用を推進してくると思いますが(すでに現状Btrfs対応機では初期化の選択肢でBtrfsが上位に位置されている)、速度に関して言えばどっちでもいいかなと言った結果です。
SMBについては、SMB 1.0は遅いのかなと思っていたらそうでもない結果となっています。1GB×1ファイルは倍近い時間がかかっているものの、10KB×10,240ファイルではSMB 3.0/2.0よりも速い。特にズルはしていないので、Synology側(内部Samba側)のチューニングの問題なのかなんなのか・・・。Mac OS Xを接続した場合には、必ずしもSMB 1.0=遅いとも言えないようです。SMB 3.0と2.0については結果の通りほぼ同等でした(従って現状SMB 2.0の設定でSynologyを使っている場合、無理に3.0に設定を変更する必要も無いのかもしれません)。
削除時間は1GB×1ファイルではほぼ一瞬で削除が終わってしまうため、10KB×10,240ファイルのみを計測しています。
iSCSIはMac内蔵SSDと同等の速さで削除が完了。
ファイル共有については、AFPでBtrfsのボリュームにアクセスして削除を実行したときext4よりも遅い結果となっています。不思議・・・。またSMBはこちらもSMB 1.0の方がSMB 3.0/2.0よりも速いという結果が得られました。Windowsクライアントは試していませんが、Windowsで接続した場合には結果が違うのかもしれません。
NFSについては僅差ではありますが、他よりも若干速い結果となっています。
今回も一応Xbenchバージョン1.3のDisk Testで計測した結果を掲載します。あくまでも参考データという感じです。前記のコピーと削除の計測時間の方があてになるかなと思います。
Xtend SANとglobalSANについては、ほぼ速度差が無く同等でした。さらに大容量かつ大量のファイルで10GbEなんかを使うとなんらかの性能差が出るのかもしれませんが、10GbEが使えるような人&環境は今どきサーバにMacを使わなくても・・・と思ったりもしますし、とりあえず今回の結果としては同等となりました。
したがって今回の単純な速度比較だけで言うと、高価なXtend SANよりも少し安価なglobalSANの方が選択肢としてアリかなと思います。
iSCSI対ファイル共有で考えた場合には、用途によるとは思いますがファイル共有がどうしようもなく遅いわけではないですから、普通はファイル共有を使っておけば不便はありません。例えばTime Machineを使っていてバックアップ処理を速くしたいという用途にはiSCSIの方が良いかもしれませんが。
ファイル共有(ファイル共有プロトコル)は、AFP、SMB 3.0/2.0/1.0、NFS共に大きな速度差がありませんでした。どのファイル共有を使っても良いように思いますが、使用するファイル共有プロトコルが他のクライアントと違ったり、途中からファイル共有プロトコルを変えるたりするとファイル名で問題が出ることもあるため、基本的に同じファイル共有プロトコルを使用し、使い続けた方が無難かなと思います。
具体的には、MacではWindowsで使用不可とされる以下の半角記号文字がファイル名に使えてしまうのですが、AFPとSMBではこれらの文字の扱いが違うため、コピーしたファイル共有プロトコルとは異なるプロトコルでアクセスするとファイル名の文字化けが発生します。
¥ / ? * ” > < |
以前は(OS Xのデフォルトで)AFPでアクセスされていて、今は(OS Xをバージョンアップして)知らぬ間にSMBが使われてたりすると、すでに文字化けしてるファイル名があったりして・・・ご注意を。
ext4とBtrfsは性能差がほぼ無く、無難なext4とこれからのBtrfsということで、Btrfsの方がスナップショットなどの機能はあるものの、しばらくは様子見でext4を使った方が良さそうに思います。しかし新しもの好きな方はBtrfsを率先して使って人柱になりましょうw
速度の比較とは別にXtend SANとglobalSANで以下を試してみました。
上記、どちらも問題なくできました。
例えば将来、いずれかのソフトウェアの開発・提供が終了したとしても、もう一方に乗り換えればiSCSIターゲットを使い続けることができそうです。ご参考まで。