モデレーター
モデレーター

【Ask the Expert】エキスパートに聞こう!ストレージの原則と技術

解決策を見る

おかげさまで4回目を迎えた日本語【Ask the Expert】エキスパートに聞こう!イベント。記念すべき4回目は基本に戻ろう、をテーマにベストセラーの

「ストレージの原則と基本」を使ってにストレージの基礎をみなさんと話していきたいと思います。

Topic:「ストレージの原則と技術」

Date :2014年 3月3日(月)09:00から14日(金) 17:00まで

IMG_1997.jpg

Experts : 上原 勇太郎

物理的な電話線業界から始まり、コールセンタでのサポート、そしてインターネット内でのサポートを

こなす、サポート界のエキスパート。一つのプロダクトに特化しないその幅広い知識と常にフラットな視線は

ソリューション売りの時代にはなくてはならないスキル。いつでも物事をシンプル整理して冷静に構えるその姿勢は

IT 業界のスナフキン ・・・

 

flyer5.jpg

Topic:ストレージの原則と技術 (原題:Information Storage and Management ,2nd Edition )

ストレージにかかわる話(RAIDの話からビックデータに至るまで)を幅広く網羅したストレージ技術書。

EMC Education Services が編集出版。

ストレージ技術について幅広い知識を身につけたい、あるいは、最新技術動向を含む基本を確認したい人に最適。

またEMCの資格認定プログラムである「EMC Proven Professional」のEMCISA(EMC Information Storage and Associate)の認定試験、

E10-001試験に即した内容。

原書に寄せられた読者の声 「ストレージの優れた入門書」 「不足しているストレージやSANの知識を補足できる」

「情報管理について理解を深められる一冊」

今回のカバートピック (セクションⅠⅡをカバーします。)

SectionⅠストレージシステム

Chapter1 インフォメーションストレージ入門

1.1 インフォメーションストレージ

1.2 ストレージアーキテクチャの進化

1.3 データセンタのインフラストラクチャ

1.4 仮想化とクラウドコンピュータ

1.5 まとめ

Chapter2 データセンタ環境

2.1 アプリケーション

2.2 DBMS

2.3 ホスト

2.4 接続性

2.5 ストレージ

2.6 ディスクドライブの構成要素

2.7 ディスクドライブのパフォーマンス

2.8 データへのホストアクセス

2.9 DAS

2.10 アプリケーションの要件とディスクのパフォーマンスに基づくストレージデザイン

2.11 ディスクのネイティブコマンドキューイング

2.12 フラッシュドライブ

2.13 VMware ESXi

2.14 まとめ

Chapter3 データ保護:RAID
3.1 RAIDの実装方式
3.2 RAIDアレイの構成要素
3.3 RAIDの手法
3.4 RAIDレベル
3.5 RAIDによるディスクパフォーマンスへの影響
3.6 RAIDの比較
3.7 ホットスペア
3.8 まとめ

Chapter4 インテリジェントストレージシステム
4.1 インテリジェントストレージシステムの構成要素
4.2 ストレージプロビジョニング
4.3 インテリジェントストレージシステムの種類
4.4 EMC SymmetrixとVNX
4.5 まとめ

■Section II ストレージネットワーキングテクノロジー
Chapter5 FC SAN
5.1 FCの概要
5.2 SANとその進化
5.3 FC SANの構成要素
5.4 FC接続
5.5 FCポート
5.6 FCアーキテクチャ
5.7 ファブリックサービス
5.8 FC-SWのログインタイプ
5.9 ゾーニング
5.10 FC SANのトポロジ
5.11 SANでの仮想化
5.12 EMC ConnectrixとEMC VPLEX
5.13 まとめ

Chapter6 IP SANとFCoE
6.1 iSCSI
6.2 FCIP
6.3 FCoE
6.4 まとめ

Chapter7 NAS
7.1 汎用サーバーとNASデバイス
7.2 NASの利点
7.3 ファイルシステムとネットワークファイル共有
7.4 NASの構成要素
7.5 NASのI/O操作
7.6 NASの実装
7.7 NASのファイル共有プロトコル
7.8 NASのパフォーマンス
7.9 ファイルレベルの仮想化
7.10 EMC IsilonとEMC VNXゲートウェイ
7.11 まとめ

Chapter8 オブジェクトベースストレージとユニファイドストレージ
8.1 オブジェクトベースストレージ
8.2 CAS
8.3 CASのユースケース
8.4 ユニファイドストレージ
8.5 EMC Atmos、EMC VNX、EMC Centera
8.6 まとめ

