仮想化の弱点ストレージ、SSDによるストレージのチューニング 2013/12/8
仮想化の弱点--ストレージ--
VMwareにしろHypver-Vにしろ、仮想マシンが増えてくるとストレージへのアクセス速度の低下が無視できなくなる。ハードディスクの容量を増やすのは比較的容易だが、アクセス速度はそれ程伸びていない。一方で、一つのRAIDグループ(あるいはRAIDコントローラ、ファイバチャネルのポート等)をシェアする仮想マシンが増えると、1つの仮想マシンが使用できる帯域は狭くなる。また、個々の仮想マシンはシーケンシャルアクセスしているつもりでも、複数の仮想マシンからのリクエストを処理するストレージにとってはランダムアクセスとなる。ハードディスクにランダムアクセスすると、ヘッドの移動やディスクの回転待ち時間が増えるので、アクセス速度はかなり低下する。
もちろん、アクセス速度の低下を抑える手だてはいくつかあるが、運用の柔軟性や、容量の使用効率まで低下したりするデメリットも伴ってしまう。
手頃になってきた、大容量SSD
Crucialの960GB SATA 6Gbps CT960M500SSD1.PK01が5万円を割るなど、1TB級のSSDも結構手頃な値段になってきた。1TBのサーバー用のSASハードディスクが6万円くらいするので、コンシューマー向けとエンタープライズ向けという差はあるものの、必ずしもSSDが割高ではなくなってきた。
脅威のSSD速度
今回は、SSDでどの程度速度が出るか試してみた。測定環境は次の通り。弱点であるストレージ速度を克服し、20-30仮想マシンをホストする想定なので、かなり豪華な構成だ。RAID0としたのは、SSDは書き込み回数の制限はあるものの、機械稼動部分がないので、用途にもよるが、適切にバックアップを行っていれば、信頼性にそれ程大きな問題はないと判断したからだ(信頼性よりも速度を優先したといってもいい)。
測定環境
RAIDカード | MegaRAID SAS 9271-8i(PCIe 3.0 8レーン) |
SSD | SSD PLEXTOR PX-512M5P(512GB SATA 6Gbps)を6台 |
RAID構成 | RAID0(SSD 6台) |
ハイパーバイザー | VMware ESXi 5.1 |
OS | Windows 8 |
1TB級 SSDと関連商品
測定結果は下記の通りで、一番左はハイパーバイザーを使用しないベアメタルでの測定結果だ。ESXiのファイルシステムであるVMFS(ver5.58)のブロックサイズが1MBなので、512KBのランダムアクセスに注目しよう。ベアメタルでは、ランダムアクセス性能がおよそ2GB/sという超高速が実現できた。
4KBのランダムアクセス性能が低いのは、RAIDのチャンクサイズを256KBにしているからだ。4KBを読み書きするのに、その64倍の256KBを読み書きする必要があるのだから、遅くなるのは当然だ。小さい単位のランダムアクセス性能を上げるには、チャンクサイズをもっと小さくする必要がある。
測定結果
ベアメタル(ハイパーバイザーなし) |
ESXi(普通のVMFS上) |
ESXi(Raw Device Mapping) |
| | |
中央の測定結果は、ESXi上の仮想マシン(Windows 8)で測定したものだ。測定対象のドライブは、VMFS上に確保した仮想ハードディスクだ。ベアメタルよりもおよそ2.5-3割程度速度が落ちるものの、それでも1.5GB/s前後と十分高速だ。繰り返すが、これはランダムアクセスの性能である。
右側の測定結果は、中央と同じくESXi上の仮想マシン(Windows 8)で測定したものだ。ただし、測定対象のドライブは、VMFSを介さずRDM(Raw Device Mapping)したRAIDボリュームだ。ベアメタルに対して、およそ2割程度の性能低下にとどまっている。
RDMを使用した方が確かに速いが、VMFS上に仮想ハードディスクを構成した方が運用の柔軟性は遥かに高い。ランダムアクセス性能で1.5GB/sもの性能が得られるのであれば、個人的にはRDMを使う必要性は感じない。
今回のまとめ
- ホストする仮想マシンを増やすには、ストレージアクセス速度がネックになりやすい
- 大容量SSDも安価になってきた
- 大容量のSATA SSDと高性能なRAIDカードがあれば、仮想化に適したランダムアクセス性能の高いストレージが組める(100万円を超えるようなPCIe接続のSSDを買わなくてもTB級のストレージを使える)
|