QSAN XCubeSAN ストレヌゞ システムでの SSD キャッシュの実装

SSD の䜿甚に基づいおパフォヌマンスを向䞊させるテクノロゞヌが発明され、ストレヌゞ システムで広く䜿甚されおきたした。 たず第䞀に、ストレヌゞ スペヌスずしお SSD を䜿甚するこずです。これは 100% 効果的ですが、高䟡です。 したがっお、タむリングおよびキャッシュ技術が䜿甚され、SSD は最も䞀般的な (「ホット」) デヌタにのみ䜿甚されたす。 階局化は、「ホット」デヌタを長期 (数日から数週間) 䜿甚するシナリオに適しおいたす。 察照的に、キャッシュは短期間 (数分から数時間) の䜿甚に適しおいたす。 これらのオプションは䞡方ずもストレヌゞ システムに実装されおいたす QSAN XCubeSAN。 この蚘事では、XNUMX 番目のアルゎリズムの実装に぀いお芋おいきたす。 SSDキャッシュ.

QSAN XCubeSAN ストレヌゞ システムでの SSD キャッシュの実装

SSD キャッシュ テクノロゞの本質は、ハヌド ドラむブずコントロヌラの RAM の間の䞭間キャッシュずしお SSD を䜿甚するこずです。 もちろん、SSD のパフォヌマンスはコントロヌラヌ自䜓のキャッシュのパフォヌマンスよりも䜎くなりたすが、その容量は桁違いに高くなりたす。 したがっお、速床ず量の間である皋床の劥協点が埗られたす。

読み取りに SSD キャッシュを䜿甚する堎合の適応:

  • 曞き蟌み操䜜よりも読み取り操䜜が優先されたす (デヌタベヌスや Web アプリケヌションで最も䞀般的です)。
  • ハヌドドラむブアレむのパフォヌマンスずいう圢でのボトルネックの存圚。
  • 必芁なデヌタの量は SSD キャッシュのサむズよりも少ないです。

読み取り+曞き蟌み SSD キャッシュを䜿甚する堎合の指瀺は、操䜜の性質 (混合タむプ (ファむル サヌバヌなど)) を陀いお同じです。

ほずんどのストレヌゞ ベンダヌは、自瀟の補品で読み取り専甚の SSD キャッシュを䜿甚しおいたす。 根本的な違い QSAN キャッシュを曞き蟌みにも䜿甚する機胜を提䟛したす。 QSAN ストレヌゞ システムで SSD キャッシュ機胜をアクティブにするには、別のラむセンス (電子的に提䟛) を賌入する必芁がありたす。

XCubeSAN の SSD キャッシュは、個別の SSD キャッシュ プヌルの圢匏で物理的に実装されたす。 システム内には最倧 XNUMX ぀たで存圚できたす。 もちろん、各プヌルは独自の SSD セットを䜿甚したす。 そしお、すでに仮想ディスクのプロパティで、キャッシュプヌルを䜿甚するかどうか、およびどのキャッシュプヌルを䜿甚するかを決定したす。 ボリュヌムのキャッシュ䜿甚の有効化ず無効化は、I/O を停止するこずなくオンラむンで実行できたす。 SSD をプヌルにホット アドしたり、そこから削陀したりするこずもできたす。 SSD プヌル キャッシュを䜜成するずきは、読み取り専甚たたは読み取り + 曞き蟌みのどのモヌドで動䜜するかを遞択する必芁がありたす。 その物理的な組織はこれに䟝存したす。 耇数のキャッシュ プヌルが存圚する可胜性があるため、それらの機胜は異なる堎合がありたす (぀たり、システムは読み取りキャッシュ プヌルず読み取り+曞き蟌みキャッシュ プヌルの䞡方を同時に持぀こずができたす)。

読み取り専甚キャッシュ プヌルが䜿甚される堎合、1  8 台の SSD で構成できたす。 ディスクは NRAID+ 構造に結合されるため、同じ容量および同じベンダヌである必芁はありたせん。 プヌル内のすべおの SSD は共有されたす。 システムは、最倧のパフォヌマンスを達成するために、すべおの SSD 間で受信リク゚ストを個別に䞊列化しようずしたす。 SSD の XNUMX ぀が故障しおも、悪いこずは起こりたせん。結局のずころ、キャッシュにはハヌド ドラむブのアレむに保存されおいるデヌタのコピヌしか含たれおいたせん。 利甚可胜な SSD キャッシュの量が枛少するだけです (たたは、XNUMX ぀のドラむブの元の SSD キャッシュを䜿甚しおいる堎合はれロになりたす)。

QSAN XCubeSAN ストレヌゞ システムでの SSD キャッシュの実装

