仮想化環境のストレージ選び
第1回では、これまで構築してきた仮想化ホスティング基盤の技術要素を振り返りました。今回は、その中でも最も苦労したポイントであるストレージについて考察します。
ストレージ利用の変遷
仮想化環境においては、どのような接続方式の、どのようなストレージを選べばよいのでしょうか。共通の悩みだと思います。以下では、筆者が所属するITコアのストレージ利用変遷を示し、ストレージ選択のポイントを解説します。
GrowServer(GS)の第1世代は、仮想化に着手した初のサービスだったため、単体サーバーのローカル・ストレージで事業を開始しました。インタフェースはUltraSCSIだったと思います。
GSの第2世代と第3世代は、2GbのFibre Channel(FC)を使った共有ストレージを導入し、VMwareのライブ・マイグレーション機能であるVMotionを利用できるようにしました。
第3世代の時には、増設時にいったんはiSCSIを採用したものの、期待通りの性能が出なかったため、FCに戻したという経緯もあります。さらに、途中からはNASも併用するようになりました。
第4世代(ここからはGS9と、名前に西暦を付けるようになりました)では、iSCSI(GbE)を使っています。
GS10では、物理的にはInfiniBandを使用し、その中に10GbEのiSCSIや4GbのFCの仮想化コネクションを構成しました。また、10GbEのNASも併用しています。
このように、さまざまな接続方式を採用してきました。それぞれ一長一短があり、なかなか1つの方法に集約できていないのが現状です。
iSCSIについて
GS9の時には、「これからはiSCSIだ」と考えて、思い切ってFCからiSCSIに切り替えました。しかし、実際には以下のような課題があったため、本命とはなりませんでした。
- iSCSIドライバの出来が悪い(OS側、ストレージ側)
- 高負荷で障害になったり、頻ぱんなバージョンアップがあったりする - 10GbEのスイッチやケーブルが高価
- 性能や安定性を考えるとFCの方が割安になることもある - アーキテクチャの問題
- TCP/IPの上位で動作するため性能上のロスが大きい - ベンダーのマーケット戦略
- FCとのすみ分けなどによりストレージの高性能化が進まない
このような問題が原因となり、iSCSIが唯一の本流となることはありませんでした。ただし、iSCSIは手軽であるため(既存ネットワーク機器を流用できるため)、小規模なシステム構成においては、かなり実用的に使えるでしょう。
FCoEについて
FCoE(Fibre Channel over Ethernet)は、まだITコアでは使用していません。FCoEとiSCSIとの関係を、以下に整理しておきます。
- iSCSIと同様にイーサネット・スイッチを使用するので、ストレージ接続とネットワーク接続の機器を統合できる。
- TCP/IP層を使わないので、FCと同じレベルの性能・品質が出せる(DCBによるロスレス)。
- 米Cisco Systemsと米Brocade Communications Systemsが強力に推進している。
上記の通り、FCoEは技術的には優れた規格です。しかし、ベンダーが少ないことと、コスト・パフォーマンスが既存の技術に比べて大して良くないことから、広い普及は難しいのではないか、と思っています。なお、iSCSIは現状のイーサネット規格の上で利用できますが、FCoEは、イーサネットを機能拡張したDCB規格のイーサネットが前提となります。
FCについて
FCは、一時期は高コストのために廃れそうになった規格ですが、以下の理由から、まだまだ主流で使われています。
- 新規開発コストがなくなり、価格が安くなってきた。
- 技術的にシンプルであり、安定してぎりぎりの高性能を出せる。
- 高性能ストレージが、事実上FCしかサポートしていない(iSCSIインターフェースは、あっても性能が出ない)。
FCの性能は、現在は8Gbになっています。この性能は、コネクションとしてはかなり高性能であり、これを使い切ることは、なかなか難しい状況です(サーバーやストレージ側がボトルネックになる)。
SASについて
最近はSAS(6Gb)で接続して使うストレージも出始めています。ただし、SASインターフェースは、安くて帯域幅が広いというメリットがある一方、複数のサーバーから共有するアーキテクチャには向いていません。1つのサーバーに増設するストレージとしては、良い選択になると思います。
NASについて
NAS(NFS/CIFS)は遅い、というイメージがありますが、それは古き良き時代の話です。現在のNASは、決して遅くありません。
同じストレージを使ってiSCSIとNFSを比較した場合、NFSの方が速いということも珍しくありません。第一感としてはブロック・デバイスのiSCSIの方が速いように思われますが、長い歴史の中でチューニングされてきたNFSの方が、隅々まで安定して性能が出るということでしょう。また、多くのサーバーからの「小パケット、多量トランザクション」のアクセスに強いという点も、クラウドでは大きな利点となります。
ITコアでは、NFSを、今後のコア技術の1つとして位置付けています。特に、ゲストOSがNASストレージをNFSで直接マウントして利用しています。
GSにおける構成例
図1: ストレージ構成の例 |
第3世代では、すべてをFCで接続しました。
第4世代では、ミラー・パスに限ってFC接続としました。サーバーとの接続にはiSCSIを使いました。ストレージ内部に搭載するディスクは、ローカルのSAS接続としています。