iSCSI は SUSE 仮想環境でファイルサーバとして使い物になるか

「システムの仮想化 + ディスクの仮想化」で出される結論は ブレードサーバー + VMware + FC-SAN というのがひとつの答えのように語られます。しかし、ブレードサーバーは1ユニットが満載されるくらいではないとコスト効果がありませんし、FC-SAN じゃないとパフォーマンスは出ないから薦められない、というのがメーカーの主張、あるいはベンダーの主張です。これくらいの規模なら、当然システムの数は数十で、とてもではありませんが、全国の90%以上はある中小企業、組織では高い壁になります。

じゃぁ、ウチで「クラウドを用意するよ」と言っても、クラウドほどこの世の中に怪しいキーワードはありません。ついにマーケティングは「御社用のクラウド:プライベートクラウド」はいかがですかという、また新しいキーワードから顧客の気を引こうとします。

常に「世界一を目指さなければ駄目なんだ」という今年の流行語になりそうな事は忘れて、「そこそこに使えるシステム」を検討したら、小規模な仮想化環境 + IP-SAN (iSCSI) というのはどれくらい「使えるか」を実験してみました。

[関連記事]
SUSE Enterprise Server 11 で iSCSI を使う

今回用意したのは QNAP の Turbo NAS TS-110 です。実売2万円程度の NAS キットですが、smb だけではなく iSCSI, FTP, NFS, WWW なども使えて、e-SATA コネクタ、USB コネクタで増設もできるという中々の優れものです。

詳細はこちら TS-110 Turbo NAS

今回は、この TS-110 に SAMSON SP2004C というかなり古い SATA 200Gb ドライブをつないで iSCSI の環境を構築してテストしました。(図ではC)

a0056607_1421112.gif


サーバーは PhenomII x4 500G-HDD 8G メモリ のマシンに Novell SUSE Linux Enterprise Server 11 (SLES11) を導入し、 XEN カーネルで起動します。(図ではB)

この B サーバに B1 として準仮想化 SLES + samba と B2 Windows 2008S r2 を仮想化してインストールします。条件を同じとするために4Gバイトの仮想メモリを与えています。

Novell OES2で iSCSI デバイスをNSSで作成する手順
SUSE Enterprise Server 11 で iSCSI を使う

クライアントは一般的なノートブック Core2 Duo 4G メモリ、320Gb 2.5inch HDD の Windows 7 評価マシンです。(図ではA)

このクライアントに2.8Gb のディストリビューション用の DVD.ISO ファイルを用意しました。

a0056607_14102691.gif


計測は100円ショップで買ったストップウォッチなので、数秒の誤差は勘弁してください。

A --> A ノートブックのローカルコピー R/W 2"16 秒

通常のユーザの操作です。自分のローカルPCの中でファイルをコピーする操作です。

A <--> B ノートから、物理マシンのHDDに smb で転送 W- 0"53秒 R- 0"43 秒

ノートブックのデータをSamba の物理HDDにコピーしました。1分を切るというのはなかなか凄い実力です。

A <--> C ノートブックから直接 iSCSI へコピー W - 7"54 秒 R - 1"34 秒

Windows のノートブックから直接 iSCSI デバイスに Windows7 のイニシエータを使って接続します。書き込みの異常な遅さ、意外なことにこの成績が一番悪かったようです。読み出しがそこそこ早いのは Turbo NAS のキャッシュ機能が効いているからでしょうか。 

B <---> B SLES11 上でのローカルコピー RW - 0"37

ほぼ最新の Phenom II マシンでのローカルコピーなので Windows 7 ノートとの比較は難しいのですが、あまりの性能の高さに驚きます。この読み書きの早さが A <--> B の samba の威力につながります。

A <--> B1 準仮想化した SLES11 + samba の仮想イメージ W - 1"38 秒

A <--> B2 完全仮想化した W2K8r2 の仮想イメージ W - 3"25 秒 R - 3"43 秒

※samba からの読み出しテストは忘れてしまいました。

samba の高速性が良くわかります。クライアントPCからはローカルディスクに保存するより早いく快適です。

