FANATIC REPORT ファナティックレポート

【技術情報】Intel® VROCのご紹介

2019.02.06 新技術


Intel® VROCのご紹介

今回のファナティックレポートでは、Intel® Xeon® スケーラブル・プロセッサー のプラットフォームでサポートされたNVMe SSD用の仮想RAID機能、「Intel Virtual RAID on CPU(以下VROC)」についてご紹介いたします。また、弊社内でVROCを使用したRAIDの構築、性能測定を実施しましたので合わせてご報告させていただきます。

Intel VROCとは

VROCはNVMe SSDのために用意され、CPUのPCIeレーンを使用してRAIDを構築する機能です。Intel Xeon スケーラブル・プロセッサーシリーズ以降のCPUに実装されたRAIDエンジン:Intel Volume Management Device(VMD)によって実現されています。Intel Xeon スケーラブル・プロセッサー にはCPUあたりVMDが3つ実装されています。

VROCの主なメリットとしては以下のようなものがあります
●ブータブルRAIDを構築できる(単一のVMDのみ、複数使用は不可)
ソフトウェアRAIDを使用すると、NVMe SSDを起動デバイスに使用することができませんでした。VROCを使用しRAIDを構築することで、UEFIから起動デバイスとして認識されなくなる問題に対応しています。
●NVMe SSDの伝送速度を最大限に使用できる
NVMe SSDのためにCPUとPCH間の通信が発生すると、DMIがボトルネックになる可能性がありました。
VROCではCPUのPCIeレーンを使用することで、DMIがボトルネックになりません。
●電源の損失時のRAIDボリュームの劣化の2重障害保護機能(RAID5使用時)
従来のRAIDカードなどでは、バックアップ電源ユニットを用意する必要がありましたが、VROCでは必要ありません。
●NVMe SSDのホットスワップに対応
不具合発生時などに、サーバーの電源を落とさずにNVMe SSDの交換が可能です。
●LED管理機能
同じアレイ内で、各SSDのステータスに応じて異なるパターンで点滅させることができます。メンテナンス時に役に立つ機能です。
●比較的低コスト
通常のRAIDカードと比べると比較的低コストで、RAIDの機能を使用することができます。

VROC サポートされる構成

【対応CPU】
・Intel Xeon processor Scalable family以降のCPU
(一部のIntel Xeon W ,Intel Xeon D ,Intel core Xも対応。基本的にSkylake-SPとC620チップセットに対応している)
【対応OS】
[Linux]
・RHEL 7.3 / 7.4 / 7.5
・SUSE 12 SP3
[Windows]
・Windows 7 SP2
・Windows 10
・Windows server 2012 R2
・Windows server 2016
※ X299チップセットの場合、Windows10のみサポート

またVROC機能を有効化するためには、別途VROC用のハードウェアキーを購入してマザーボードに実装する必要があります。

VROCハードウェアキーの種類

ハードウェアキーには「Intel VROC standard」「Intel VROC Premium」「Intel VROC Intel SSD Only」の3種類があり、構築可能なRAIDレベル、サードパーティー製SSDのサポート状況などが異なります。

RAIDレベル サードパーティー製SSD
Intel VROC Standard 0 / 1 / 10 一部サポートあり
Intel VROC Premium 0 / 1 / 5 / 10 一部サポートあり
Intel VROC Intel SSD Only 0 / 1 / 5 / 10 Intel SSDのみ

対応しているサードパーティー製NVMe SSD

Samsung SM951 / SM961 / PM953 / PM961
Toshiba XG3 / XG5
Lenovo atsani
Huawei ES3600P
Micron 9100

ハードウェア構成上の制限
接続可能なSSD数等に以下のような制限があります。
・VMD 1個あたり4個のSSD
・PCIeスイッチ使用時はVMD 1個あたり24個のSSD(全体で48個まで)
・RAID 0 / 1 / 5 アレイ 1個あたり24個のSSD
・データボリュームは複数VMDおよびCPUにまたがる事ができる
・ブートボリュームは複数VMDにまたがる事ができない

VROC RAID構築手順

ここではIntel製NVMe SSD 8本を使用し、RAID0のデータボリュームを構築します。以下の検証環境で検証を行いました。
[検証環境]
・マザーボード :X11DPU
・CPU :Intel Xeon silver 4114 2.2GHz x2
・メモリー :DDR4 2666MHz 16GB REG x8
・SSD(NVMe) :Intel DC P4600 2TB(2.5inch) x8
・OS :CentOS 7.4 64bit
・VROCハードウェアキー:Intel Virtual RAID on CPU – Premium

