ストレージのテストは難しいんだよ | とりあえず、できるといってみよう!

ストレージのテストは難しいんだよ

匿名ブログだったこのブログも、読者がTwitter経由がほとんどであるがために素性がしれている今日この頃、僕がストレージについて語るのはやぶ蛇になるので避けていましたが、最近ストレージのテストについて「俺ならもっとちゃんとやるのにこの会社は足りなかった」的な物言いが目についたので、思うところをつらつらと。

最初に、ストレージのテストは難しいです。以上です。


… と、いってもいいくらい、難しいです。で、その難しさは色々な要素があるわけですが、ひとまずそれはおいておいて、ベンダーは出来る限りのことをしてテストをしています。SIerもそうです。お客様もそうです。その結果うまく行かなかったとして、ベンダーはお金を頂戴しているのであからさまな無理要求/サイジングミス以外については責められてもしょうがないと思っています。心では謝ります。ビジネスなので、時と場合によっては謝れない人もいるかも知れませんが、心のなかではみんな概ね謝っていると思います。SIer、お客様の担当者が責められてしまうのは、責める側の理解不足がほとんどじゃないかなあ、と思ってます。

と、いうことで、このエントリーは、別にストレージのテストをこうしろ、とか偉そうにいうものではありません。
よく考えてみるとストレージベンダー、特にNASの会社でテストをやってる日本人ってあんまりいないと思うので、ブログのネタとしてはいいかも、という緩い話です。

前置きが長くなりましたが、以下、NASの話です。SANにも共通するところはあると思うけれど、また別ですね。

よくある誤解その1:
「複雑な状態にして、負荷を長時間ガンガンかければいい」

負荷をかければ、そりゃ、ストレージは止まりますよ。ハングするか、パニックになるか、超遅くなるかはケースバイケースですが、どれがいいんですか?という話です。1万IOPSが目標だったとして、1万1番目のIOが来たらエラー返せばいいんですか?という話でもあります。どうして欲しいかの好みは色々ですが、正解はありません。僕が個人的に大事だと思ってるのは、まずはデータが壊れないこと。できれば綺麗に落ちて欲しい。
如何に現実的な高負荷を作るか。その高負荷状態でなにが保たれることが目的なのか。難しい問題です。

よくある誤解2:
「10Gbpsの口がついてるんだから、10Gbps分はいくらでも負荷をかけていいはずだ。というか常に10Gbps出ろ」

スイッチしか触ったことがない人のセリフですね。昔はそれでも大丈夫でした。1Gbpsの線がボトルネックになっていて、ストレージ側が多くの場合余裕とか。最近は10Gbps 2本とか、うちの製品にはありませんがFDRのInfinibandをフロントに持ってきたりとか。そうなってくると、ボトルネックは移ってきます。CPUボトルネックにせよ、Diskボトルネックにせよ、「ストレージが遅くなった」と呼ばれる結果となります。
ひどい場合は、NASに対して1byte packetを投げて、「XXXMbpsしか出てない」とかいう人とか。おっと、このブログは愚痴る場ではないのです。

よくある誤解3:
「アメリカの本社に聞け。アメリカのエンジニアを連れてこい。」
よくある誤解4:
「お前たちはソースを読めるんだから直せるだろう」

3.4は途中まで書いたのですが、変に受け取られると嫌なので書くのやめました。なんか眠いし。

あとは、ディスクの玉やその他のコンポーネントは自社製でないので(それに近いことが出来る会社って日立くらい?それも状況が変わりましたが。)、突然HDD側のFirmware Bugが浮上したりするとか、色々な要素があって、なかなか大変です。

ちょっと話を戻して、結局「よくある誤解1」で書いたことに尽きるのですが、すんごくテストをするとして、我々も1年中ストレージのテストだけしてますが、導き出される製品というのは、いくら負荷をかけても性能が出る製品、ではないということです。どこまでの負荷をかけた時に、どういう状況を保全するのかというバランスの問題になります。

それがお客様の期待値と異なる場合、もしくは、期待値としてはあっていても、実際にシステムを動かしたときのアクセスパターンと異なる場合にどうしてもズレが出てしまうので、そこをフィールドのSE、パートナーのSEに吸収してもらっているのが現実です。世の中に万能薬がないように、万能なストレージもありません。が、作る側も使う側も万能なストレージを目指しているというこれまた矛盾。

僕の悪い癖でだいたい書いているうちによくわからなくなってまとめるのが面倒になってくるのですが、昔のようにオーバーキャパシティのストレージを買って、5年間変わらぬ負荷で動かすという時代でもないので、ストレージを取り巻く環境って変わってきたよなあ、というつぶやきがちょっと長くなっちゃったよ、というお話でした。

なんか尻すぼみ感がすごいね、このエントリー。