【2024】M.2 NVME SSD 10本で記憶域プールを構成してみる【CPU直結】
PCの構成を変更したので残します。
メインPC(普段遣い、ゲーム用)
CPU | Intel Core i9-13900KS |
Cooler | Corsair H150i ELITE |
M/B | GIGABYTE Z790 AORUS PRO X (F6f, Aug 07, 2024) |
RAM | GIGABYTE AORUS DDR5 6000Mhz 16GBx2 32GB |
GPU | ASUS TUF RTX 3080Ti |
PSU | Corsair HX1200 1200W |
SSD(システム) | KIOXIA EXCERIA PRO 2TB |
SSD(データ) | SKhynix Platinum P41 2TB x4 |
グラボをAORUSに変更したいが最近ゲーム余りできていないので、RTX5xxx様子見。
0x129のマイクロコードに更新されたBIOSで使用。→いまのところは安定
ワークステーション(Hyper-V仮想マシン、検証用) ←この記事はこのPCの話
CPU | Intel Core i9-10980XE |
Cooler | Corsair H150i ELITE |
M/B | ASRock X299 Steel Legend (1.50, 2021/8/2) |
RAM | CFD DDR4 3200MHz 16GBx8 128GB |
GPU | Quadro T600 |
PSU | Seasonic XP2S 860W |
SSD(システム) | KIOXIA EXCERIA PLUS G2 2TB x2 |
SSD(データ) | SKhynix Gold P31 2TB x10 |
以前のメインマシン、SapphireRapids Xeonに行きたいが高価過ぎて断念・・・
サブPC(ストレージサーバ、VPN用)
CPU | Intel Core i5-10240 |
Cooler | サイズ 虎徹 MARK3 |
M/B | ASRock Z790 PRO RS (13.02, 2024/7/9) |
RAM | Corsair DDR5 6000Mhz 16GBx2 32GB |
GPU | iGPU |
PSU | ANTEC NE850G M 850W |
SSD(システム) | Intel 750 400GB |
SSD(キャッシュ) | KLEVV C720 2TB x2 |
HDD(データ) | Seagate IronWolf Pro 8TB x8 |
新しく生えたストレージサーバ、ワークステーションに搭載していたHDDを移植
その他
Beelink EQ12 (N100)
TerraMaster F2-223(KLEVV C720 2TB x2, 東芝MN08ADA800 8TB x2)
PC構成の話
さて本題なのですが、ASRock X299 Steel Legend自体には2箇所しかM.2スロットが搭載されていないため、それ以上の枚数のSSDを搭載する際はPCIE拡張カードの出番になります。10980XEではPCIE3.0を48レーン扱うことができるため、UEFIでのPCIE分割により複数のM.2 NVME SSDをCPU直結のPCIE3.0 x4で動作させることが可能です。(プラットフォームとマザーボードによりPCIE分割の可否と可能スロットは異なります。)
スロット | レーン数(CPUorPCH) | 分割設定 | 搭載物 |
PCIE1 | x16(CPU) | x4x4x4x4 | ASRock Hyper Quad M.2 Card |
PCIE2 | – | – | – |
PCIE3 | x4(CPU) | – | Quadro T600 |
PCIE4 | x16(CPU) | x4x4x4x4 | ASRock Hyper Quad M.2 Card |
PCIE5 | x1(PCH) | – | 2.5Gbit NIC |
PCIE6 | x8(CPU) | x4x4 | GLOTRENDS Dual M.2 Card |
M2_1 | x4(PCH) | – | KIOXA EXCERIA PLUS G2 2TB(システム用) |
M2_2 | x4(PCH) | – | KIOXA EXCERIA PLUS G2 2TB(クローン用) |
10枚のM.2 NVME SSDをCPU直結で接続する。
GLOTRENDS Dual M.2 Cardはスロット間の位置が狭く、
手持ちのヒートシンクが付けられなかったので別途AINEX HM-21を付けた。
今回の記事には直接関係ないがちょっとした問題として
公式の仕様だとマザーボード直付けのM.2スロット(M2_1, M2_2)はチップセット接続みたいなのだが
BIOSでSATA動作モードをAHCIからRAID(IRST)に変更してVMDマッピング有効にすると
M2_1はIntel Rapids Storage Technologyの項目に出現する
M2_2はIntel Virtual RAID on CPUの項目に出現する
このせいでマザーボード搭載ディスクでRAIDが組めない。(有識者求む・・・)
記憶域プールの話
PowerShellで記憶域を作成する。
new-virtualdisk -storagepoolfriendlyname “NVMEPool” -friendlyname “<記憶域名>” -provisioningtype thin -numberofcolumns <列数> -resiliencysettingname <simple,mirror,parity> -size 8.0TB
回復性 | 物理ディスク台数と列数の関係 | 最小列数 | 最大列数 | 容量 |
シンプル | 1:1 | 1 | 台数分 | 台数分 |
双方向ミラー | 1:2 | 1 | 台数の半分 | 半分 |
パリティ | 1:1 | 3 | 台数分(最大8) | (列数-1)/台数 |
パリティにてライトバックキャッシュを有効にする
Set-StoragePool -FriendlyName “NVMEPool” -IsPowerProtected $True
電源喪失時にデータを失う可能性があるみたい。
new-virtualdisk -storagepoolfriendlyname “NVMEPool” -friendlyname “NVMEPool_8Parity_1024” -provisioningtype thin -numberofcolumns 8 -resiliencysettingname parity -size 8TB -WriteCacheSize 1024GB
別途フォーマットは必要。コンパネの記憶域からでもディスクの管理からでもどちらでもOK。
記憶域のサイズは8TB固定で回復性と列数を変更してベンチマークしてみたので整理する。
回復性シンプル
シーケンシャル読み書きは列数が増えるごとに伸びていくがランダムは変わらない。
そのシーケンシャルも列数7あたりで飽和する。
そもそも冗長性が無いので、ファイルの一時置き場としてしか使えない。
単一の巨大ファイルを扱う需要があればいいが、それ以外は(単独ディスクの方がマシ)
回復性双方向ミラー
シーケンシャル読みは列数が増えるごとに伸びていくがランダムは変わらない。
使用可能容量が実質半分になるので悩ましいが性能は一番かもしれない。
回復性パリティ
シーケンシャル読みは列数が増えるごとに伸びていくがランダムは変わらない。
パリティ計算して書き込む仕様上どうしても書き込み性能が双方向ミラーよりも遅くなってしまう。
()の中はライトバックキャッシュの容量(いわゆるJournal, 単位はGB)
テストサイズがキャッシュ内に収まるので書き込み性能が上がるが、逆に読み取り性能が下がる
HDD+SSDの組み合わせだとSSDによるJournalはHDDの書き込み性能の遅さを補完できるので導入する意味は大いにあるが、SSDオンリーだと素の書き込み性能が高いので微妙かもしれない。Journalはディスクを2枚消費する上に余りの領域はデータ領域として使用できないので、余程の書き込み性能が欲しい場合を除き、費用対効果的にも旨味が少ない。(Journalを利用しなくても1GB/sの書き込み性能は出ているので妥協するべき?)
まとめ
こんな阿呆みたいな構成を個人で行うのはもはや趣味でしかないのでどれだけ需要があるのか・・・
SapphireRapids Xeon(またはThreadsRipper)でPCIE5.0 SSDをガン積みするお大尽にお目にかかりたいものだ。
依然、メインストリームのCPUはPCIEレーンが少なすぎるし、4TBのSSDは高い。
容量にはまだ余裕があるのでしばらくはこの構成のままな気がする。
最近のコメント