このページの翻訳:
ソースの表示
最近の変更サイトマップ

ZFSにdRAID(パリティ非クラスタ化RAID)が来る

OpenZFS 2.1で分散ホットスペアを実現する新たなプール構成「dRAID」がリリースされる見込みだそうだ。dRAIDによってホットスペアが抽象化され、障害発生時のプールのリビルドが高速化されるとのこと。実装の解説を見ると、Declustered RAIDそのものな気がするが、OpenZFSでは慎ましく“Parity Declustered RAIDZ”と言っているようだ。

現在のZFSでは、ホットスペアはプールの予備デバイスという扱いとなっている。伝統的なRAIDシステムと同じ考え方で、ホットスペアは障害が起きたvdevの物理デバイスを置き換え、vdev内でresilver(データの復元とパリティの再計算)が行われる。抽象化が進んでいるZFSシステムの中では珍しく、割と物理デバイスを意識させる実装となっている。

dRAIDでは、そんなホットスペアデバイスの抽象化が行われる。表面上は今まで通りプールにスペアデバイスがあるように振る舞うが、内部的にはホットスペア用のブロックがvdevを構成する物理デバイスに分散して確保され、vdevに所属する仮想的な予備デバイスという扱いになる。デバイス障害時には、プールの全デバイスがかかわり分散的にデータ/パリティとスペアブロックを読み書きするため、リビルド時間が短縮されるという構図のようだ。ちなみに、dRAIDのrebuildはチェックサムとパリティの検証を行わないため、resilverとは明確に違うらしい。

言葉だけだとイメージが付きにくいが、図を見れば簡単に理解できるかと。

「Characterizing Declustered Software RAID for Enhancing Storage Reliability and Performance」(Zhi (George) Qiao, Song Fu, Hsing-bung Chen, Bradley Wade Settlemyer) より編集して抜粋

HCIのストレージの挙動に近いかも?

RAID-Z同様、dRAIDのvdev構成を後から変えることは現時点では出来ないとされている。ただし、dRAIDのデータ構造からするに、いわゆるdRAID Expansionはそう難しくない気がするが果たして…?。コードソンで会おう!

参考サイト

Transcend TS32GMTS400 32GBのベンチマーク

ルータ用にと思って買った小型PCに、トランセンドのM.2 Type 2242なSSD MTS400シリーズの32GB、T32GMTS400が入っていたのでベンチなんぞを取ってみる。公式サイトによると、32GB版のスペックは読み込み200MB/s、書き込み40MB/s、90TBWの2DWPD(3年)となっている。

ディスクの状態は↓こんな感じ。新品で買ったPCの割に電源投入回数と書き込み量が多いような…。

ベンチは↓な感じ。

------------------------------------------------------------------------------
CrystalDiskMark 7.0.0 x64 (C) 2007-2019 hiyohiyo
                                  Crystal Dew World: https://crystalmark.info/
------------------------------------------------------------------------------
* MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
* KB = 1000 bytes, KiB = 1024 bytes

[Read]
Sequential 1MiB (Q=  8, T= 1):   279.169 MB/s [    266.2 IOPS] < 29939.73 us>
Sequential 1MiB (Q=  1, T= 1):   268.454 MB/s [    256.0 IOPS] <  3902.29 us>
    Random 4KiB (Q= 32, T=16):   107.224 MB/s [  26177.7 IOPS] < 19488.81 us>
    Random 4KiB (Q=  1, T= 1):    28.066 MB/s [   6852.1 IOPS] <   145.41 us>

[Write]
Sequential 1MiB (Q=  8, T= 1):    53.481 MB/s [     51.0 IOPS] <153808.46 us>
Sequential 1MiB (Q=  1, T= 1):    53.065 MB/s [     50.6 IOPS] < 19666.44 us>
    Random 4KiB (Q= 32, T=16):    53.459 MB/s [  13051.5 IOPS] < 39015.26 us>
    Random 4KiB (Q=  1, T= 1):    52.687 MB/s [  12863.0 IOPS] <    77.35 us>

