xiRAIDを使用した高密度Solidigm QLCドライブでのRAID再構築の加速と書き込み増幅の低減

背景

ストレージ市場で重視されるのは、性能や容量から、ワットあたりの性能やワットあたりの容量へとシフトしつつあります。この電力へのシフトは、AIの導入が急速に拡大する中、ほとんど一夜にして到来しました。今日の世界的な電力インフラは限界まで引き伸ばされており、企業はAI革命を継続させ、既存および新規のデータセンターに電力を供給するために、原子力発電さえも含めた新たな電力源を積極的に探しています。このシフトに伴い、ドライブ1台あたり、また1ワットあたり、より大容量のストレージを提供できるQLC技術が勢いを増しています。企業は、ますます大容量になるストレージを消費するためのインフラを開発しています。ドライブが大型化するにつれて、特に信頼性や故障時の復旧時間など、新たな懸念に対処しなければなりません。これらは妥当な懸念であり、SolidigmとXinnorが対応すべき優先事項です。

以前、こちらのXinnor xiRAIDと高密度Solidigm QLCドライブによる最適なRAIDソリューションで、高密度61.44TB QLC SSDであるSolidigm™ D5-P53361Xinnor xiRAID2、NVMeドライブの高い並列性を処理するために特別に設計されたソフトウェアベースのRAIDソリューションを使用したRAID5のパフォーマンスをご紹介しました。ソフトウェアRAIDの信頼性とQLC容量により、信頼性を犠牲にすることなく大容量を求めるあらゆる展開に対応できるソリューションを実証しました。RAID5構成におけるパフォーマンスと書き込み増幅率(WAF)の調査結果は、上記のソリューション概要に記載されています。 

本文書では、RAIDアレイ内のドライブの再構築にかかる時間を測定し、大容量QLCドライブの再構築時間に関する懸念について言及しています。また、再構築処理中の書き込み増幅についても検証しました。 

書き込み増幅要因(WAF)

書き込み増幅要因は、NAND SSDの耐久性の指標として知られています。ホストへの書き込みとNANDへの書き込みは、WAFを計算するためにワークロードの前と後にSSD SMARTログを介してキャプチャされます。当社は、これがストレージスタックの効率を測る指標でもあると考えています。WAFは、あるアプリケーションのワークロードにおけるNANDの書き込み回数とホストの書き込み回数の比率です。WAFの計算には以下の式を使用します。

WAF = ワークロードのNAND書き込み / ワークロードのホスト書き込み

理想的な状況では、1回のホスト書き込みがちょうど1回のNAND書き込みになり、WAFが1になります。しかし、ホストの書き込みごとに複数のNAND書き込みが発生する要因は多くあります。QLCドライブは、8Kから64Kまでの高インダイレクトユニットを使用します。インダイレクトユニットは容量が大きいほど大きくなります。 

その主な理由は2つあります。第一に、オンSSD DRAMのサイズを低容量ドライブと同等に維持することで、QLCドライブのコスト優位性が得られます。第二に、高密度QLCドライブを低容量ドライブと同じ電力バジェットに適合させることができます。これらの要素を、Gen4リンクを飽和させる読み取り性能、およびHDDよりも桁違いに優れた書き込み性能と組み合わせると、AIに対する顧客のニーズを満たすためにストレージインフラをアップグレードし、なおかつ 総所有コスト (TCO)の優位性を得る能力を提供することができます。

NANDメディアに焦点を当ててみましょう。ホストがインダイレクトユニットのサイズに一致するIOサイズで書き込み、IOがインダイレクトユニットにアラインされると、IOは物理的なNANDメディアに書き込まれます。これは、さらなる書き込みが発生しないことを意味します。しかし、1)IOサイズがインダイレクトユニットのサイズと異なる場合、または2)IOがアラインされていない場合、NAND物理学では、まずブロックを読み出し、次にIOが存在する部分を変更し、最後にメディアに書き戻す必要があります。これはread-modify-write動作と呼ばれ、書き込み増幅率が高くなる主な原因です。ホストスタックは一般的に4KBのIOサイズに最適化されており、このような小さなIOを大きなインダイレクトユニットに書き込むと、書き込み増幅率が高くなる可能性があります。また、read-modify-writeは、ホストアプリケーションのワークロードを処理するために使用できるはずのパフォーマンスサイクルも消費します。

