2016年12月18日日曜日

LIO Cluster [LIO, DRBD, Pacemaker による冗長化 iSCSI Target] (その15)障害テスト環境


LIO Cluster の障害テストを始めるに当たり、どのような環境でテストすべきかについて、思いつくままに述べていきます。

当然のことながら、今後一番利用されるケースを想定した環境を準備したいと思います。

ストレージに関する来年のトレンドは、オールフラッシュ化だと勝手に判断しています。
HDD と SSD の性能差は歴然としており、SSD の信頼性が上がってきたことから、オールフラッシュ化に取り組まれている方も多いと思います。一度オールフラッシュ・ストレージを利用すると、HDD には戻れなくなります。ただ、いかんせん、価格がまだまだ高すぎます。ストレージ専用機でオールフラッシュ化すると、すぐに億単位の見積もりができてしまいます。20~30TB 位の容量を確保し、バックアップを取得し、バックアップを遠隔地にレプリケーションしたい、等ということを考えるとそうなります。本番環境やステージング環境であれば、このような額の投資もありうるものと思われますが、開発環境や検証環境では、なかなか難しいものと思われます。

そこで、LIO Cluster の登場です。
ESXi の共有ディスクとして利用できます。VAAI がサポートされています。弊社の ESXi の共有ディスクは、LIO Cluster にしています。WSFC の共有ディスクとしても利用できます。SCSI3 Persistent Reservation 機能がサポートされています。データベースを冗長化する際の共有ディスクとしても利用できます。


検証環境は機能を満たす範囲で、安ければ安いほどいいということで、弊社の検証環境は、以下のような構成にしています。

サーバ: Fujitsu Primergy TX1310 M1、3万円ほど
CPU: Pentium G3420 (2C2T)
Memory: 4GB
RAID コントローラ: Adaptec、3万円ほど
SSD: Crucial 525GB × 4台、5万円ほど
NIC: X540-T2 (10Gbps 2ポート)、3万円ほど

計 14万円ほど ×2

このスペックのサーバを2台用意し、LIO Cluster にしています。

ESXi をインストールするサーバは以下のスペックを8台用意しています。

サーバ: Fujitsu Primergy TX1310 M1、3万円ほど
CPU: Xeon E3-1231V3 (4C8T)、3万円ほど  (ESXi インストール時にのみグラフィックカードを別途利用)
Memory: 32GB、3万円ほど
NIC: X540-T2 (1Gbps 4ポート)、1万円ほど

計 10万円ほど ×8

スイッチは、10Gbps ポートが4個ついている NetGear の S3300-28X を2台、ダイレクトアタッチケーブル2本でつなぎスタックを構成します。計15万円ほどです。

メーカのサポートは一切ありませんが、それなりに満足して使っています。
ESXi のメモリが 32GB というのは時々つらいので、64GB 搭載可能なサーバに置き換えたい、という考えは持っていますが、もうしばらく我慢するつもりです。VCSA が 16GB も使うので、そのうち 32GB 要求してくるのではないかと危惧しています。



上記の ESXi 8台のうちの4台に、SSD を4台ずつ追加し、10Gbps NIC を追加し、オールフラッシュの VSAN 検証を始めました。10Gbps NIC は、NetGear XS708E に接続しています。


LIO Cluster  上にある仮想サーバ (A) と、VSAN 上にある仮想サーバ (B) で、fio によるベンチマークを取得してみました。

4K Block Random read, 32 Job, 100MB x32 data
 (A) 89.4 MB/s, 22465 iops
 (B) 92.1 MB/s, 23151 iops

4K Block Random write, 32 Job, 100MB x32 data
 (A) 98.5 MB/s, 24638 iops
 (B) 94.8 MB/s, 23718 iops

4K ブロックサイズのランダムアクセス、32個のジョブが同時実行されます。それぞれのジョブは 100 MB のファイルを持っていて、そのファイル内をランダムアクセスします。

SSD: Crucial 525GB の単体性能が、カタログスペックで以下のようになっています。
シーケンシャル読み取り : 530MB/s
シーケンシャル書き込み : 510MB/s
4KBランダム読み取り : 92,000 IOPS
4KBランダム書き込み : 83,000 IOPS

HDD でテストした時の100倍をはるかに超える性能が出ています。
ボトルネックは、サーバの PCIe バス (CPU のバス) の性能だと判断しております。Xeon 2ソケットのサーバでテストすると、もう1桁性能が向上すると考えています。
性能を求めると、コストも簡単に1桁、2桁上昇してしまうので、検証環境としては十分な性能が出ている、ということにします。

