是否可以創建具有遠近佈局選項的 mdadm RAID10?
如何創建具有近端和遠端佈局選項的 mdadm RAID10?
維基表明它是可行的。
“近”和“遠”選項可以一起使用…
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
我錯過了什麼?wiki 是否已過時,這不再可能了?
Linux Mint 17.3 肉桂 64 位;5 個 3.0TB 希捷 NAS 硬碟(僅用於 RAID);8GB 記憶體。
從 mdadm-3.4 原始碼來看,它不接受任何其他輸入。至於
near=2,far=1
輸出,這是預設值,沒有任何改變,但=1
不再列印值,因為這本質上意味著“沒有額外的副本”(從 1 開始計數)。如果兩者都near
相等far
,1
則列印NO REDUNDANCY
。但是,您實際上也無法創建此類,核心直接拒絕它並顯示錯誤消息。我設法做到這一點的唯一方法是
hexedit
直接讀取元數據。這是 4 個 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 位置(恰好是元數據偏移量),這應該是近副本,另一個位於 64MiB 位置(一半磁碟容量),我猜是遠副本…
即便如此,我也不建議為任何東西編輯 RAID 元數據。如果你這樣做,沒有其他人正在測試它……或者也許我們都缺少一些明顯的東西,誰知道呢。
更換這種 RAID 中的磁碟似乎可行。然而,成長卻沒有。
# mdadm --grow /dev/md42 --raid-devices=8 --add /dev/loop[4567] mdadm: Cannot reshape RAID10 in far-mode
我覺得缺點太多了。除非您有充分的理由不這樣做,否則請堅持使用標準 RAID 佈局。