B <---> C SLES11 -> iSCSI Turbo NAS W - 2"21 秒 R - 2"03 秒

iSCSI ドライブを SLES11 にマウントして測定しました。ネットワークがボトルネックになっているのか、ディスクがボトルネックなのかはまだ判りません。ただし、読み書きがそれほど変わらないので、 Linux に iSCSI デバイスをつないだ時の基本的な実力と考えて見ましょう。

B1 <--> C 準仮想化した SLES11 に iSCSI デバイスをマウント W -1"54 秒 R - 2"12 秒

誤差はたっぷりありますが、まず、物理サーバでマウントした iSCSI デバイスと大体同じ程度の使い勝手です。

B2 <--> C 完全仮想化した W2K8r2 に iSCSI デバイスをマウント W - 1"11 秒 R - 5"18 秒

完全仮想化した W2K8r2 マシンの仮想イメージから外部の iSCSI へのコピーです。驚異的な書き込み速度が出ていますが、ステータスバーを見ると、段々と速度が低下して書き込みが終わりました。 Windows 2008 そのもののキャッシュ効果が出ているようですね。受け取る iSCSI Turbo NAS そのもののキャッシュ効果もあるようです。

逆に読み出しは安定して遅く、転送速度は常時一定でした。完全に iSCSI キットのディスクIOの性能が影響しているようです。

では iSCSI モードで動作させた Turbo NAS を仮想マシンから直接操作した場合です。ここからクライアントPCからアクセスした場合の時間を測定してみます。

A <--> B1 Linux <--> C iSCSI

smb W - 1"54 秒 R - 4"31 秒
ncp W - 1"33 秒 R - 2"45 秒

このケースでは準仮想化した SLES11 上の仮想マシン -> iSCSI へのケースと、準仮想化した OES2 Linux でマウントした NSS ボリュームの二つのケースをテストしました。予想ではシンプルな smb + ext3 でのアクセスより、ncp の暗号化した転送の方が遅くなると思っていましたが、予想に反して NSS の方が高速でした。 samba のキャッシュ効果と OES + NSS のキャッシュ効果は違いがあるので、読み出しの速度が倍というのは不自然と言われても反論できません。

OES2 Linux はライセンスは高額ですが、お金を払う価値があると思います。また、NSS ボリュームは基本的に LVM を応用したシステムなので、 iSCSI 上の割り当てたボリュームをオンラインでリサイズできることも考慮すると、凄い実力です。 このテストは Novell 製品をヨイショするつもりではなかったのに、はヨイショしてしまう結果になりました。

安定して 40Mb/Sec 程度の速度が出ています。この速度は安定しています。
a0056607_2254816.gif


書き込みのネットワークの負荷と読み出しのクライアントの負荷はこのような状態です。フルに帯域を使っているわけではないようです。書き込みの帯域の使い方に対して、読み出しの不安定な負荷状態を見ると、読み出しに時間がかかるのがわかります。Turbo NAS に使った SATA ディスクの読み出しがボトルネックとなっているようです。

a0056607_2347974.gif


A <--> B2 W2K8r2 <--> C iSCSI W - 4"34 秒 R - 8"25 秒

故意に操作したわけではないのですが、 Windows Server の共有機能を使った場合の結果です。安定して低速です。特にこの一連のテストでは最悪の結果となりました。

a0056607_13145149.gif


特に読み出しに関しては、安定して 10M/Sec 程度の低速で、仮想マシンマネージャのCPU負荷率は 10% 以上使っています。 samba, OES の負荷が10%以下で上下するのに対して安定して高い負荷がかかっています。

a0056607_22203664.gif


お客様から OES NetWare から Windows に置き換えて、管理が面倒になったとか、速度が遅くてサーバーがあまり利用されなくなった、情報共有がされなくなった、というお声を聞きます。 Windows ネットワークではやはり、ファイルアクセスが遅いのか、ユーザにとっては単なるローカルのバックアップに使っているか、よほど完成品の保管に使っているのが実情となるようです。 Novell ネットワークを使っているお客様では、ほとんどの作業をサーバー上の個人領域で使っている事例が多いのに比べて、Windows ネットワークは、個人のPC環境の延長だという印象はぬぐえません。