さあ皆さん、本を持っていなくとも上記トピックにちょっとで関係するなら質問してみましょう!

タグ(2)
1 件の受理された解決策

受理された解決策
モデレーター
モデレーター

Re: 【Ask the Expert】エキスパートに聞こう!ストレージの原則と技術

解決策を見る

本の中ではデータの種類として

・構造化データ(Structured Data)

・非構造化データ(Unstructured Data)

が紹介されています。

これに加えてEMCでは

・半構造化データ(Semi-structured Data)

・準構造化データ(Quasi-structured Data)

なんて言い方をされるものがあるのも知っておきたいところです。最近はやりの「ビッグデータ」関係でよく騒がれてるので。

構造化データは行と列で綺麗に項目が決まっていて、そこに値が埋め込まれているパターンです。まぁExcelのテーブルを思い浮かべてもらえればいいかと。

非構造化データは通常の文章で特に何のルールもないデータ。BlogとかTwitterとかのデータ(文章)を思い浮かべればOKです。ネットにあるデータの大半はこのタイプ。

微妙なのが半構造化データ(Semi-structured Data)。

半構造化データはHTMLとかをイメージしてもらえればいいと思います。「<tite>エキスパートに聞こう!</title>」 みたいに言葉の前後にその言葉が持つ意味をタグなどで書いてある文章であれば、面倒だけど一つ一つタグを確認すれば、ある文章の中にあるタイトルの情報などを全て手 に入れられます。

ひと手間かければ構造化データにすることが出来るだけの構造情報は持っているから半構造化。

そして最後がさらに微妙な準構造化データ(Quasi-structured Data)。

特に意図的にデータに構造情報を与えているわけではないのだけれども、「あるルールに従っていることを知っていれば情報の意味は取れるでしょ」というパターン。

Webサーバのログなどがこれに当てはまり、例えば下のようなログがあった場合に、がんばってみればアクセスした日時とかブラウザタイプ(Mozilla)などを得ることが出来るというものです。

192.168.10.13 -- [10/March/2014:10:10:07-0600] "GET /test/image.gif HTTP/1.0" 200 1900 "http://www.community.emc.com/" "Mozilla/7.0 [ja] (Win98;I)"

ちなみにまだ半構造化や準構造化の定義は人や会社によってまちまちです。ハードロックとヘビメタくらいの曖昧さを僕は感じています。

元の投稿で解決策を見る

0 件の賞賛
32件の返信32
モデレーター
モデレーター

Re: 【Ask the Expert】エキスパートに聞こう!ストレージの原則と技術

解決策を見る

さあ皆さん、

エキスパートに聞こう!2014年最初のテーマは「基本に戻ろう」です。

『ストレージの原則と技術』を題材とはしていますが、今までなかなか聞きにくかったこと、いつも使っているけど実は

説明しろと言われるとむずかしい・・・などストレージにまつわることならなんでもここで話しましょう!

知らない事は恥じゃありません!むしろはじまりなのです。

0 件の賞賛
モデレーター
モデレーター

Re: 【Ask the Expert】エキスパートに聞こう!ストレージの原則と技術

解決策を見る

上原です。

