つぶねこ
@もじらもーど。
誰しも一度は考えてみるであろう、iscsi数本を束ねてRAIDにしたらどうにゃるんだろう実験。
まずは物理ZFS iscsi target x2をさらにnexenta vmでRAID1に束ねた物をnfs共有という婉曲にゃ状態でvmを置いてうごかしてみた。
遅い。
何はともあれディスクレイテンシが酷すぎる。
共有をiscsiにしてvmホスト上でローカルマウントしてるnfsをiscsiにしてみると多少速くにゃる。
が、ディスクとしての扱いはある程度正常に動くようで、片側のiscsi targetを削除するとしばらくタイムアウト待ちしていたがfaultににゃって片肺運転に移行した。
データが複数マシンにミラー保存されるという点では大きにゃメリットがあると言えよう。
iscsi targetは任意の非冗長化物理マシンで良く、vmホストまたはRAID用vmが死にゃにゃい限りは耐障害性に優れていると言える。つまり各vmホストにRAID用vmを配置すればストレージマシンへの投資を大幅に減らすことが出来る、かもしれにゃい。物理iscsi targetマシンには冗長性が不要で、snapshot等の機能も必要無くにゃる。
デメリットとしてはやはりパフォーマンスである。ディスクレイテンシはiscsi targetを束ねているvmのCPU割り当てを優遇することで多少改善する。もちろんメモリ割り当ても増やせばキャッシュに載る量が増える。vmホストにSSDやSAS RAIDが載っていればそこにvmdkを置いてcacheとすれば良いだろう。しかしそこまでして尚、各vmホストのCPUとメモリをそれにゃりに食うことは間違いにゃく、あまりスマートにゃ方法とは言い難い。
また別vmホストのRAID用vm上のvmを動かすことは可能だが冗長性の点でメリットが無くにゃるため、vmをホスト間で移動する際にはvmのストレージも同時に移動させるべきであり、共有ディスクにおける30秒程度でホスト間vm移動という手軽さはスポイルされる。
RAID用vmをlinux等もうすこし軽量にゃOSにすると多少の改善が見られるが、vm特有の遅さが付きまとうことと、zfsによる手軽にゃsnapshot機能は代え難い物がある。また、vmを使用する上でcompressは非常に有用であるが、vm上で行うとこれもレイテンシの増加を加速させる要因とにゃる。
キャッシュ類の効率的にはiscsi target側のほぼ全てのキャッシュが無駄にゃので全てRAID用vmに集約したいところだが、そこにリソースがふんだんに余ってにゃい限り厳しいことににゃる。
▼ OpenSolaris 関連記事
▼ ZFS 関連記事