近距離および遠距離レイアウトオプションを使用してmdadm RAID10を作成できますか?

近距離および遠距離レイアウトオプションを使用してmdadm RAID10を作成できますか?

近距離および遠距離レイアウトオプションを使用してmdadm RAID10を作成するには?

Wikipediaはこれが可能であることを示しています。

「Near」と「Far」オプションを組み合わせて使用​​できます。

mdadmのマニュアルページにはこれについての言及はありません。

私だけが見つかります。この投稿誰かの mdadm --detail は、近距離および遠距離レイアウトオプションを使用する RAID10 を示しています。そしてその他の投稿誰かが「near = 2、Far = 1」と言うべきか尋ねました。残念ながら、どちらも配列がどのように生成されるかを示していません。

配列を作成するときに構文を使用しようとしています。ただし、このエラーは毎回表示されます。

mdadm: layout for raid10 must be 'nNN', 'oNN', or 'fNN' where NN is a number, not n2f2(or whatever syntax I tried)

問題なくNearまたはFarを使用して配列を作成できます。

sudo mdadm --verbose --create /dev/md127 --level=10 --layout="What should go here to create an array using near=2 & far=2 layouts?" --chunks=512 --raid-devices=5 /dev/sd[b-f]1

私は何を見逃していますか?ウィキペディアは役に立ちませんか?もうできませんか?

Linux Mint 17.3 Cinnamon 64ビット、3.0TB Seagate NAS HDD(RAIDのみ)5個、

答え1

mdadm-3.4 ソースコードで判断すると、他の入力は許可されません。出力の場合、near=2,far=1これはデフォルトであり、何も変更されていませんが、=1値はもはや印刷されません。これは基本的に「追加コピーなし」を意味します(計算は1から始まります)。両方がnear同じ場合はfar印刷1しますNO REDUNDANCY。ただし、実際にはそのようなオブジェクトを作成することはできません。カーネルは単にエラーメッセージでオブジェクトを拒否します。

私がこれを行うことができた唯一の方法は、hexeditメタデータを直接インポートすることです。これは、レプリカ付きの4x 128MiBループデバイスを備えたRAID-10ですnear=2, far=2

# mdadm --detail /dev/md42
/dev/md42:
        Version : 1.2
  Creation Time : Sun May  1 01:47:59 2016
     Raid Level : raid10
     Array Size : 129024 (126.00 MiB 132.12 MB)
  Used Dev Size : 129024 (126.00 MiB 132.12 MB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Sun May  1 01:48:00 2016
          State : clean 
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : near=2, far=2
     Chunk Size : 512K

           Name : EIS:42  (local to host EIS)
           UUID : 7fa3ba1e:dd0f2db9:aaf3977f:0e6dc2cb
         Events : 17

    Number   Major   Minor   RaidDevice State
       0       7        0        0      active sync   /dev/loop0
       1       7        1        1      active sync   /dev/loop1
       2       7        2        2      active sync   /dev/loop2
       3       7        3        3      active sync   /dev/loop3

実際にも効果があるようです。 (警告、破壊的なテスト方法)

# yes > /dev/md42
# echo Hello World. > /dev/md42
# grep 'Hello World' -a -b --only-matching /dev/loop[0-3]
/dev/loop0:1048576:Hello World
/dev/loop1:1048576:Hello World
/dev/loop2:67108864:Hello World
/dev/loop3:67108864:Hello World

私はこの文字列をRAIDの先頭に書き込みます。両方のデバイスでは、近いコピーと見なされる1MiB位置(正確にメタデータオフセット)にあり、もう1つは64MiB位置(ディスク容量の半分)にあります。リモートコピーのようです...

それにもかかわらず、RAIDメタデータを編集しないことをお勧めします。これにより、誰もテストしません。それとも、私たち全員が何か明らかなものを見逃しているのかもしれません。

このタイプのRAIDでは、ディスクを交換することが可能に見えます。しかし、成長はそうではありません。

# mdadm --grow /dev/md42 --raid-devices=8 --add /dev/loop[4567]
mdadm: Cannot reshape RAID10 in far-mode

欠点が多すぎると思います。特別な理由がない限り、標準のRAIDレイアウトに固執してください。

関連情報