ESXi on ESXi の上で VCSA を利用してみましたが、物理サーバ HDD 上の Windows vCenter よりも快適に利用できました。HDD の利用をやめて SSD にした場合、仮想化のオーバヘッドはとるに足りないものであることが実感できます。


この環境に関する LIO Cluster 障害試験をブログに連載することに意味があるかどうかですが、サポートが存在しない、このような環境を利用する人はほとんどいないと思うので、今のところ意義を見出せていません。VSAN の障害試験についてであれば、それなりの意義があると思いますが、別途気が向いたら (NSX に関する連載の続きとして) 掲載することにします。
IBM Bluemix (SoftLayer) の共有ディスクとしての LIO Cluster であれば、今すぐにでも利用したい人はいると思うのですが、いかんせん、現在私がテスト環境を有していないため、スポンサーが出てくるのを待つことにします。Bluemix では、非常に高くついたとしても、QuantaStor を利用して Bluemix のサポートを受けた方がいいのかもしれません。QuantaStor も DRBD による冗長化をサポートしているはずです。


予算が許せば、以下の構成で LIO Cluster を構築したいと考えています。資材だけで2台計300万円です。

サーバ: Fujitsu Primergy TX1330 M2 (5インチベイ搭載、冗長化電源、ラックマウント可能)
5インチベイ1つに8台の SSD を搭載できる HDD ケース 2個
RAID コントローラ: MegaRAID 16ポート
SSD: Crucial 2TB × 16台
NIC: X540-T2 (10Gbps 2ポート)

同じような構成でサポートがあるメーカ製サーバにすると、CE費、SI費抜き、2台で2000万円ほどになります。ストレージ専用機で同容量を確保すると大台に乗ると思います。この価格構造はどうしようもないです。Google 社などは、安い機材を集めて独自にサーバを組み立てているので、AWS が SSD を積極的に利用している現状が理解できます。


オンプレミス環境における現時点のオールフラッシュ・ストレージの本命は、コスト対効果からすると、VSAN だと考えています。ただし、VSAN では、ESXi の共有ディスクにはなり得ても、WSFC の共有ディスクにはならないので、その隙間を埋めるものとして、仮想サーバで構築する LIO Cluster が必要となるのではないかと考えています。データベースを冗長化する際の共有ディスクについても同様です。
共有ディスクのバックアップを考えた場合、ある程度の大きさを超えるとストレージのスナップショット機能が必須となります。更に差分バックアップができないと、バックアップ時間が許容範囲を超えてしまいます。遠隔地へのレプリケーションでは、重複排除、圧縮機能が必須だと思われます。これらの機能を求めると、ストレージ専用機が必須となってしまうのですが、ストレージ専用機のオールフラッシュ構成は、あまりにも高価すぎます。
VMware の VSAN、VDP、Replication を利用する前提で考えると、LIO Cluster を追加することで、ストレージの仮想化というシナリオが完成します。LIO Cluster のバックアップは、VDP で取得することができます。VDP でバックアップすれば、重複排除、圧縮がなされます。バックアップをレプリケーションする機能もあります。VDP によるバックアップは差分バックアップなので、上記のニーズを一通り満たします。VDP のサポートはあれなので、同等以上の機能を有する別のソリューションに置き換えると、それなりの性能をそれなりの価格で、それなりのサポート付きで享受できます。
バックアップを積極利用できるデータの仮想化という観点で、Actifio が面白いと考えています。仮想環境に最高性能を求めてはいけませんが、便利な機能は追及すべきです。


思いつくままにつらつらと述べてきましたが、仮想環境の LIO Cluster を利用する WSFC を構築し、障害試験を実施することとします。これらの仮想マシンをオールフラッシュの VSAN 上で動かします。このシナリオが、LIO Cluster を生かす最善のものだと考えています。ただし、VSAN については本連載の範囲外と考えていますので、本連載の障害テストのシナリオ内には登場しない想定です。
Oracle での利用については、Oracle 用のクラスタと、LIO Cluster を動かすための VSAN クラスタに分けます。Oracle のライセンス費用は、ストレージ専用機よりもはるかに割高なのですが、オールフラッシュのストレージ専用機利用を考えるのであれば、コストが均衡してきますので、そのコストダウンを図る目的としての VSAN 導入はありうると思います。少なくとも、HDD ストレージを利用しているのであれば、すぐにでも置き換えを検討すべきだと考えられます。置き換えたら、Oracle を動かしているサーバの CPU コア数を半減させても、それまで以上にきびきびと動作してくれるものと思われます。時間が許せば、こちらの障害テスト環境も準備したいと思います。

0 件のコメント:

コメントを投稿