RAID構築の手順は以下の通りです。
1.BIOS画面よりAdvanced -> Intel Virtual RAID on CPU -> Create RAID Volume を選択します。

 

2.接続されているSSDが表示されます。RAIDレベルを設定してください。
(今回はRAID0で構築するためRAID Level をRAID0にしています。)

 

3.Enable RAID spanned over VMD Controller にチェックを入れ(注1)、RAID0を構築するSSD8本を選択します。

 

4.Create RAID volume -> YesでRAIDが構築されます(RAID0)。

 

5.RAID Volumes : にVolume0が追加されます。

 

6.追加されたVolume0 を選択するとボリュームの情報が確認できます。

注1: VROCのEnable RAID spanned over VMD Controller機能を使うことで、複数のVMDにまたがったRAIDボリュームの構築が可能になります。しかし、ブート用のボリュームには使用できない等、一部制限があります。
構成に関する制限事項の詳細につきましては、下記のURLをご確認ください。
https://www.intel.co.jp/content/www/jp/ja/support/articles/000030310/memory-and-storage/ssd-software.html

VROC パフォーマンス測定(FIO)

前述の検証環境にて、VROC+NVMe SSDx8 を使用し、RAID0でFIOを使ってパフォーマンス測定を行いました。測定結果のグラフを以下に示します。
(FIOはLinux環境で動作するディスクI/Oの測定ツールです。以下の図ではT=スレッド数、IO=IO Depth)

RAID0 Sequential read

RAID0 Sequential write

RAID0 Random read

RAID0 Random write

上記の測定結果を以下の表に示します。

RAID0 FIO結果

T=32, IO=32, bsize=4kB T=32, IO=32, bsize=64kB T=32, IO=32, bsize=1024kB
IOPS Band Width IOPS Band Width IOPS Band Width
sequential read 1,880,000 7,995 [MB/s] 347,000 22,200 [MB/s] 22,800 22,200 [MB/s]
sequential write 88,700 339 [MB/s] 95,600 5,976 [MB/s] 12,700 12,400 [MB/s]
random read 2,035,000 8,470 [MB/s] 245,000 14,000 [MB/s] 22,800 22,200 [MB/s]
random write 89,600 347 [MB/s] 102,000 6,373 [MB/s] 12,500 12,200 [MB/s]

(参考:Intel DC P4600 カタログスペックsequential read:3,200MB/s , sequential write:1,575MB/s
IOPS・・・read:610,000 IOPS, write:196,650 IOPS)

NVMe SSD自体の性能が高いですが、VROC+RAID0で束ねる事で伝送速度をより大きく向上させられる、という結果が得られました。

ブロックサイズ64kB時には、sequential readで22,200MB/s(22.2GB/s)、random readは14,000MB/s(14.0GB/s)という桁違いの速度が出ています。sequential/random writeにおいても、約6,000MB/s前後とかなりの速度が出ています。Intel DC P4600のカタログスペックには、sequential read:3,200MB/s , sequential write:1,575MB/sとありますのでNVMe SSDを8本に増やすことで、sequential readは約7倍、sequential writeは約4倍と、大幅に伝送速度が向上することが確認できました。

さらに、ブロックサイズ1,024kBでは、オーバーヘッドが少なくなった効果で、write性能がさらに2倍の12GB/s(1台のカタログスペックの7.8倍)と本数倍に相当する性能が出ています。また、randomのread/writeもsequential性能と同等の性能まで上がっていることが確認できました。
またIOPSでもブロックサイズ4kBのreadでは1台のカタログスペックの3倍以上をたたき出しています。(ただしwriteについては半分程度と低めの値になっています)
このように高速なRAIDボリュームを起動デバイスとして使用できる点が、VROCの優位性であり、特徴的な部分であると言えるでしょう。

まとめ

今回はIntel VROCを実際に使って評価を行いました。
VROCの優れている点として「NVMe SSDで構築したRAIDを起動デバイスとして使用できる」「伝送速度の向上」「2重障害保護機能」「ホットスワップ対応」など、ソフトウェアRAIDでは対応できない機能が多々サポートされていることが挙げられます。ハードウェアキーを用意することで、それらのRAIDに関するたくさんの機能を、安価で使用することができるようになります。

ただし、VROCはハードウェアや構成などの制約を受ける部分もあります。使用できるSSDが限られる点や、アレイ構築時の制限事項など、注意が必要です。これらの制限に注意してシステムを構成しVROCの機能を十分に生かすことで、VROCのメリットを十分に受けることができるのではないでしょうか。


人気レポートランキング

レポートカテゴリ

製品カテゴリ