Windows XP/2003 では標準で iSCSI Initiator はありませんが、マイクロソフトから英語版のドライバが提供されています。
Microsoft iSCSI Software Initiator Version 2.08

--
iSCSI は仮想ファイルサーバーのストレージとして使えるか

samba や OES2 Linux などの環境では充分使い物になると思います。特に OES2 + NSS はローカルディスクに保存するより、下手をすると早いくらいでした。OES はローカルディスクより早いと昔から喧伝された NetWare の後継製品だけのことはあります。

Windows サーバー用の外部記憶装置で iSCSI を使うと、ユーザから不満が出そうです。 Windows を仮想化するにはSI業者が言うように高価な FC-SAN や DAS を使う方が無難なのでしょう。 Windows 2008 r2 は使い物にならないという結果を出したかったわけではないのに、Windows サーバーって本当に遅いのだということが"実感"できました。

今回は、 2.8G の巨大なファイルを使ってみたのですが、実際にユーザが利用するファイルは、一般のアプリケーションファイルや画像程度で、1ファイルあたり数Mバイトとかが多いと思います。Novell ネットワークでは強い不満は出ないでしょう。

Windows の移動プロファイルは Windows 環境では使い物にならないとよく聞きますが、私は便利なのでよく提案して不満を聞いたことがありません。 なるほど OES + ZENworks では不満は出ないわけですね。
--
ただし、iSCSI の内部のメディアは早い方がいいと思います。全般的に書き込みについては不満なところはなくても、読み出しの初速は、キャッシュ効果の有無もありますが、ディスクの速度が如実に出てきます。ネットワークの帯域の使い方を見ても、書き込みの効率のよさより、読み出しの不安定さを見ると、やっぱりディスクがボトルネックになるでしょう。 GigaBit ネットワークと FC とでは、帯域に違いがあり、4倍違うというベンダーのセールストークもできますが、ネットワークの負荷よりも、ディスクの速度がポイントです。 OES2 や samba では SAS の高速なディスク製品で本格的なユーザ用記憶装置として使えそうです。

iSCSI デバイスは、Windows サーバーの一時的なバックアップ(書き込みのみ)には向いていますが、ユーザへのファイルサーバーデバイスとしてはお勧めできません。信頼性を考えないで安価な SATA ディスクを使った製品を選んでバックアップだと割り切るのが良いと思います。

よく、「仮想化すると処理が遅くなる」と言われますが、 Novell の OES2+NSS や Linux+samba などでは正しいとは言えないようです。 しかし Windows を使っている限り、その言い方は正しいと思います。FCネットワークを使うなり、DASを使うなりクラスタ化するなりして、パフォーマンスと安全性を高めるために故障しやすい高価なパーツとライセンスを慎重に積み上げていくしかありません。Windows 7 から Turbo NAS に iSCSI 接続しても、非常に低速でCPUパワーを食いまくります。おそらく W2K8 r2 も同様なのでしょう。

本来は、ストレージ用のネットワークを別にするのが当たり前じゃないか、というお叱りもありそうです。もし実験させてもらえる環境がご用意いただければ、テストしてみたいところです。

- Key Word

SUSE SLES11 samba OES2 Open Enterprise Server NCP CIFS NetWare iSCSI ディスクの仮想化 仮想化 ファイバーチャネル FC-SAN IP-SAN 速度

本気モードでベンチマークしました
iSCSI のベンチマークでみるNovell OES でのプライベートクラウドの実力

Visit My Web site
[PR]
トラックバックURL : https://islandcnt.exblog.jp/tb/9398989
トラックバックする(会員専用) [ヘルプ]
※このブログはトラックバック承認制を適用しています。 ブログの持ち主が承認するまでトラックバックは表示されません。
by islandcenter | 2009-12-12 01:16 | XEN | Trackback | Comments(0)