4Kセクターディスク上のZFS RAIDZ2のオーバーヘッドはどこに行きますか?


8

まず、正確に10億バイトの16個の空のファイルを作成しました。

for i in {1..16}; do dd if=/dev/zero of=/mnt/temp/block$i bs=1000000 count=1000 &> /dev/null; done

次に、ファイル上にますます大きなRAIDZ2ボリュームを作成し、ashift = 12に4Kセクタードライブをシミュレートするように強制しました。

zpool create tank raidz2 -o ashift=12 /mnt/temp/block1 /mnt/temp/block2...

df -B1実際のサイズを確認するために使用して比較しました。

Filesystem  1B-blocks
tank        12787777536

私の結果:

+-------+-------------+-------------+------------+------------+
| disks |  expected   |   actual    |  overhead  | efficiency |
+-------+-------------+-------------+------------+------------+
|     3 |  1000000000 |   951975936 |   48024064 | 95.2       |
|     4 |  2000000000 |  1883766784 |  116233216 | 94.2       |
|     5 |  3000000000 |  2892234752 |  107765248 | 96.4       |
|     6 |  4000000000 |  3892969472 |  107030528 | 97.3       |
|     7 |  5000000000 |  4530896896 |  469103104 | 90.6       |
|     8 |  6000000000 |  5541068800 |  458931200 | 92.4       |
|     9 |  7000000000 |  6691618816 |  308381184 | 95.6       |
|    10 |  8000000000 |  7446331392 |  553668608 | 93.1       |
|    11 |  9000000000 |  8201175040 |  798824960 | 91.1       |
|    12 | 10000000000 |  8905555968 | 1094444032 | 89.1       |
|    13 | 11000000000 | 10403577856 |  596422144 | 94.6       |
|    14 | 12000000000 | 11162222592 |  837777408 | 93.0       |
|    15 | 13000000000 | 12029263872 |  970736128 | 92.5       |
|    16 | 14000000000 | 12787908608 | 1212091392 | 91.3       |
+-------+-------------+-------------+------------+------------+

チャートとして:

効率のグラフ

  1. 私の結果は正しいですか、それとも私は何かを省略しましたか?
  2. それらが正しい場合、なぜですか?スペースはどこへ行くのですか?
  3. 効率を改善するために何かできますか?
  4. 効率を計算する式はありますか?

どうして?なんで?
ewwhite 2014

@ewwhite-予想よりも最大11%少ないスペースです。たとえば、12x1TBのドライブを使用している場合、10TBであることが予想されますが、9TB未満です。
steveh7 14

いいえ、それは良い質問です。答えがわかりません。ashift 9と12と同じデータセットでzpoolの使用に大きな違いがあります。
ewwhite 2014

これらを0から12の範囲のシフト値で再実行して、3Dでプロットできますか?
Andrew

回答:


3

RAIDZ(2)は4kドライブを吸うため、glibの答えです。

  • 問題#548:raidz2をashift = 12で使用すると、スペースの非常に非効率的な使用が観察される
  • 問題#1807:RAIDZ2のzvolが予想されるスペースの2倍を占める#1807

これは、特に小さいファイルで、追加のスペースの大量のデータを浪費するパリティ計算に関係しています。実際の非効率性を確認したい場合は、50MB未満のファイルに対して同じテストを行ってみてください。


この回答は実際のものではなく、バグは修正されています...
Arman

@Arman 548のコメントを読んだ場合、これが理由であることが説明されています。548の「バグ」は修正されておらず、閉じられているだけです。バグとは見なされません。
RobbieCrash、2015
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.