Profile: Default
   Test: 1 GiB (x5) [Interval: 5 sec] <DefaultAffinity=DISABLED>
   Date: 2020/04/12 13:20:08
     OS: Windows 10 Professional [10.0 Build 16299] (x64)
Comment: Transcend TS32GMTS400

カタログスペック以上の速度は出ているが、最初期のコンシューマ向けSSDと比べても遅めですな…。128GB版でも書き込み160MB/s程度っぽいので、このシリーズはこんなものなのだろう。

参考サイト

Windowsの記憶域プールでNTFSを使う時はクラスタサイズに気を付ける

Windowsの記憶域プール上にNTFSの仮想ディスクを作る時は、NTFSのクラスタサイズ(アロケーションユニットサイズ)をよーく考える事。思わぬところでNTFSの最大容量制限に引っかかることになる。

NTFSでは最大クラスタ数の制限(最大2^64-1クラスタ)から、1ボリュームあたりの最大容量がクラスタサイズで決まってしまう。

クラスタ
サイズ
最大ボリューム
サイズ
4KB 16TB
8KB 32TB
16KB 64TB
32KB 128TB
64KB 256TB

2020-02-18現在、NTFSの標準クラスタサイズは昔から変わらず4KBとなっているため、何もしないとNTFSの1ボリューム≒1パーティションの最大サイズは16TBとなる。

一般的な使い方ならそれでも十分だろうが、容量拡張が容易な記憶域プールの場合、いとも簡単にこの最大ボリュームサイズ制限に引っかかってしまう。クラスタサイズは後から変更できないので、仮想ディスク上のNTFSパーティションを拡張しようと記憶域プールの容量を増やし、仮想ディスクを拡張し、いよいよNTFSのパーティションを拡張だぜ!って段階で16TB制限に遭遇することとなり、マジ真顔状態となる。ありえねーよほんと……

16TBのHDDがふつーに変えてしまう昨今、やろうと思えばその辺のマザボですら16TB×8本で128TBの記憶域プールが作れてしまう。そう考えると、記憶域プール上のNTFSのクラスタサイズは64KB、と決め打ち対応をしてしまってもいいのかも。あるいはNTFSを捨ててReFSに行ってしまうか。

あー、10TBのデータをバックアップから復元するのめんどくせー。

Transcend TS256GUSD300S-Aのベンチマーク

Nintendo Switch用にトランセンドのmicroSDXC TS256GUSD300S-Aを買った。税込み4580円。シリアル番号で保証期間が表示されたので正規品だと思われる。

Switchで使う前にCheck Flashで喝入れ、SD Formatterで上書きフォーマットし、CrystalDiskMarkでベンチしてみた。USB 3.0接続のカードリーダーでの結果でござる。

------------------------------------------------------------------------------
CrystalDiskMark 7.0.0 x64 (C) 2007-2019 hiyohiyo
                                  Crystal Dew World: https://crystalmark.info/
------------------------------------------------------------------------------
* MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
* KB = 1000 bytes, KiB = 1024 bytes

[Read]
Sequential 1MiB (Q=  8, T= 1):    93.954 MB/s [     89.6 IOPS] < 88429.49 us>
Sequential 1MiB (Q=  1, T= 1):    93.332 MB/s [     89.0 IOPS] < 11211.36 us>
    Random 4KiB (Q= 32, T=16):     6.323 MB/s [   1543.7 IOPS] <258114.41 us>
    Random 4KiB (Q=  1, T= 1):     6.099 MB/s [   1489.0 IOPS] <   670.86 us>

[Write]
Sequential 1MiB (Q=  8, T= 1):    53.682 MB/s [     51.2 IOPS] <150429.74 us>
Sequential 1MiB (Q=  1, T= 1):    53.275 MB/s [     50.8 IOPS] < 19516.58 us>
    Random 4KiB (Q= 32, T=16):     3.240 MB/s [    791.0 IOPS] <185034.42 us>
    Random 4KiB (Q=  1, T= 1):     3.246 MB/s [    792.5 IOPS] <  1260.52 us>

Profile: Default
   Test: 1 GiB (x5) [Interval: 5 sec] <DefaultAffinity=DISABLED>
   Date: 2019/12/08 18:56:23
     OS: Windows 10 Professional [10.0 Build 18362] (x64)