このトピックの詳細については、 上記ソリューション概要をご参照ください。 このソリューション概要の結果を次のとおり要約します。当社は、アプリケーションのワークロードを最適化する方法と、チャンクサイズを柔軟に変更できるxiRAIDのアーキテクチャにより、QLCドライブのread-modify-writeサイクルを最小化し、RAIDアレイの潜在的なパフォーマンスを最大化する方法を示しました。

RAIDの再構築とそれに関連する問題

パリティRAIDは、フォールトトレランスとデータ冗長性を提供する保護メカニズムとしてパリティドライブを使用するRAIDアレイです。RAID5は1台のパリティドライブを持つパリティRAIDで、RAID6は2台のパリティドライブを持ちます。パリティRAID構成は他にもありますが、RAID5とRAID6が最も一般的に使用されています。パリティRAID(RAID5、RAID6など)のパリティ計算は、RAIDシンドローム計算の数式に基づいています。RAIDエンジンの計算実装効率によっては、これらの計算に時間がかかることがあります。パリティRAID再構築は、アレイ内の故障したドライブを交換するためにRAID構成に挿入された新しいドライブのデータコンテンツをRAIDが再計算するプロセスです。再構築プロセスでは、各RAIDストライプについて、RAIDエンジンが残りの健全なドライブからデータを読み取り、計算アルゴリズムを使って新しいドライブに書き込む値を計算します。

RAIDの少なくとも1つのドライブが失われ、再構築プロセスが開始されていないデグレードモード、またはRAIDの少なくとも1つのドライブが再構築中の再構築モードでの動作は、次の問題と関連しています。

  • RAIDアレイの信頼性が低下する。
  • RAIDのパフォーマンスが低下する。

だからこそ、RAIDの再構築のスピードが重要なのです。再構築の完了が早ければ早いほど、RAIDアレイがパフォーマンスを低下させ、故障のリスクを増大させながら動作しなければならない時間が短くなります。再構築時間はRAIDドライブのサイズに比例します。アレイ内の故障ドライブが大きいほど、再構築に時間がかかります。ドライブの大容量化が進むにつれて、RAIDエンジンは非常に効率的であること、ドライブの本来の性能に匹敵する速度で再構築を処理することが求められています。

RAID再構築性能の測定

高密度ドライブを使用したRAIDアレイの再構築に関する懸念と、それに関連する高いソフトウェア効率の要件に基づき、xiRAIDを使用したRAID5アレイにおけるSolidigm社製高密度QLC 61.44TBドライブの実際のパフォーマンスを測定することにしました。次のセクションでは、一連の実験とその結果についてご説明します。オープンソースのソフトウェアRAIDソリューションであるmdraidを選択し、当社の結果と比較しました。また、ホストのワークロードがある場合とない場合で再構築を実行し、ベストケースとワーストケースのシナリオを検証しました。

ホストワークロードなしでの再構築

xiRAID Classic 4.3:このテストでは、mdraidとxiRAID Classic 4.3の各RAIDエンジンに対して次のシーケンスを実行しました

1. 9台のデータドライブからなるRAID5アレイをデフォルトのパラメータで作成した。 

2. RAID再構築のパラメータは次のように設定した。

  • mdadmでは、理論上の再構築速度制限が200 MB/秒から9 GB/秒に引き上げられた。 
    echo 9000000 > /proc/sys/dev/raid/speed_limit_max
  • xiRAID Classicの再構築優先度パラメータは80%に設定した(デフォルトは50%) 
    xicli raid modify -n <raid_name> -rcp 80

3. RAIDの初期化が完了するまでの待ち時間。

4. SMARTログから新しいデータドライブのnand_bytes_writtenおよびhost_bytes_writtenパラメータをキャプチャした。これらは、ドライブのWAFを計算するために使用された。このドライブはRAIDに属しておらず、交換用のドライブだった。 

  • nand_bytes_writtenとhost_bytes_writtenをキャプチャするために、以下を実行した: nvme solidigm smart-log-add /dev/nvme1n1

5.  RAIDアレイのドライブを手順#4のドライブと交換した。交換時期を把握した。

6. 処理完了後、システムログから再構築時間を取得した 

7. 手順#4で再構築されたデータドライブのnand_bytes_writtenおよびhost_bytes_writtenパラメータをキャプチャした。

8. 以下の式でWAFを算出した

  • (テスト後に書き込まれたnand_bytes_written - テスト前に書き込まれたnand_bytes_written)/(テスト後に書き込まれたhost_bytes_written - テスト前に書き込まれたhost_bytes_written)