ストレージ業界に入ってからサポートで約5年間電話を取りまくり、ほぼ全てのEMC機器に関わりを持った後、VNXeのサポートを経て現在フォーラムの運用を行っています。(そして日頃のフォーラム対応を時々ブツブツとhttps://twitter.com/ueharausでつぶやいてます)

EMCで働きはじめて最初に感じたことは「基本を知っていても、理解をしていないとエンジニアの人達と話をするのが難しい」ということでした。

ストレージ関連の言葉が会話に出てきて、どこかに書いてあったのをなんとなく覚えてはいるのだけれども、きちんと理解していなかったりするとそこで思考停止が起きたりします。(これはスポーツで言う「体で覚える」に近いのかもしれないなぁなんて時々思ったりします。)

そして、ストレージの技術に関してはネットや本屋さんで見つけることが(比較的)難しいために、基本を理解するのに結構苦労したことも覚えているので、今回は少しでも基本の理解の手助けになれたらいいなぁと考えています。

ちなみに僕はストレージ業界に来てからしばらくして、先輩に質問した時に

「おまえの言っている意味がわからない。きちんと質問をしたらきちんと答えてやる。こっちは忙しいんだ」

と言われて「きー」とか言っていた人間なので、どんな質問に対しても冷たくは返さないように心掛けてるつもりです(と語尾がだいぶ弱くなってしまったかも)。

なので、「質問をしたいのだけれども、そもそも○○の理解が困難で質問ができない。○○って一体何?」というような質問は大歓迎です!(実際のところかなりテクニカルな質問をされるよりも歓迎です。多分答えられないし。)

とりあえず今回は2週間という決められた期間ですが適当に思いついたことを書き込んでみてもらえると嬉しいです。

0 件の賞賛
モデレーター
モデレーター

Re: 【Ask the Expert】エキスパートに聞こう!ストレージの原則と技術

解決策を見る

本の中ではデータの種類として

・構造化データ(Structured Data)

・非構造化データ(Unstructured Data)

が紹介されています。

これに加えてEMCでは

・半構造化データ(Semi-structured Data)

・準構造化データ(Quasi-structured Data)

なんて言い方をされるものがあるのも知っておきたいところです。最近はやりの「ビッグデータ」関係でよく騒がれてるので。

構造化データは行と列で綺麗に項目が決まっていて、そこに値が埋め込まれているパターンです。まぁExcelのテーブルを思い浮かべてもらえればいいかと。

非構造化データは通常の文章で特に何のルールもないデータ。BlogとかTwitterとかのデータ(文章)を思い浮かべればOKです。ネットにあるデータの大半はこのタイプ。

微妙なのが半構造化データ(Semi-structured Data)。

半構造化データはHTMLとかをイメージしてもらえればいいと思います。「<tite>エキスパートに聞こう!</title>」 みたいに言葉の前後にその言葉が持つ意味をタグなどで書いてある文章であれば、面倒だけど一つ一つタグを確認すれば、ある文章の中にあるタイトルの情報などを全て手 に入れられます。

ひと手間かければ構造化データにすることが出来るだけの構造情報は持っているから半構造化。

そして最後がさらに微妙な準構造化データ(Quasi-structured Data)。

特に意図的にデータに構造情報を与えているわけではないのだけれども、「あるルールに従っていることを知っていれば情報の意味は取れるでしょ」というパターン。

Webサーバのログなどがこれに当てはまり、例えば下のようなログがあった場合に、がんばってみればアクセスした日時とかブラウザタイプ(Mozilla)などを得ることが出来るというものです。

192.168.10.13 -- [10/March/2014:10:10:07-0600] "GET /test/image.gif HTTP/1.0" 200 1900 "http://www.community.emc.com/" "Mozilla/7.0 [ja] (Win98;I)"

ちなみにまだ半構造化や準構造化の定義は人や会社によってまちまちです。ハードロックとヘビメタくらいの曖昧さを僕は感じています。

元の投稿で解決策を見る

0 件の賞賛
モデレーター
モデレーター

Re: 【Ask the Expert】エキスパートに聞こう!ストレージの原則と技術

解決策を見る

ディスクドライブの構成要素として出てくるものの中で、トラックとセクタがあります。

そして、それと関係してよく出てくる話にブロック(アクセス)というものもあります。

時々聞く質問。

「トラックとセクタとブロックはどれが一番小さいのですか?」

まずトラックは脱落です。トラックよりもセクタのが小さいのは確かです。

陸上競技のトラックがレーンごとに競技場を一周していることを思い浮かべてもらうと忘れにくいと思いますが、トラックはディスク(プラッタ)の表面に360度にわたって存在しています。

そしてそのトラックを細かく分けているのがセクタです。

その為に「どちらが小さい?」議論はセクタとブロックの比較になるのですが、これには回答できません。

何故ならば、大雑把に言うとセクタはディスクからみた単位であるのに対して、ブロックはホストから見た単位だからです。

セクタはディスクの観点からはかなり小さいです。でもそれよりも細かい単位のブロックでホストからの書き込みがきたら、ブロックの方が小さくなります。逆 に、ホストから大きなブロック単位でディスクへと書き込みが来た場合には複数のセクタにまたがりブロックが書かれるために、セクタの方が小さくなります。

ただ、最近はブロックの単位が大きくなっているので、小ささ勝負にはセクタが勝利(?)することが多いみたいです。

scb.png

0 件の賞賛
mawatarai
4 Beryllium

Re: 【Ask the Expert】エキスパートに聞こう!ストレージの原則と技術

解決策を見る

初歩的な話ですがキャッシュに関してご教授ください。

1.ダーティページとは何のことでしょうか。

2.キャッシュ上に書かれたデータをディスクに書くタイミング・頻度はどの程度でしょうか。

3.MCCでよく出てくるWrite Throttlingとはどのような機能でしょうか。

4.Cacheのパフォーマンス情報の中にあるHits/sとMisses/sとは何を表すのでしょうか。

よろしくお願い致します。

0 件の賞賛
Nori_Ishitsuka
3 Cadmium

Re: 【Ask the Expert】エキスパートに聞こう!ストレージの原則と技術

解決策を見る

自分もディスクに携わって10年以上なのですが、

以前から気になっていたディスクにまつわる都市伝説についてご教授下さい。

現在、ディスクドライブの「タイプ」としてSAS、SATA、NL-SAS、MLC、SLCと複数あります。

このうち、SATA/NL-SASについてはよく「壊れやすい」と言うことを耳にします。

そのためなのか、サーバベンダでは「24/365稼働のシステムでの利用は想定していない」と明記さえしているところがあります。

しかしながら自分には、SASよりもSATA/NL-SASの方が壊れやすい、と言う実体験がありません。

SATA/NL-SASにはRAID6を、と言う推奨は壊れやすいからではなく、リビルド時間の長大化が最大の理由だと思っています。

EMC社製品では、と言う観点で構いませんので、この都市伝説について解説頂けると嬉しいです。

あと、MLCとSLCについてですが、何故SLCの方が高速アクセス向けなのでしょうか。

こちらもMLCの方が壊れやすくてSLCの方がエンタープライズ向け、と言う噂も耳にしますがその真偽は如何でしょうか。

0 件の賞賛
mayo2
3 Argentium

Re: 【Ask the Expert】エキスパートに聞こう!ストレージの原則と技術

解決策を見る

本色々とすごく参考にさせていただいております。

本で読んだことへの質問ではないのですが、

SSDはwriteに弱いとききますが、

SSDの寿命を延命させるために、EMCのSSD(VNXやVNXeに搭載しているもので)はなにか特別なことをしているのでしょうか?

0 件の賞賛
モデレーター
モデレーター

Re: 【Ask the Expert】エキスパートに聞こう!ストレージの原則と技術

解決策を見る

King@NWさん

イベントへの最初の質問をありがとうございます。

それぞれの質問に対する回答は以下の通りです。

  1. ホストからストレージシステムのキャッシュには書き込みが完了しているが、ストレージシステム内でディスクにまで書き込みが終わっていないデータ(ページ)
  2. キャッシュ上にあるデータ量や書き込みデータの種類(ランダムかシーケンシャルか)などによって異なるために一概に言うことはできません。。
  3. ホストからキャッシュに書き込みが行われたタイミングではなく、キャッシュのデータがディスクへフラッシュされた後に、ホストに対して書き込み終了(ACK)を返すことによりホストからの書き込み負荷を低減させる手法/機能です
  4. ホストからのRead命令の対象データがキャッシュにあった場合にはHit、キャッシュになく、バックエンドのディスクからいちいち取ってこなければならなかった場合にはMiss。これらがどれくらいの割合あったのかを示している指標です

【1.と2.の説明】

多くの方が会社の個人用PC等で利用しているハードディスクはキャッシュを活用していないので、ホストからの書き込み(Write)があると、ディスクへ書き込みが終わってから書き込み終了の報告(ack)をホストに返します。

以下の絵の左側です。

write1.png

それに対して、ストレージシステムは内部キャッシュを大活用します。

ホストからのwriteがあると、その書き込まれたデータがストレージ内のキャッシュに書き込まれた時点ですぐにackを返します。

これにより、「ストレージの原則と技術」(p.69)曰く「ホストへの応答は迅速で、だいたい1ミリ秒ほどである。」です。

ちなみにこれは上記右側の絵です。

ただ、この時ちょっと大げさな言い方をするとストレージはホストに対して嘘を言っています。

上の絵の左と右は、ホストから見るとどちらも大きな違いはなく、両方とも単にディスクに対して書き込み依頼をかけているだけです。そして、ホストは両方ともディスクからackをもらったので、

「あぁよかった。僕のデータはもうディスクに書き込まれた。これで安心だ」

と思っているわけです。

しかしながら、ストレージ(右側)のデータはまだキャッシュに残っていてディスクには書かれていません。にもかかわらずストレージはホストに対して書き込み終了の報告(ack)を返すという嘘をついているわけです。

そしてストレージは暇(隙?)を見て適当な時間に効率的に(と、この部分が実は質問2.に関する部分なのですが、この詳細仕様は公開されていません)キャッシュの中のデータをディスクに(コソコソと)書いています。

このディスクへの書き込みが終わって初めて本当にディスクの中にデータが入るので、安心な状態になります。

write2.png

ちなみにここで言う安心な状態とは何でしょうか?

それは「電源が切れたとしてもデータが無くならない状態」を意味します。

ディスクにデータが書かれてしまえば、そこで電源が突然切れてもデータは無くならないのに対して、例えば以下の絵のような状態、まだキャッシュにしかデータが無く、ディスクに書き込みがなされていない場合に電源が突然落ちたりしたらデータはなくなってしまいます。

write3.png

このような状態、ストレージがホストに対しては「もうディスクに書いたよ!安全!」と言いつつ実はまだディスクに書きこみを行っていない、ずる汚い状態のデータを「ダーティ」と呼んでいます。

ちなみに質問ではダーティページという表現が出てきていますが、ここで言うページは恐らくキャッシュの最少単位として利用されるページの意味で使っているのだと思います。

他にも社内でよく聞く言葉で「ダーティキャッシュ」や「キャッシュダーティ状態」などがありますが、意味は同じです。

【3.の説明】

これは最新の次世代VNXのMulti Core Cacheの話で今回のトピックとは少し異なるので詳細説明は割愛させてください。。。

大体の概念はこれ⇒ライトスロットル(書き込みスロットル)【Ranbo対話シリーズ】を読むとつかめると思います。

【4.の説明】

1.や2.の書き込み(write)の場合と異なり、今度は読み込み(Read)の話です。ただ、基本的な考え方はとても似ていて、読み込むデータがキャッシュに存在していたらかなり早くホストからのread要求に応えられる(下図左)のに対して、キャッシュに無い場合にはいちいちディスクから読みだしてこなければならない(下図右)ために、時間がかかってしまいます。

read.png

そしていきなり結論なのですが、左がキャッシュヒットで右がキャッシュミスです。恐らく今回の質問にあるHits/sとMisses/sはこの率を表しているのだと思います。

0 件の賞賛
モデレーター
モデレーター

Re: 【Ask the Expert】エキスパートに聞こう!ストレージの原則と技術

解決策を見る

norick@nwさん

都市伝説情報をありがとうございます

すごく大雑把に言ってしまうとディスクは詰め込み(Density)が大きいものの方が遅いし壊れやすいということが出来ると思うので、都市伝説もそこそこ正しいのだと思います。

例えばSASとNL-SAS/SATAは同じ物理サイズでもNL-SAS/SATAの方が詰め込みが大きい(容量が多い)ために、処理が遅い上に壊れやすいと言えそうです。(これまた大雑把ですが、NL-SASとはインタフェースだけSASで、中身はSATAディスクだと思っているので、以降の記述からSATAは抜きます)

実際に、もしもSASとNL-SASに同じ処理をさせて動作をし続けたらNL-SASの方が先に故障する可能性が圧倒的に高いです。

また、実際にはディスクの稼働時間だけではなく、実際の処理の量についても考慮する必要がありそうです。

例えばNL-SASの2倍の処理の能力を持つSASディスクが100%で常に稼働して100時間でダウンしたとした場合と、NL-SASディスクが100%で常に稼働して100時間でダウンした場合、一見同じく「100時間程度で壊れる」ように見えるかもしれませんが、実際に行った処理はSASの方が2倍多いので、SASの方が壊れにくいということが出来そうです。

とはいっても、EMCとしてVaultディスク(VNXのOS領域などが入っているアクセスが頻繁に行われるディスク)にNL-SASの利用も許可しているところを見ると、NL-SASの信用度もかなり上がってきているのだと思います。(以前のFCディスクとSATAディスクのような違いは感じられません)

そして同じようなことをMLCとSLCにも言うことが出来ます。

Multi Level Cell(MLC)のディスクには一つのCellに複数のビット情報が詰め込まれているのに対して、Single Level Cell (SLC)は1ビットだけです。そのために詰め込み(Density)の小さいSLCの方が高速で壊れにくくエンタープライズ向け、EMCで言うとFast Cacheにも利用できるということになるのだと思います。

ちなみに。「ストレージの原則と技術」(p.44)によると「SLCデバイスの読み取り速度は一般的にMLCデバイスの2倍であり、書き込み速度は最大で4倍になる」のだそうです。

0 件の賞賛