『問題解決型』ハードウェアメーカー
ファナティック
-
- ファナティックの特長 ファナティックの特長
- /
- 製品&ソリューション 製品&ソリューション
- /
- 導入事例 導入事例
- /
- 最新ニュース 最新ニュース
- /
- ファナティックレポート ファナティックレポート
- /
- サポート サポート
- /
- 会社案内 会社案内
- /
- 採用情報 採用情報
2019.02.06 新技術
今回のファナティックレポートでは、Intel® Xeon® スケーラブル・プロセッサー のプラットフォームでサポートされたNVMe SSD用の仮想RAID機能、「Intel Virtual RAID on CPU(以下VROC)」についてご紹介いたします。また、当社内でVROCを使用したRAIDの構築、性能測定を実施しましたので合わせてご報告させていただきます。
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の機能を使用することができます。
【対応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用のハードウェアキーを購入してマザーボードに実装する必要があります。
ハードウェアキーには「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のみ |
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にまたがる事ができない
ここでは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+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のメリットを十分に受けることができるのではないでしょうか。