Highlighted
3BAJ
1 Copper

Re: エキスパートに聞こう!Unisphere(Navisphere)Analyzerの数値を読み解く!【AskTheExpert1】

Pool BaseのLUN(Thin LUN / Thick LUN)のCache Hitに関しては確かに項目がありません。
これはCacheはHost LUN単位で管理しているわけではなく、実際にデータのRead / Writeを行う

Private LUN単位で管理しているからです。
Thin LUNに対して行われたIOは、Thin LUNを管理しているモジュールにて実際にデータのRead / Writeを行う

Private LUNとそのアドレスを特定されます。Cache内ではそのLUN単位で管理されます。
Private LUNのデータをAnalyzerで表示させることはできませんので、Pool BaseのLUNのキャッシュヒット率は

表示できないということになります。

SPに行われたIO数とDiskへのIO数でDisk IOのほうが多いとうことに関しては、Poolを構成している

Private LUNのRaidレベルによるものが考えられます。
PoolをRaid-5で構成している場合を考えると、Readの場合には読み出すDataがDiskをまたいでいない限り、
Hostからの1つのReadはDisk側でも1 Readで変わりません。Writeの場合ですが、
- Random Writeの場合 -
Random Writeの場合を考えてみると、例えば1block(512byte)のWriteを行う場合にはRaid-5ではOld ParityとOld Dataを

読み出し、
(New Parity) = (Old Parit) xor (Old Data) xor (New Data)
のようにしてNew Parityを計算し、New DataとNew Parityを書き込みます。
従って上位からの1 Writeを行うのに 2 Reads(Old Data, Old Parity) + 2 Writes(New Data, New Parity)の4IOが

必要となります。
Raid1/0の場合には、上位からの1 Writeに対して、内部では2 Write(Mirrorのため)が必要となり、
Raid-6の場合には、上位からの1 wirteに対して、内部では6 wirte必要となります。

- Sequential Writeの場合 -
Sequentialの場合には、Parity Raid(Raid-3/Raid-5/Raid-6)ではRaidのストライプのデータを
全て書き込むことができますので、Old Parityのデータを読み出す必要がありません。
従って、Raid-5では上位からの1 Writeに対して、内部では(1 + 1/N(Parity))のIOが発生します。
Raid1/0の場合には、上位からの1writeに対して内部では2 Writeが必要となり、
Raid-6の場合には、上位からの1 Writeに対して、(1 + 2/N(Parity))のWriteが必要となります。


サイジングに関してですが、まずはDiskのIOPSで考えてみてはどうでしょうか?
各Disk TypeのIOPSに関するRule of Thumbは以下のようになります。
NL-SAS : 90 IOPS
SAS10K : 140 IOPS
SAS15k : 180 IOPS
Flash : 3500 IOPS

上記がおおよその目安となります。かなり安全をみている数値となりもちろん最大値ではありません。
上記の条件ですがSmall Size(4KB) ”Random IO”の場合となります。

返信
Highlighted
mawatarai
4 Beryllium

Re: エキスパートに聞こう!Unisphere(Navisphere)Analyzerの数値を読み解く!【AskTheExpert1】

詳細なご回答ありがとうございます。

SP上ではWPが考慮されていなかったのですね。

とても参考になりました。

また、ディスクIOでサイジングはよく行うのですが、ディスクIOだけでサイジングするとかなりディスク本数が多くなることが多いです。

(WPの兼ね合いが大きいです。)

ディスクIOでやるとかなり安心感はあるのですが、他社のサイジング(メーカのサイジングツール使用しているようです)を見るとキャッシュヒット率も考慮されてかなりディスク本数に差があり提案等しづらくなっているため、キャッシュヒット率を考慮したいと検討していました。

この辺でディスクIOだけでなくキャッシュ等も含めたサイジングを行うに当たり何かいい情報はないでしょうか?

返信
Highlighted
3BAJ
1 Copper

Re: エキスパートに聞こう!Unisphere(Navisphere)Analyzerの数値を読み解く!【AskTheExpert1】

前述の通りAnalyzerではPool BaseのLUNのキャッシュのヒット率は計測できません。
なので、お問い合わせのようなサイジングをAnalyzerで行うのはちょっと難しいかもしれません。

サイジングを行う場合には、上位側で必要とするIOPS、容量、アクセスパターン(Read/Writeの比率)を知る必要があります。
上位側の必要要件がわかるのであれば、DiskのIOPS(Rule of Thumb)から要求を満たすRaidレベル、Disk本数が計算されます。


サイジングとは異なるのですが、ボトルネックを探すような解析ということであれば、
まずはSP / LUN / DiskのUtilization / Queue Length / Response Time を参照、比較してみてください。

返信
Highlighted
mawatarai
4 Beryllium

Re: エキスパートに聞こう!Unisphere(Navisphere)Analyzerの数値を読み解く!【AskTheExpert1】