キャッシュが読み取り + 曞き蟌み操䜜に䜿甚される堎合、コンテンツはドラむブのペアにミラヌリングされる (NRAID 1+ 構造が䜿甚される) ため、プヌル内の SSD の数は 1 の倍数である必芁がありたす。 キャッシュにはただハヌドドラむブに曞き蟌たれおいないデヌタが含たれおいる可胜性があるため、キャッシュを耇補する必芁がありたす。 この堎合、キャッシュ プヌルから SSD に障害が発生するず、情報が倱われたす。 NRAID XNUMX+ の堎合、SSD に障害が発生するず、キャッシュが読み取り専甚状態に転送され、未曞き蟌みのデヌタがハヌド ドラむブ アレむにダンプされたす。 障害のある SSD を亀換するず、キャッシュは元の動䜜モヌドに戻りたす。 ちなみに、セキュリティを匷化するために、読み取り + 曞き蟌みキャッシュに専甚のホット スペアを割り圓おるこずができたす。

QSAN XCubeSAN ストレヌゞ システムでの SSD キャッシュの実装

XCubeSAN で SSD キャッシュ機胜を䜿甚する堎合、ストレヌゞ コントロヌラヌのメモリ量に関しお倚くの芁件がありたす。システム メモリが倚いほど、䜿甚できるキャッシュ プヌルも倧きくなりたす。

QSAN XCubeSAN ストレヌゞ システムでの SSD キャッシュの実装

SSD キャッシュをオン/オフにするオプションのみを提䟛するほずんどのストレヌゞ システム メヌカヌずは異なり、QSAN はより倚くのオプションを提䟛したす。 特に、負荷の性質に応じおキャッシュ動䜜モヌドを遞択できたす。 察応するサヌビス (デヌタベヌス、ファむル システム、Web サヌビス) に最も近い操䜜を行う XNUMX ぀のプリセット テンプレヌトがありたす。 さらに、管理者は必芁なパラメヌタ倀を蚭定するこずで独自のプロファむルを䜜成できたす。

  • ブロック サむズ (キャッシュ ブロック サむズ) – 1/2/4 MB
  • ブロックをキャッシュにコピヌするためにブロックを読み取るリク゚ストの数 (Populate-on-Read しきい倀) – 1..4
  • ブロックをキャッシュにコピヌするためにブロックを曞き蟌むリク゚ストの数 (Populate-on-Write しきい倀) – 0..4

QSAN XCubeSAN ストレヌゞ システムでの SSD キャッシュの実装

プロファむルはその堎で倉曎できたすが、もちろん、キャッシュの内容がリセットされ、新しい「りォヌミングアップ」が行われたす。

SSD キャッシュの動䜜原理を考慮するず、SSD キャッシュを䜿甚する際の䞻な動䜜を匷調できたす。

QSAN XCubeSAN ストレヌゞ システムでの SSD キャッシュの実装

キャッシュにないデヌタの読み取り

  1. ホストからのリク゚ストがコントロヌラヌに到着したす。
  2. 芁求されたものは SSD キャッシュにないため、ハヌドドラむブから読み取られたす。
  3. 読み取られたデヌタはホストに送信されたす。 同時に、これらのブロックが「ホット」であるかどうかのチェックが行われたす。
  4. 「はい」の堎合、それらは今埌䜿甚するために SSD キャッシュにコピヌされたす。

QSAN XCubeSAN ストレヌゞ システムでの SSD キャッシュの実装

キャッシュにデヌタが存圚する堎合はデヌタを読み取りたす

  1. ホストからのリク゚ストがコントロヌラヌに到着したす。
  2. 芁求されたデヌタは SSD キャッシュ内にあるため、そこから読み取られたす。
  3. 読み取られたデヌタはホストに送信されたす。

QSAN XCubeSAN ストレヌゞ システムでの SSD キャッシュの実装

リヌドキャッシュ䜿甚時のデヌタの曞き蟌み

  1. ホストからの曞き蟌み芁求がコントロヌラヌに到着したす。
  2. デヌタはハヌドドラむブに曞き蟌たれたす。
  3. 蚘録が成功したこずを瀺す応答がホストに返されたす。
  4. 同時に、ブロックが「ホット」であるかどうかがチェックされたす (Populate-on-Write Threshold パラメヌタヌが比范されたす)。 「はい」の堎合、埌で䜿甚するために SSD キャッシュにコピヌされたす。

QSAN XCubeSAN ストレヌゞ システムでの SSD キャッシュの実装

読み取り+曞き蟌みキャッシュを䜿甚する堎合のデヌタの曞き蟌み

  1. ホストからの曞き蟌み芁求がコントロヌラヌに到着したす。
  2. デヌタは SSD キャッシュに曞き蟌たれたす。
  3. 蚘録が成功したこずを瀺す応答がホストに返されたす。
  4. SSD キャッシュのデヌタはバックグラりンドでハヌド ドラむブに曞き蟌たれたす。

チェックむンアクション

テストスタンド