9. 再構築されたドライブの再構築時間を計算した。

結果を表1に示します。

RAIDエンジン 再構築時間 再構築速度 
(ドライブサイズ/再構築時間)
WAF - 再構築中のドライブ
mdraid 53時間40分 322 MB/秒 1.2
xiRAID Classic 4.3 5時間22分 3.18 GB/秒 1.02

表1. ホストワークロードなしでのRAID再構築

結果の概要

ホストのワークロードがない場合、再構築時間はmdraidに比べてxiRAIDの方が10倍速くなりました。61.44TBのQLCドライブの再構築にかかる時間は、mdraidではワークロードなしで約2.25日(~51時間)ですが、xiRAIDでは数時間で再構築できます。xiRAIDは、Solidigm D5-P5336 SSDの本来のシーケンシャル帯域幅をフルに活用して、高速な再構築時間を実現します。この種の再構築は、ホストのワークロードがアイドル状態になると予想される期間に開始することができます。 

ホストワークロードを使用した再構築

このテストでは、mdraidとxiRAID Classic 4.3の各RAIDエンジンに対して次のシーケンスを実行しました。

1. 9台のデータドライブからなるRAID5アレイをデフォルトのパラメータで作成した。 

2. RAID再構築のパラメータは次のように設定した。

  • mdadmでは、理論上の再構築速度制限が200 MB/秒から9 GB/秒に引き上げられた。 
    echo 9000000 > /proc/sys/dev/raid/speed_limit_max
  • xiRAID Classicの再構築優先度パラメータは80%に設定した(デフォルトは50%)。 
    xicli raid modify -n <raid_name> -rcp 80

3. RAIDの初期化が完了するまでの待ち時間。

4. SMARTログから新しいデータドライブのnand_bytes_writtenおよびhost_bytes_writtenパラメータをキャプチャした。これらは、ドライブのWAFを計算するために使用された。このドライブはRAIDに属しておらず、交換用のドライブだった。 

  • nand_bytes_writtenとhost_bytes_writtenをキャプチャするために、以下を実行した: nvme solidigm smart-log-add /dev/nvme1n1

 5. fioのミックスワークロードのフォローを開始した。

     [global]
     iodepth=64
     direct=1
     ioengine=libaio
     group_reporting
     runtime=604800  # seconds (1 week)

    
      [write]
      rw=write
      bs=1MB
      numjobs=38
      offset_increment=15G
      filename=/dev/xi_test

   
       [read]
       rw=read
       bs=1MB
       numjobs=90
       offset_increment=10G
       filename=/dev/xi_test

6. RAID内のドライブを手順#4のドライブと交換した。交換時期を把握した。

7. 処理完了後、システムログから再構築時間を取得した 

8. 手順#4で説明したように、再構築されたデータドライブのnand_bytes_writtenおよびhost_bytes_writtenパラメータを再度キャプチャした。

9. 以下の式でWAFを算出した

  • (テスト後に書き込まれたnand_bytes_written - テスト前に書き込まれたnand_bytes_written)/(テスト後に書き込まれたhost_bytes_written - テスト前に書き込まれたhost_bytes_written)

10. 再構築されたドライブの再構築時間を計算した。

ホストのワークロードにおけるmdraidの再構築速度(約10.5 MB/秒)は遅すぎて、61.44 TBのドライブの完全な再構築を妥当な時間で完了できませんでした。mdraidの再構築時間の結果は、再構築速度に基づいて概算されました。

結果を表2に示します。

 

RAIDエンジン 再構築時間 再構築速度 
(ドライブサイズ/再構築時間)
WAF - 再構築中のドライブ

ワークロードのスピード

(再構築中)

mdraid > 67日 10.5 MB/秒 1.58 読み取り~100 MB/秒 
書き込み〜45 MB/秒
xiRAID Classic 4.3 53時間53分 316 MB/秒 1.21

読み取り - 44 GB/秒

書き込み - 13 GB/秒

表2. ホストワークロードを使用したRAIDの再構築

結果の概要