Comment: Transcend TS256GUSD300S-A (microSDXC/256GB)

値段なりの順当な結果かなと。ついでにSD Card Formatterでの初期化結果は↓こんな感じだった。

SAMSUNG PM983 960GBのベンチマーク

SAMSUNGのエンタープライズ向けSSD、PM983シリーズの960GBモデルMZQLB960HAJR-00007がやってきた。宅内ネットワークの40GbE化により、サーバのストレージがSATAのSSDでは物足りなくなったため、うっかりポチってしまった。

速度的には最近のM.2なSSDの方が速かったりするんだけど、少しくらい遅くてもエンプラ向けの高信頼品が欲しかったのですよ。で、eBay見てたら販売店テスト済みの中古品が1万円弱だったので2台買っちゃった。PM963, PM953あたりなら同価格で新古品がそこそこ出回ってるようだが、中古とはいえPM983が1万円はなかなかのお買い得品。スペックは以下の通り。

  • シーケンシャル
    • Read 3000MB/s
    • Write 1050MB/s
  • ランダム
    • Read 400000 IOPS
    • Write 40000 IOPS
  • 1.3 DWPD (TBW=1366TB)
  • TLC (3bit MLC VNAND)

9/2に注文して受け取れたのは9/14。届いたモノは、綺麗な外観の書き込み量は1TB弱で、中古としては上々と言える。

Crystal Disk Mark 6.0.2 x64

1GB
CrystalDiskMark 6.0.2 x64 (C) 2007-2018 hiyohiyo

   Sequential Read (Q= 32,T= 1) :  3477.878 MB/s
  Sequential Write (Q= 32,T= 1) :  1343.090 MB/s
  Random Read 4KiB (Q=  8,T= 8) :  1420.408 MB/s [ 346779.3 IOPS]
 Random Write 4KiB (Q=  8,T= 8) :  1031.596 MB/s [ 251854.5 IOPS]
  Random Read 4KiB (Q= 32,T= 1) :   284.364 MB/s [  69424.8 IOPS]
 Random Write 4KiB (Q= 32,T= 1) :   249.212 MB/s [  60842.8 IOPS]
  Random Read 4KiB (Q=  1,T= 1) :    47.538 MB/s [  11606.0 IOPS]
 Random Write 4KiB (Q=  1,T= 1) :   144.743 MB/s [  35337.6 IOPS]

  Test : 1024 MiB [G: 0.0% (0.1/894.2 GiB)] (x5)  [Interval=0 sec]
  Date : 2019/09/15 22:02:39
    OS : Windows 10 Professional [10.0 Build 18362] (x64)
    SAMSUNG MZQLB960HAJR-00007 (PCIe 3.0)
32GB
CrystalDiskMark 6.0.2 x64 (C) 2007-2018 hiyohiyo

   Sequential Read (Q= 32,T= 1) :  3474.642 MB/s
  Sequential Write (Q= 32,T= 1) :  1156.368 MB/s
  Random Read 4KiB (Q=  8,T= 8) :  1423.327 MB/s [ 347491.9 IOPS]
 Random Write 4KiB (Q=  8,T= 8) :   388.278 MB/s [  94794.4 IOPS]
  Random Read 4KiB (Q= 32,T= 1) :   291.644 MB/s [  71202.1 IOPS]
 Random Write 4KiB (Q= 32,T= 1) :   172.880 MB/s [  42207.0 IOPS]
  Random Read 4KiB (Q=  1,T= 1) :    47.276 MB/s [  11542.0 IOPS]
 Random Write 4KiB (Q=  1,T= 1) :   136.357 MB/s [  33290.3 IOPS]

  Test : 32768 MiB [G: 0.0% (0.1/894.2 GiB)] (x5)  [Interval=0 sec]
  Date : 2019/09/15 22:03:08
    OS : Windows 10 Professional [10.0 Build 18362] (x64)
    SAMSUNG MZQLB960HAJR-00007 (PCIe 3.0)

AS SSD Benchmark 2.0.6485.19676

