墜落日記 - 2010年7月4日の墜落
ストレージサーバにチーミングは必須かな??
自宅サーバの仮想化でストレージサーバの構想を日夜練っている自分だが。
ストレージサーバと仮想ホストの組み合わせで環境を構築すると柔軟性は上がるのだけど、やはり仮想ゲスト用にマウントしたストレージとの通信速度がネックになりそうな不安がどうしても拭えない。
そもそも現実的に予算の許す一般的な Ethernet の最大通信速度は 1.0Gbps だが、これは NIC や L2 スイッチなんかもちゃんとしたモノを使った上での理論値だ。
ま~現状では VMware ESXi を前提としている以上、NIC は Intel のサーバ向けしか考慮していないのだけど、それでも最大が 1.0Gbps なのである。
TCP/IP のオーバヘッドなど一切合切無視してロス無しで計算しても 125MB/s の転送速度しか出ないのである。
実際には 100MB/s も出れば御の字と言えよう。
ちなみにこの 100MB/s という数字はどの程度の物かというと、過去に取ったベンチマークが良い参考になる。
過去に取ったベンチマークで CrystalDiskMark 3.0 x64 を利用して ICH10R に直接ぶら下げた SATA ハードディスク Seagate ST3500320NS (7,200rpm) が出したシーケンシャルリードの速度が 109MB/s であるから、どんなに頑張って通信品質を整えたところで SATA ハードディスク 1 本分の転送速度しか出ないということである。
ま~実際にはハードディスク側のランダムアクセス性能に引き摺られることになるので 1 本分しか出ないと言うことはないのだけど、何にしろ RAID 組んで応答性能を向上させてもネットワークの帯域に制限されて I/O 性能が奮わないのは自明の理だ。
この辺りが iSCSI や NFS でストレージを実装した場合の考慮すべき点である。
ちなみに iSCSI HBA を導入してもこの問題は変わらない。
iSCSI HBA の役割は CPU 負荷の高い iSCSI イニシエータの処理をハードウェアに委譲することであり、そもそものボトルネックである Ethernet の帯域を増やすモノではない。
(中には後述の NIC チーミングの機能を持つ物もあるようだが)
さて、だからといって 4.0Gbps や 8.0Gbps の FC を導入するのは以ての外なので、その他の方法を検討する。
基本的にどんな分野でも発想としてはあるのが、低性能な物でも束にして使えば高性能な物に匹敵できるという発想で、ハードディスクの RAID なんかは有名な例だ。
NIC も例外ではなく、NIC チーミングという手段で複数の NIC を束ねて帯域を増やすという試みがある。
単純な話だが、1 本で 1.0Gbps なら束にしたら? という発想である。
VMware ESXi には仮想スイッチに複数の物理 NIC を接続して利用する NIC チーミングの機能がある。
NIC チーミングを利用するとロードバランシングによる負荷分散で帯域を拡張できる上に、ひとつの NIC が死んでもネットワークを止めないフェイルオーバーを実現できる。
今回の主目的はロードバランシングなのでフェイルオーバーはオマケだが、これを利用すれば帯域を稼ぐことが出来るだろう。
一方、Linux で構築するストレージサーバ側も bonding で同様にチーミング出来る筈だ。
1.0Gbps を 2 本束ねれば理論上 250MB/s の転送速度が確保でき、これは SAS 15,000rpm のハードディスク単発の転送能力を充分にまかなえる帯域だ。
SATA 7,200rpm のハードディスクなら 2 本で RAID-0 した場合の転送速度も充分にまかなえる。
SAS 15,000rpm のハードディスクを 2 本で RAID-0 した場合の転送速度にはシーケンシャルアクセスでは及ばないが、ランダムアクセスなら問題なかろう。
1.0Gbps を 3 本束ねれば 375MB/s なのでかなり余裕が出るが、当面の用途としては 2 本束ねただけで充分だろうか?
というか 3 本以上束ねる気ならば、ストレージサーバにも仮想ホストにも追加で NIC を放り込まないとならない(汗々)
最初から NIC を 4 系統積んでいるマザーボードを考えていたけど、早くも NIC が枯渇するか!?
問題は、VMware ESXi の NIC チーミングと Linux の bonding がちゃんと互いに会話できるか? という一点に集約される。
そもそも NIC チーミングって仕様として纏まっているんかい? と聞きたい。
ちなみにこれは余談だけど。
昔の話で記憶も曖昧でソースに辿り着けなかったのだけど、たしか NAS 製品のメーカー技術者へのインタビューだかで馬鹿なことが書いてあった。
日本市場だと NAS のセールスポイントは基本的に価格と容量なのだけど、アメリカ市場だとハードディスクの回転数がセールスポイントになるらしい。
しかし上記でウジウジと悩んでいるように、1.0Gbps のネットワークに CIFS や NFS で公開する NAS なのだからネットワーク帯域の方がボトルネックになって転送速度が頭打ちになる。
更に NAS 製品は元々 RAID で耐障害性とアクセス性を上げているモノがほとんどだから、5400rpm の低速ドライブで消費電力と廃熱を抑えた方が利口だ。
しかしアメリカ市場だと 7200rpm の高回転ハードディスクを積まないと買って貰えないそうである。
全く意味がない(汗々)
流石はアメリカ人、伊達に Muscle is Justice なハリウッド映画で育ってないな(爆)
コメントは投稿されていません。