ホストIOがドライブの再構築完了を待てない場合、mdraidは大容量ドライブでは使用できなくなります。ドライブの再構築には2か月以上かかることがあり、RAIDアレイは2台目のドライブの故障によるデータ損失の可能性に対して脆弱な状態です。一方、xiRAIDは、ホストのワークロードが実行されている状態で、mdraidが再構築中にワークロードなしで提供するのと同じ再構築性能を提供します。RAIDアレイのSolidigm D5-P5336 61.44TB QLCドライブは、再構築ロジックだけでなく、ホストワークロード経由で送信されるソフトウェアスタックからの混合IOを処理することができます。

最後に

この結果は、RAIDアレイの高密度ドライブの再構築には時間がかかるため、RAIDソリューションには向かないという俗説を覆すものです。この懸念は、mdraidのようにNVMeドライブに最適化されていないRAIDエンジンでは有効ですが、xiRAID Classic 4.3はホストのワークロードなしでも、わずか数時間でSolidigm 61.44TB QLCドライブを再構築できることを、実験を通じて実証しました。WAFを1に近づけながら、ホストのワークロードが同時に発生する場合は、2〜3日以上になります。また、これはSolidigmの高密度QLC SSDが高性能ソフトウェアスタックの要求に容易に耐え、再構築IOに対応しながら、読み取りと書き込みが混在するホストワークロードに対応できることを示しています。Solidigm D5-P5336 QLC SSDの本来のパフォーマンス能力がなければ、再構築には長い場合数か月かかり、ホストIOが適切に処理されない可能性があります。

  • ホストワークロードなしでの再構築の場合:xiRAIDによるSolidigm 61.44TB QLC再構築は、mdraidの約10倍高速で、WAFは15%低くなります。
  • ホストワークロードなしでの再構築の場合:同じSolidigm 61.44 TB QLCの再構築をxiRAIDで行った場合、約30倍速く、WAFは23%低くなります。

これらの結果は、xiRAID Classic 4.3がSolidigmの高密度QLCドライブRAID導入に非常に適しており、アクティブで高速な再構築中であってもホストからRAIDにアクセス可能な状態を維持できることを示しています。

 


著者紹介

Sarika Mehtaは、Solidigmのシニアストレージソリューションアーキテクトです。Intelのストレージ部門およびSolidigmでのキャリアを通じて、16年以上のストレージ経験があります。Sarikaは、Solidigmのお客様やパートナーと密に連携し、彼らのストレージソリューションをコストおよびパフォーマンスの面で最適化しています。 直接接続型ストレージから階層型、非階層型の分散型ストレージソリューションまで、様々なストレージのユースケースにおけるSolidigmのSSDのチューニングと最適化を担当しています。さらに、検証、パフォーマンスベンチマーク、パスファインディング、テクニカルマーケティング、ソリューションアーキテクチャにおける多様なストレージの経歴があります。

Daniel Landauは、Xinnorのシニアソリューションアーキテクトです。Danielは、システムアーキテクトとして10年以上の経験があり、複雑なネットワーク構成とシステム導入を解決してきました。仕事以外では、旅行、写真、音楽を楽しんでいます。

付録A:テストシステム構成
 

テストシステム構成
システム Dell PowerEdge R760
BIOS

ベンダー:Dell Inc.

バージョン:2.3.5

CPU

Intel(R) Xeon(R) Gold 6430 x 2

2 x sockets @3.4GHz、32 cores/per socket

NUMAノード 2
DRAM 合計512G DDR4@3200 MHz
OS Rocky Linux 9.5
カーネル 5.14.0-503.22.1el9_5.x86_64
 SSD 10 x Solidigm D5-P5336 61.44TB、FW Rev:5CV10302、PCIe Gen4x4
Fio バージョン:3.35
xiRAID バージョン:4.3
Mdraid バージョン:4.3 2024-02-15 - 3


表3. システム構成

付録B:注

  1. Solidigm D5-P5336仕様:https://www.solidigm.com/products/data-center/d5/p5336.html 
  2. Xinnor xiRAID https://xinnor.io/ 
  3. Xinnor xiRAIDと高密度Solidigm QLCドライブによる最適なレイドソリューションhttps://www.solidigm.com/products/technology/xinnor-xiraid-and-high-density-solidigm-qlc.html 
  4. Fiohttps://github.com/axboe/fio 
  5. mdraidhttps://www.thomas-krenn.com/en/wiki/Linux_Software_RAID_Information 
  6. AIにフォーカスした環境向けの高密度QLC TCOhttps://techstrong.ai/sponsored-content/high-density-qlc-ssds-can-markedly-decrease-tco-in-ai-focused-environments-says-solidigm/