ご回答ありがとうございます。

ちなみにですが、ディスク構成がすべてRAID1/0でRandom IO(Read100 IO/Wirte100 IO)と仮定した場合、SPで取得できるWrite IOに関してはWPの2をかけて200 IOとRead 100 IOの合計300IOがディスクで処理されるべきIOPSとして考えれますでしょうか。

上記ができる場合、ディスクIOとSP IOの差がキャッシュでさばかれているIOと判断することは可能でしょうか?

返信
Highlighted
3BAJ
1 Copper

Re: エキスパートに聞こう!Unisphere(Navisphere)Analyzerの数値を読み解く!【AskTheExpert1】

上記条件であれば上位側での要求が200IOPSに対して、Diskに要求されるIOPSは300 IOPSとなります。

なお、ディスクIOとSP IOの差でキャッシュヒット率を算出するのは困難です。
Pool Base LUNの場合には、Slice(1GB)の集合で構成されますのでDataの配置を管理するMeta Dataが存在します。
このMeta DataもUser Dataと同様の”Data”としてCache上で管理されます。それほど多いIO数ではありませんが
このMeta Dataの書き込みもWriteとしてDisk IOに反映されてしまいますので、IOカウントからキャッシュヒット率
を計算することは難しいと考えられます。

返信
Highlighted
モデレーター
モデレーター

Re: エキスパートに聞こう!Unisphere(Navisphere)Analyzerの数値を読み解く!【AskTheExpert1】

日本語コミュニティーのモデレーターをやっている上原です。(今回のエキスパートの上原さんとは別人です)

第一回目の「エキスパートに聞こう!」イベントからいきなり高度なディスカッションになってますね!
まだ1週間以上時間があるので、この機会を是非利用してください。

とはいっても「どんな質問すればいいのだろう?」となやんでいる方がいるかと思います。

例えばなのですが、

「そもそもVNX/CLARiXのストレージとしてのパフォーマンスを見るために、まずはAnalyzerのどの項目をおさえておけばいいのか?」
「あるホストからのアクセスが遅くなったように感じた場合に、その原因がストレージにあるのかをAnalyzerを使って確認しようとしたら、何からどうやって始めればよいのか?」

っていうような基本的、といいつつ実はエキスパートでないと答えるのが難しい質問なんてどうでしょうか?(「あー、そうそう!」って思われた方がいらっしゃったら上の質問をコピペして利用して頂いて結構です

またはUnisphere Analyzer Command Line Interface (CLI) ReferenceのP.38以降にあるそれぞれの項目の意味、例えば「Queue LengthとAverage Busy Queue Lengthって何が違うんだろう・・」なんていうのもありかと。

正直な話、EMC社内でも上原さんに質問が出来るチャンスは結構少なかったりします。今を逃すと一生わからないままになってしまうかも知れません(まぁそれが心残りになるとはちょっと思いにくいですが・・・)。是非この機会をお見逃しなく!

返信
Highlighted
mawatarai
4 Beryllium

Re: エキスパートに聞こう!Unisphere(Navisphere)Analyzerの数値を読み解く!【AskTheExpert1】

VNXでFAST Cacheを使用しています。

FAST Cacheの容量が現在のシステム構成で足りているか足りていないかを判断するためにはAnalyzerのどの項目を確認すればよろしいでしょうか。

以上よろしくお願いいたします。

返信
Highlighted
3BAJ
1 Copper

Re: エキスパートに聞こう!Unisphere(Navisphere)Analyzerの数値を読み解く!【AskTheExpert1】

AnalyzerのSPで "SP Cache Forced Flushes/s" と LUNの "Response Time" を確認してみてください。

Forced Flushがなく、LUNのResponse Timeの平均が低い場合(十数ミリ/s)にはFAST CACHEは充分な構成であると考えられます。

返信
Highlighted
mawatarai
4 Beryllium

Re: エキスパートに聞こう!Unisphere(Navisphere)Analyzerの数値を読み解く!【AskTheExpert1】

すみません初歩的なことかもしれませんが確認させてください。

1.SP CacheのForced Flushesでよろしいのでしょうか?

 (これはFAST Cacheが2次Cacheなので1次Cacheがあふれなければ2次キャッシュの構成も十分という認識でよろしいでしょうか)

2.添付画面の通りなのですが、"SP Cache Forced Flushes/s"が項目にないのですが、現在は”SP Write Cache Flushes/s”という項目に変わったのでしょうか

よろしくお願いいたします。画面ショット.png

返信
Highlighted
3BAJ
1 Copper

Re: エキスパートに聞こう!Unisphere(Navisphere)Analyzerの数値を読み解く!【AskTheExpert1】

失礼しました。

Analyzerの LUN で”SP Cache Forced Flushes” です。

返信