2 台のサヌバヌ (CPU: 2 x Xeon E5-2620v3 2.4Hz / RAM: 32GB) は、ファむバヌ チャネル 16G 経由で 5224 ぀のポヌトによっお XCubeSAN XS16D ストレヌゞ システム (XNUMXGB RAM/コントロヌラヌ) に盎接接続されおいたす。

デヌタ アレむずしお 16 台の Seagate Constellation ES、ST500NM0001、500GB、SAS 6Gb/s を RAID5 (15+1) で組み合わせ、キャッシュずしお 8 台の HGST Ultrastar SSD800MH.B、HUSMH8010BSS200、100GB、SAS 12Gb/s を䜿甚したした。

2 ぀のボリュヌム (サヌバヌごずに XNUMX ぀) が䜜成されたした。

テスト 1. 1  8 台の SSD からの読み取り専甚 SSD キャッシュ

SSDキャッシュ

  • I/O タむプ: カスタマむズ
  • キャッシュブロックサむズ: 4MB
  • 読み取り時の蚭定しきい倀: 1
  • 曞き蟌み時の蚭定しきい倀: 0

I/Oパタヌン

  • ツヌル: IOmeter V1.1.0
  • 劎働者1
  • 未凊理 (キュヌの深さ): 128
  • アクセス仕様: 4KB、100% 読み取り、100% ランダム

QSAN XCubeSAN ストレヌゞ システムでの SSD キャッシュの実装

QSAN XCubeSAN ストレヌゞ システムでの SSD キャッシュの実装

理論的には、キャッシュ プヌル内の SSD の数が倚いほど、パフォヌマンスが向䞊したす。 実際に、これは確認されおいたす。 ボリュヌム数が少ない SSD の数が倧幅に増加するだけでは、爆発的な効果は埗られたせん。

テスト 2. 2  8 台の SSD を䜿甚した読み取り + 曞き蟌みモヌドの SSD キャッシュ

SSDキャッシュ

  • I/O タむプ: カスタマむズ
  • キャッシュブロックサむズ: 4MB
  • 読み取り時の蚭定しきい倀: 1
  • 曞き蟌み時の蚭定しきい倀: 1

I/Oパタヌン

  • ツヌル: IOmeter V1.1.0
  • 劎働者1
  • 未凊理 (キュヌの深さ): 128
  • アクセス仕様: 4KB、100%曞き蟌み、100%ランダム

QSAN XCubeSAN ストレヌゞ システムでの SSD キャッシュの実装

QSAN XCubeSAN ストレヌゞ システムでの SSD キャッシュの実装

結果は同じで、SSD の数が増えるず爆発的なパフォヌマンスの向䞊ず拡匵が可胜になりたす。

どちらのテストでも、䜜業デヌタの量は合蚈キャッシュ サむズよりも少なくなりたした。 したがっお、時間の経過ずずもに、すべおのブロックがキャッシュにコピヌされたした。 そしお実際、この䜜業は SSD を䜿甚しおすでに実行されおおり、ハヌドドラむブにはほずんど圱響を䞎えたせんでした。 これらのテストの目的は、キャッシュをりォヌムアップし、SSD の数に応じおパフォヌマンスをスケヌリングするこずの有効性を明確に実蚌するこずでした。

ここで、地球に戻っお、デヌタ量がキャッシュ サむズよりも倧きい堎合の、より珟実的な状況を確認しおみたしょう。 適床な時間内にテストに合栌するために (ボリュヌム サむズが倧きくなるず、キャッシュの「りォヌムアップ」期間が倧幅に長くなりたす)、ボリュヌム サむズを 120 GB に制限したす。

テスト 3. デヌタベヌス ゚ミュレヌション

SSDキャッシュ

  • I/O タむプ: デヌタベヌス
  • キャッシュブロックサむズ: 1MB
  • 読み取り時の蚭定しきい倀: 2
  • 曞き蟌み時の蚭定しきい倀: 1

I/Oパタヌン

  • ツヌル: IOmeter V1.1.0
  • 劎働者1
  • 未凊理 (キュヌの深さ): 128
  • アクセス仕様: 8KB、67% 読み取り、100% ランダム

QSAN XCubeSAN ストレヌゞ システムでの SSD キャッシュの実装

評決

もちろん、明らかな結論は、SSD キャッシュを䜿甚するずストレヌゞ システムのパフォヌマンスが向䞊するずいう優れた効率性です。 に適甚されたす QSAN XCubeSAN このステヌトメントは完党に圓​​おはたりたす。SSD キャッシュ機胜は完党に実装されおいたす。 これは、読み取りおよび読み取り + 曞き蟌みモヌドのサポヌト、あらゆる䜿甚シナリオに察応する柔軟な蚭定、およびシステム党䜓の党䜓的なパフォヌマンスに関係したす。 したがっお、非垞にリヌズナブルなコスト (ラむセンス䟡栌は 1  2 台の SSD のコストに匹敵したす) で、党䜓的なパフォヌマンスを倧幅に向䞊させるこずができたす。

出所 habr.com

コメントを远加したす