Comments
Description
Transcript
Raid 性能の基本
Raid-G.pdf Raid 性能の基本 1 Raid でのデータ配置 ホストから受信したデータを、Raid を構成するディスクに配置する方式を図 1.1 に示す。 B0 B1 ・・・ B3 P03 B4 B5 ・・・ B7 P47 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ Disk3 Diskp Disk0 Disk1 ・・・ 図 1.1 Raid でのデータ配置 図 1.1 に於いて: (1) B0,B1,―――,B7,--は一定サイズのデータで、ホストより受信した一連のデータを各 データディスクに順次配置したもの。P03 等は B0-B3 のパリテイに相当する。パリテイが収 容されるディスクは、 a:特定のディスクpに収容する(Raid4、Raid3) b:全体のディスクに分散させる(Raid5) (2) 各ブロック Bi の大きさ Ls(一般にストライピング長と呼ばれる)により、Raid 性能は 大幅に影響を受る。 a:Ls を一回のアクセスで転送されるデータ量 Lb より十分に小さく(例えば1バイト)にす ると、Lb が Ls x Np(=データディスク台数:図 1.1 の場合は Np=4)のバウンダリになってい る場合は、全てのデータディスクが稼動しデータ転送時間が 1/Np に短縮される。又書き込 み時には、パリテイデータは受領データのみから生成される為に、データ/パリテイディス クに対する余分なアクセスは発生しない。この動作を行うのが Raid3でシーク+回転待ち 時間に対してデータ転送時間が十分大きい場合に効果が発揮される。補足―5を参照。 b:aとは逆に Ls を一回のアクセスで転送されるデータ量 Lb より十分に大きく設定する。 この場合には、ストライピングバウンダリにかからない限り一アクセスで動員するデータ ディスクは1台で済むことになる。従ってデータディスクが独立にホストアクセスに対応 できアレイ全体としての、スループットが向上する。但し書き込みの場合には所謂 Write Penalty(パリテイを更新する為、旧データと旧パリテイの読み出しが必要)が発生する。更 に書き込みの場合には必ずパリテイディスクがアクセスされパリテイディスクの負荷が増 大する為、パリテイを書き込むディスクをアレイ全体にローテイトさせる方法がとられる。 1 Raid-G.pdf この方式を採用したアレイを Raid5と呼ぶ。パリテイディスクを固定する方式が Raid4で ある。 2 各 Raid 方式の特徴 現在使用されている Raid 方式について概要と特徴を要約する。 2.1 Raid0 ストライピングのみを行いパリテイを持たない Raid 方式で、専ら高速データ転送の為に 使用される。パリテイを持たない為、厳密には Raid(Redundant Array---)とは言えない。 2.2 Raid1 図 1.1 でデータディスクの台数を1としたもの。即ち、パリテイディスクはデータディ スクのミラーとなる。データ効率は 1/2 で最悪だが、Write Penalty は存在せず、軽快に動 作する為、簡便なアレイとして各種応用に使用される。 2.3 Raid3 図 1.1 でデータのストライピング長を最少(例:1バイト)としたもので常にアレイを構 成する全ディスクが同時に動作する。パリテイ付高速転送を目的にして、例えば大量デー タを扱う科学技術計算等に使用される。本構成の場合にはアレイを構成する全ディスクに 回転同期を掛け、全ディスクが同位相で動作することが望ましい。補足―3を参照。 2.4 Raid4 図 1.1 の構成で、パリテイを収容するディスクを固定するもので、Raid 制御は簡単にな る反面、書き込み処理時のパリテイディスクの負荷が増大するので、書き込み頻度の高い 用途には適さない。 2.5 Raid5 図 1.1 の構成で、パリテイを収容するディスクを順にローテイトする方式で、Raid 制御 は複雑になるものの、パリテイディスクの負荷を分散でき、OLTP(Online Transaction Processing)には代表的に使用されている。 2.6 その他 例えば、パリテイデータを2台のディスクに収容する方式を Raid6 として発表している 例があるが、本質的呼び方とは思われない。各々Raid3,Rai5 の拡張と考えればよい。更に キャッシュを用いて高速化した Raid を Raid6,7 と呼ぶ例もあったが、これも本質的ではな い。 3 Raid の性能対策 3.1 Raid の性能要因 Raid に限らず、集合ディスクの性能は下記の観点より評価される。 2 Raid-G.pdf (1) サービスタイム Ts ディスク集合体が入出力要求を受信してから終了の応答報告を返すまでの時間。これと 紛らわしいのが「応答時間」でこの場合には、アプリケーションが要求を発行してから、 本要求がディスク集合体に受信されるまでの待ち時間(例えば、チャネル/サブチャネル使 用中による)が含まれる。 (2) スループット λ I/O 系が単位時間当たり何件のホストからの入出力要求を処理可能かを示す。 (3) Ts vs λ 曲線 横軸に入出力要求受信頻度 λ を、縦軸に各頻度に対するサービスタイム Ts をプロット した曲線。サービスタイム Ts はもとより入出力要求の内容(一回当りのデータ量、R/W 比率 等)による為、これに対応したものでなければならない。一般的には、サービスタイム Ts が重要かスループット λ が重要かは、その時のアプリケーションによる。補足―1を参照。 3.2 Raid での性能対策概要 もとより、高性能磁気ディスクを使用することが基本だが、ここではサブシステムの制 御レベルで実施されている基本的性能対策を挙げておく。 (1) キャッシュの利用 キャッシュはデータを一時的に保存する高速(通常は半導体)メモリを言い、これの性能 効果は: ・過去に転送されたデータを蓄えておき、これにヒットした場合にキャッシュから転送し て高速応答する(Read Hit)。 ・次に予想されるデータを予め磁気ディスクよりキャッシュに先読みして、これにヒット した場合にキャッシュから転送する(先読み)。 ・キャッシュ(通常は不揮発の)に書き込んだ時点でホストに書き込み終了を応答する(高速 書き込み)。キャッシュに残留しているデータは後に纏めて磁気ディスクに吐き出す。これ により磁気ディスクの使用率を改善する。 (2) 回転同期付き磁気ディスクの使用 Raid3 の場合は回転同期付磁気ディスクを使用して、Ts, λ 共に改善できる。補足―3 を参照。 (3) チャネル⇔制御装置⇔磁気ディスク間のデータ転送能力の改善 (4) 制御装置内の各キュー(処理待ちの要求)の効率的管理 多重処理に於いては、同じ記憶領域に対しては順序保証を必要とするが、全体としては、 キューは FIFO(First In First Out)で処理する必要はなく、処理可能なものから処理する ことにより、全体としてのスループットを向上させることが出来る。 以降、Raid 制御の個別事項には深入りすることなく、集合ディスク含めて、Raid の基本 的事項を、4.1 項記載の補足資料(補足―1~5)に纏める。 3 Raid-G.pdf 4 文献一覧 4.1 添付資料 以下補足資料にて、Raid 含めて集合 Storage の Host システム含めた性能評価と Raid に よる並列駆動の基本的事項について纏める。 [1] Raid 性能の基本:本資料 Raid-G.pdf [2] 補足―1:集合ストレージのシステム性能 Raid-S.pdf [3] 補足―2:最終終了時間分布(理論) Raid-LT.pdf [4] 補足―3:最終終了時間分布(評価データ) Raid-LD.pdf [5] 補足―4:物理ドライブの稼働率 Raid-PT.pdf [6] 補足―5:ドライブ稼働率と性能曲線 Raid-PD.pdf 4.2 参照文献 [7] 待ち行列の理論と応用、4.1 西田俊夫 著、朝倉書店 [8] Numerical Recipes in C(日本語版)、第4章、技術評論社 4