1GB
AS SSD Benchmark 2.0.6485.19676
------------------------------
Name: SAMSUNG MZQLB960HAJR-00007
Firmware: EDA5202Q
Controller: stornvme
Offset: 16384 K - OK
Size: 894.25 GB
Date: 2019/09/15 22:03:59
Note: MZQLB960HAJR-00007
------------------------------
Sequential:
------------------------------
Read: 2569.63 MB/s
Write: 1294.86 MB/s
------------------------------
4K:
------------------------------
Read: 41.92 MB/s
Write: 113.66 MB/s
------------------------------
4K-64Threads:
------------------------------
Read: 1365.31 MB/s
Write: 1254.64 MB/s
------------------------------
Access Times:
------------------------------
Read: 0.036 ms
Write: 0.034 ms
------------------------------
Score:
------------------------------
Read: 1664
Write: 1498
Total: 3951
------------------------------
AS SSD Benchmark 2.0.6485.19676
------------------------------
Name: SAMSUNG MZQLB960HAJR-00007
Firmware: EDA5202Q
Controller: stornvme
Offset: 16384 K - OK
Size: 894.25 GB
Date: 2019/09/15 22:04:22
Note: MZQLB960HAJR-00007
------------------------------
16MB
------------------------------
Read: 160.60 iops
Write: 80.93 iops
------------------------------
4K:
------------------------------
Read: 10731 iops
Write: 29098 iops
------------------------------
4K-64Threads:
------------------------------
Read: 349520 iops
Write: 321189 iops
------------------------------
512B
------------------------------
Read: 27858 iops
Write: 29645 iops
------------------------------
Score:
------------------------------
Read: 1664
Write: 1498
Total: 3951
------------------------------
10GB
AS SSD Benchmark 2.0.6485.19676
------------------------------
Name: SAMSUNG MZQLB960HAJR-00007
Firmware: EDA5202Q
Controller: stornvme
Offset: 16384 K - OK
Size: 894.25 GB
Date: 2019/09/15 22:04:08
Note: MZQLB960HAJR-00007
------------------------------
Sequential:
------------------------------
Read: 2857.39 MB/s
Write: 1275.96 MB/s
------------------------------
4K:
------------------------------
Read: 41.43 MB/s
Write: 114.74 MB/s
------------------------------
4K-64Threads:
------------------------------
Read: 955.91 MB/s
Write: 687.14 MB/s
------------------------------
Access Times:
------------------------------
Read: 0.038 ms
Write: 0.344 ms
------------------------------
Score:
------------------------------
Read: 1283
Write: 929
Total: 2796
------------------------------
AS SSD Benchmark 2.0.6485.19676
------------------------------
Name: SAMSUNG MZQLB960HAJR-00007
Firmware: EDA5202Q
Controller: stornvme
Offset: 16384 K - OK
Size: 894.25 GB
Date: 2019/09/15 22:04:43
Note: MZQLB960HAJR-00007
------------------------------
16MB
------------------------------
Read: 178.59 iops
Write: 79.75 iops
------------------------------
4K:
------------------------------
Read: 10607 iops
Write: 29373 iops
------------------------------
4K-64Threads:
------------------------------
Read: 244714 iops
Write: 175909 iops
------------------------------
512B
------------------------------
Read: 26622 iops
Write: 2910 iops
------------------------------
Score:
------------------------------
Read: 1283
Write: 929
Total: 2796
------------------------------

搭載キャッシュ容量は不明。

Crystal Disk Markを何度か試した限り、テストサイズ1GiBの時は測定のブレも少なく安定した結果が得られるが、32GiBでは特に書き込み速度で測定結果のバラつきが見られた。恐らくキャッシュ溢れの影響だと思われる。ワーストケースでは4K1Tで60MB/sまで低下するのを確認している。

ちなみに、PCIe 2.0x4で接続した場合は↓こんな感じ。

当初、PCIe 2.0スロットに挿してたのに気付かず「Sequential Read: (960GB) Up to 3000 MB/sって書いてあったけどこんなもんか…」と思ったのは内緒。

start.txt · 最終更新: 2019-08-19 02:45 by Decomo
CC Attribution-Noncommercial-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0