株 式 会 社 ビットアイル:Fusion-io を 利 した 仮 想 分 散 ストレージ 性 能 評 価 1
本 文 書 は 仮 想 分 散 ストレージ 環 境 において Fusion-io 社 ioscale を 利 した 際 のストレージ IO 性 能 を 評 価 したも のである 本 検 証 は 付 録 1 にある 検 証 環 境 で 実 施 したものである 当 該 環 境 における 性 能 評 価 のための 検 証 であり ioscale に 関 する 性 能 を 保 証 するものではない 目 次 1 仮 想 分 散 ストレージの 仕 組 み... 3 2 仮 想 分 散 ストレージの 動 作... 3 3 クラウドサービスに 適 したストレージとは... 4 4 クラウドサービスが 仮 想 分 散 ストレージに 期 待 するもの... 6 5 検 証... 8 6 付 録 1. 評 価 を った 検 証 環 境... 13... 本 文 書 に 記 載 されている 商 品 サービス 名 は 各 社 の 商 標 または 登 録 商 標 です 2
1 仮 想 分 散 ストレージの 仕 組 み 仮 想 分 散 ストレージは 仮 想 化 環 境 にて 一 般 的 な IA サーバーを 利 して 共 有 ストレージ 機 能 を 提 供 する 仕 組 みである SSD 及 び HDD を 内 蔵 した 仮 想 化 ハイパーバイザー 搭 載 サーバー( 以 下 仮 想 化 ホスト) 同 士 でクラスタを 組 むことで あ たかも 外 付 けの 共 有 ストレージが 存 在 するかのように 利 することが 出 来 る 簡 単 に えば ファイバチャネルや iscsi NAS 等 の 共 有 ストレージ 環 境 を 用 意 しなくても 仮 想 ホストレベルの HA(High Availability) 及 び 仮 想 マシンのライブ マイグレーション 環 境 が 組 める 機 能 である データミラーリングの 為 のデータは 仮 想 化 ホスト 間 のネットワーク 上 を 流 れる 為 必 要 分 なネットワーク 帯 域 が 必 要 となる 検 証 環 境 では 10Gbps Ethernet ネットワーク 内 にデータミラーリング 用 仮 想 化 ホスト 管 理 両 のトラフィックを 同 時 に 通 す 構 成 とした SSD は HDD の 前 段 のキャッシュとして 動 作 し デフォルトでは Read に 70% Write に 30%の 率 となっている IO は SSD が 受 け 持 ち 余 裕 のある 時 に HDD へデータを 移 すという 動 作 を う 今 回 は SSD の 代 わりに さらなる 高 速 デバイスである Fusion-io 社 ioscale 825GB( 以 下 ioscale)を 使 用 し 検 証 を う ioscale を 搭 載 した 仮 想 化 ホストに 専 用 のドライバをインストールする 事 により ioscale を SSD と 同 様 に 仮 想 化 ホ ストから 認 識 させる その 為 仮 想 化 ホストからは ioscale である 事 を 意 識 せず SSD と HDD のペアが 搭 載 されているよう に える 2 仮 想 分 散 ストレージの 動 作 以 下 が 冗 性 を 含 めた 仮 想 分 散 ストレージの 大 まかな 動 作 である( 許 容 される 障 害 数 を 1 ストライプ 数 0 の 場 合 ) 1) A と B という 2 つの 仮 想 化 ホストがあり A と B はクラスタ 構 成 を 組 んでいる 2) ゲスト OS が A の 上 にいる 時 に 書 き 込 みを うと A は 自 身 の SSD と B の SSD に 同 時 にデータを 書 き 込 む 3) 両 SSD への 書 き 込 みが 完 了 すると 数 秒 後 には HDD に 自 動 的 に 書 き 込 まれる 4) A から B へのデータのコピー(ミラーリング)には 専 のネットワークを 利 する 5) SSD だけで 書 き 込 みは 完 了 する 為 直 接 HDD へ 書 き 込 むよりはるかに 速 い 時 間 で 完 了 する 仮 想 化 ホストが 複 数 存 在 する 場 合 データがどの 仮 想 化 ホストにまたがって 書 き 込 まれるかを 指 定 する 事 は 出 来 ない 完 全 動 選 択 となり その 都 度 選 ばれた 仮 想 化 ホストに 書 き 込 まれる 事 となる 読 み 込 みの 際 の 動 作 では 容 量 毎 に 読 み 込 みに 使 う 仮 想 化 ホストが 予 め 決 められている ここでは 仮 想 化 ホスト B が 読 み 込 み 用 として 選 出 されたとする 仮 想 化 ホスト B は SSD 上 にデータを 探 しに き SSD にデータが 存 在 すれば SSD から 読 み 込 みを う SSD に 無 かった 場 合 は 自 身 の HDD から 読 み 込 みを う その 為 膨 大 な READ キャッシュを 有 する 昨 今 のハイエンドストレージ 群 と 比 べると (SSD 容 量 にも 左 右 されるが) 仮 想 分 散 ストレージ 環 境 でのキャッシュヒット 率 は 低 くなると 予 想 される また 仮 想 化 ホスト 内 蔵 の HDD から 読 み 込 む 場 合 は HDD の 本 数 / 構 成 によりおおよその IOPS が 決 定 する 例 えばも っともシンプルに HDD を 1 本 しか 搭 載 していない 仮 想 化 ホストでは 100IOPS 程 度 が 限 界 と 考 えられる 3
3 クラウドサービスに 適 したストレージとは クラウドサービスに 求 められるストレージ 性 能 とは 第 一 に IOPS 第 二 にデータのリバランスであると 言 える IOPS というのは 秒 間 あたり 何 回 出 を えるか を 表 す 数 値 である 一 昔 前 であれば 何 MB/sec という 転 送 速 度 そのものについて 論 じることもあったが クラウドサービスにおいてはあまり 重 要 ではない クラウドにはそれを 利 する 多 数 の 顧 客 が 存 在 し それぞれが 必 要 な 時 に 必 要 なだけストレージへの 出 を っている つまり IOPS という 一 つのバケツに 入 ったリソースを 湯 水 のごとく 消 費 する と 考 えればよい そして 問 題 は 多 くのお 客 様 が IO を 欲 しがる 時 間 帯 は 重 なるという 事 だ クラウド が 何 故 効 率 だと われるのか それはまさに 資 源 の 有 効 活 であり あまりサーバーを 利 しない 時 間 帯 に は 他 のサーバーへ 余 剰 なリソースを 振 り 分 ける 事 が 出 来 るからである だが 残 念 ながら サービス としてのクラウドはそこまで 効 率 よくリソースを 配 分 する 事 は 出 来 ない 我 々がサービスを 使 う 時 間 というのはほぼ 限 られている コンテンツでもゲームでも 同 じことで 昼 休 みと 夜 間 に 多 くのサービス 利 が 集 中 する 中 はカフェで 夜 は 居 酒 屋 というような キッチリ 分 けた 作 はまず 不 可 能 である 連 休 中 に 速 道 路 が 渋 滞 するのと 緒 で では 渋 滞 を 避 けて 平 に 出 かければ 良 いかと えば ほとんどの は 不 可 能 であろう つまり クラウドに 利 するストレージの 負 荷 というのは 常 に 集 中 するものなのである ここで 弊 社 クラウドサービスにおける IO の 傾 向 を てみよう 図 1.クラウドサービスにおける IO 利 割 合 実 績 4
このグラフはストレージに 対 して IN と OUT がどの 程 度 われているかの 較 である 対 象 となっている 仮 想 化 ホスト 数 は 数 百 台 データ 量 は 数 百 TB 以 上 となっているので 決 して 偏 ったデータでは 無 く クラ ウドサービスの IO 傾 向 を 判 断 するのに 相 応 しい 材 料 と える 興 味 深 いのは Read が 平 均 500IOPS Write が 平 均 2,800IOPS ほどとなっており 読 み 込 みに 対 して 書 き 込 みが 数 倍 も 多 い 事 だ 顧 客 サービスのオープン 当 初 であれば ゲスト OS 作 成 や 構 築 などの 為 に 書 き 込 みが 多 くなるのも 解 るが ここで 示 したグラ フは 2 年 以 上 運 中 のものである 多 くのストレージベンダーはストレージの 性 能 比 較 の 際 に Read70%/Write30%を 掲 げているが この 前 提 はクラウドサー ビスを 対 象 とした 場 合 あまり 当 てはまらないことになる 新 規 顧 客 の 初 期 構 築 分 を 考 慮 しても Read は 3 割 もあれば 良 いと 考 える そこで 今 回 は Read30%/Write70%をベ ースとしてベンチマークテストを う 事 にする 5
4 クラウドサービスが 仮 想 分 散 ストレージに 期 待 するもの 仮 想 分 散 ストレージでは 書 き 込 まれたデータは 別 の 仮 想 化 ホスト 上 の SSD へ 同 時 に 書 き 込 み 処 理 が われる 書 き 込 む 数 は 指 定 する 事 が 可 能 で 書 き 込 み 先 仮 想 化 ホストが 増 えるほど 流 れるデータの 量 も 増 する また その 数 (ミラー 数 ) が 増 える 程 パフォーマンスにも 影 響 が 発 生 する 仮 想 化 ホストの 障 害 は 仮 想 分 散 ストレージの 障 害 に 直 結 する 為 冗 設 計 には 注 意 が 必 要 だ 2 台 の 仮 想 化 ホストが 同 時 に 障 害 を 起 こした 場 合 を 考 え RAID6 と 同 じように 仮 想 化 ホスト 3 台 による 3 面 ミラーとする のが 望 ましい と 言 いたいところだがここで 考 えなければならない 事 がある 図 2. ゲスト OS 上 で 仮 想 HDD をミラーリングする 仮 想 分 散 ストレージのデータのミラーリングはゲスト OS に 割 り 当 てられた 仮 想 HDD 1 台 毎 に ミラーの 数 だけ 仮 想 化 ホ ストが 割 り 当 てられる データが 完 全 にアクセス 出 来 なくなる 場 合 というのは 下 記 の 場 合 だけである 仮 想 HDD を 構 成 している 仮 想 化 ホスト 2 台 が 同 時 障 害 ( 障 害 時 間 帯 が 重 なっている 時 )を 起 こした 場 合 もちろんそれでも 他 の 仮 想 化 ホストが 構 成 した 仮 想 HDD に 影 響 は 無 いし それらを 割 り 当 てられたゲスト OS にも 影 響 は 無 い そう 考 えるとパフォーマンスの 低 下 に 目 をつぶって 安 易 に 3 ミラーとするのは 必 ずしも 良 い 選 択 とは えないのである ではクラウドサービスという 観 点 で 考 えてみよう 6
2 台 の 仮 想 化 ホストに 同 時 障 害 が 起 きた 時 は どこかのお 客 様 のいずれかのゲスト OS のいずれかの 仮 想 HDD のデータ が 消 失 する とこととなる 葉 にしてみるとすぐに 解 るが 影 響 範 囲 は 狭 いが 影 響 を 把 握 する 事 がとても 難 しいのだ 以 上 の 事 から 今 回 の 検 証 では 3 面 ミラー 構 成 とした 何 を 以 てクラウドサービスとして 利 可 能 か 判 断 する 基 準 は 非 常 に 難 しい そこで 今 回 は 以 下 をその 基 準 とする 一 般 的 には 仮 想 化 ホストにとってディスクの 遅 延 の 許 容 範 囲 は 20ms といわれている ディスクの 遅 延 とはストレージに 対 して 多 数 の 出 が われ ストレージの IOPS の 限 界 を 超 えた 時 処 理 しきれない IO が 待 ち 状 態 になることである 20ms の 遅 延 と 言 った 場 合 仮 想 化 ホストが 出 を 試 みている 最 中 ストレージから 書 き 込 みを 完 了 した という 応 答 が 20ms 遅 れて 届 いている 状 態 と 考 えてよい 書 き 込 みたいデータがあっても 少 しずつ 処 理 しきれない 状 態 である 実 際 の 運 用 経 験 から 言 わせて 頂 ければ 20ms 程 度 の 遅 延 はほぼ 問 題 にならない 経 験 上 お 客 様 のサービスに 影 響 が 出 始 めるのは 大 体 100ms 位 からである そこで 今 回 ベンチマーク 結 果 に 限 っては 100ms 程 度 の 遅 延 は 許 容 範 囲 とする もちろん 運 用 中 100ms の 遅 延 が 継 続 するのは 問 題 なのだが ベンチマークソフトは 常 に IO を 掛 け 続 ける 為 間 欠 的 な 遅 延 が 起 こるようトラフィックを 調 整 するのは 難 しい IOPS は 1 ゲスト OS あたり 50IOPS と 試 算 し 1 仮 想 化 ホストでは 500IOPS を 確 保 できることが 望 ましい 通 常 HDD1 本 あたりの MAX IOPS は 40 100IOPS である 為 HDD を 1 本 搭 載 した PC の IOPS もほぼその 程 度 であ ると 考 えられ サーバーであっても HDD1 本 あたりの IOPS は 変 わらない もちろん 全 てのゲスト OS が 常 に 50IOPS 使 い 続 けるような 状 況 は 無 いだろうが 実 際 には 全 く IO を わないゲスト OS も 居 れば 間 欠 的 に 100IO 以 上 うゲスト OS もあることだろう また 昨 今 の PC やサーバーには SSD が 搭 載 されるものもあるが それらは 1 本 あたり 20,000IOPS を 軽 く 超 えてしまう 物 もある こういった 特 殊 用 途 のサーバーを 今 回 の 基 準 にするのは 少 々 乱 暴 であり 仮 想 分 散 ストレージのターゲットとして ローエンド ミドルレンジの 共 有 ストレージとしての 利 があげられることからも IO 偏 重 な 用 途 に 仮 想 分 散 ストレージを 当 てはめるのは 無 理 がある 7
5 検 証 検 証 用 には IBM 製 のサーバー System x3550 M4 を 8 台 用 意 し 全 てに ioscale と HDD を 搭 載 し 仮 想 化 ハイ パーバイザーのインストールを った これらの 仮 想 化 ハイパーバイザー 上 で 1 つのクラスタを 構 成 し 全 ての 仮 想 化 ホストで 共 有 する 仮 想 分 散 ストレージデータ ストアは 1 つとした IOPS は 合 計 4,000IOPS 程 確 保 出 来 れば 良 いと 考 えられる ベンチマークテストはゲスト OS 上 で IOmeter を 使 用 する 過 去 の 実 績 から 比 較 的 安 定 しており 明 らかにおかしな 結 果 を 出 したり 変 なクセも 無 く 動 作 も 安 定 している IO の 多 重 度 とブロックサイズを 変 えてのテストにも 対 応 しており 多 重 アク セスとさまざまなブロックサイズでのアクセスが 多 いクラウド 環 境 には 最 適 である Linux 用 のベンチマークツールでは OS 環 境 によりおかしな 挙 動 をしたり 途 中 で 強 制 終 了 するような 不 安 定 なものが 受 けられるが Windows 用 IOmeter に 関 しては 今 のところそういった 不 具 合 は られない 多 重 度 とは 同 時 に う IO の 数 で 多 重 度 10 であれば 一 気 に 10 ファイルを 書 き 込 んでいるのと 同 じ 状 態 である 数 十 程 度 が 性 能 を 図 るのに 良 いとされており それ 以 上 は 多 重 度 を 上 げてもパフォーマンスは 伸 びない 今 回 は 多 重 度 50 とす る ブロックサイズは 較 的 良 く 使 われるサイズ 4k 1MB とした 1MB 以 上 の 書 き 込 みは 利 例 も 少 なく 仮 想 化 ハイパー バイザー 上 では 大 きすぎて 分 割 されてしまうことからもテストには 使 用 しない 検 証 環 境 をまとめると 以 下 のようになる 仮 想 化 ハイパーバイザーを 搭 載 したサーバーから 共 有 ストレージとして 利 する 仮 想 分 散 ストレージは 仮 想 化 ハイパーバイザーから データストア として 提 供 されゲスト OS 領 域 を 格 納 する 仮 想 分 散 ストレージは 共 有 ストレージとして HA 機 能 にも 利 される クラウドサービス に 使 用 する 共 有 ストレージである 遅 延 は 20ms 程 度 までが 理 想 ただし 100ms 程 度 のスパイクは 問 題 なしとする (ベンチマークでは 常 に IO を 掛 け 続 ける 為 100ms 程 度 で 推 移 した 場 合 でも 実 には 問 題 無 いと 判 断 する) IOPS の 目 標 値 は 1 ホストあたり 500IOPS とするが 一 般 的 なクラウドサービスと 比 較 した 上 で 判 断 する 冗 性 は 3 面 ミラー 構 成 (ストライプ 数 :0) ベンチマークのアクセスパターンは Read30% Write70%とする ベンチマークのブロックサイズは 4k 1MB とする 8
まず 一 般 的 なクラウドサービス(= 国 内 の 一 般 的 なクラウドサービス)と IO 性 能 を 比 較 した 一 般 的 なクラウドサービス では 共 有 ストレージには iscsi や NAS 等 の 専 用 ハードウェア 機 器 (ミドルレンジ ハイエンド)が 使 われていると 考 えら れる 図 2. 一 般 的 なクラウドサービスと 仮 想 分 散 ストレージの 比 較 (IOPS レスポンス 時 間 ) 9
一 般 的 なクラウドサービスと 仮 想 分 散 ストレージとの 比 較 では どのブロックサイズにおいてもほぼ 仮 想 分 散 ストレージのほ うが IO パフォーマンスは 優 れている 特 にブロックサイズが 4K 64K の 範 囲 では 数 千 IOPS 程 出 ており 理 想 とする 4,000IOPS を 大 きく 上 回 り 十 分 実 用 的 な 速 度 と える 256K 以 上 になると 全 体 で 4,000IOPS という 目 標 には 届 かないものの それでも 一 般 的 なクラウドサ ービス 以 上 のパフォーマンスは 得 られている 逆 に 問 題 となるのはレスポンスタイムで ブロックサイズが 64K までは 実 に 耐 える 速 度 でレスポンスを 返 しているものの 256K を 超 えると 100ms を 超 え 512K では 200ms を 超 えてしまっている 1M では 500ms を 超 える 結 果 となり サ ービスに 影 響 が 出 始 めるレベルの 遅 延 となる おそらくデータをミラーする 際 複 数 ホストの ioscale に 書 き 込 み 全 ての 書 き 込 み 完 了 を 待 って 次 の IO を うという 動 作 が 原 因 と 考 えられる ホストをまたいだ Ethernet 経 由 のミラーリングを うことによる きなペナルティと える なお 実 サービス 環 境 においては 複 数 台 の 仮 想 化 ホスト 機 から 同 時 に IO リクエストが 発 生 する よって 今 回 の 検 証 によっ て 得 られた IOPS 値 の N 倍 の 性 能 が 出 るものと 考 えられる ホストの 数 による 性 能 限 界 ( N 倍 )は 今 回 の 検 証 範 囲 外 である 10
ミラーのみの 仮 想 分 散 ストレージとストライプを った 仮 想 分 散 ストレージの 比 較 仮 想 分 散 ストレージには 冗 性 の 為 のミラーリング 機 能 とは 別 に パフォーマンス 確 保 の 為 のストライピングの 仕 組 みが 備 わ っている ミラーを RAID1 とするとストライプは RAID0 のようなもので 以 下 は 両 方 を 合 わせて RAID10 の 様 に 構 成 した 場 合 の 結 果 となる 図 3. 仮 想 分 散 ストレージストライピングでの 比 較 (IOPS レスポンス 時 間 ) 11
今 回 の 構 成 ではストライピングの 対 象 は ioscale となるのだが 結 果 は 振 るわない ブロックサイズ 32K 256K の 間 は 少 し 上 回 るものの ミラーのみの 仮 想 分 散 ストレージとそこまで 結 果 は 変 わらない レスポンスタイムの 結 果 も 同 様 だ 結 果 まとめ 仮 想 分 散 ストレージで 構 成 されたデータストアは 一 般 的 なクラウドサービスよりも 良 好 な IO パフォーマンスが 得 られた ミラ ーリングによる Ethernet ボトルネックを 合 わせて 考 慮 すると 顧 客 側 で 完 全 にコントロールの 利 くプライベートクラウド 環 境 に おける 選 択 肢 に 適 していると 考 えられる 高 価 な 共 有 ストレージを 用 意 しなくても HA 環 境 を 組 むことが 出 来 比 較 的 価 格 がこなれてきた ioscale を 利 することでより 良 好 な IO パフォーマンスを 得 られることからも プライベートクラウド 構 成 の 有 な 候 補 となるだろう ただし 大 きめのブロックサイズを IO した 場 合 遅 延 の 問 題 が 発 生 し 一 般 的 に 利 するアプリケーション 等 を 選 ぶと 考 えられ る なお これはベンチマークテスト 中 にバッファが 溢 れて 遅 延 を 発 生 させた 可 能 がある 検 証 時 間 の 関 係 で 今 回 は 原 因 の 特 定 にはいたらなかったため 1MB ブロックサイズの 数 値 は 参 考 データレベルに 留 めたい 懸 念 された HDD へアクセスする 際 のパフォーマンス 劣 化 は られず 仕 様 どおり SSD(ioScale) 上 で 1 次 IO は 完 結 していると 考 えられる その 他 今 回 は 純 粋 にパフォーマンス 較 を っており 冗 性 試 験 や 運 設 計 は 考 慮 していない また 仮 想 分 散 ストレージデー タストアが 仮 想 化 OS のクラスタ 単 位 でしか 構 成 出 来 ない 制 限 や ミラーが 仮 想 ディスク 単 位 であることなどは 利 に 際 し ての 注 意 点 である 株 式 会 社 ビットアイル エンジニア 中 島 秀 平 12
6 付 録 1. 評 価 を った 検 証 環 境 13