如何正確配置 mdadm.conf
我有 2 個
mdadm
數組。很久以前,當只有一次襲擊時,我寫道mdadm.conf
,它看起來像這樣:# mdadm.conf written out by anaconda MAILADDR root AUTO +imsm +1.x -all ARRAY /dev/md/pv00 level=raid1 num-devices=2 UUID=55dc183e:d7199ced:929f5f4a:123c24a3
由於沒有第二次突襲,我認為將其添加到它會是一個好主意。所以我跑了命令
mdadm --detail --scan >> /etc/mdadm.conf
但是現在,第一次突襲有 2 個條目
# mdadm.conf written out by anaconda MAILADDR root AUTO +imsm +1.x -all ARRAY /dev/md/pv00 level=raid1 num-devices=2 UUID=55dc183e:d7199ced:929f5f4a:123c24a3 ARRAY /dev/md/pv00 metadata=1.2 name=server.local:pv00 UUID=55dc183e:d7199ced:929f5f4a:123c24a3 ARRAY /dev/md/25 metadata=1.2 spares=2 name=server.local:25 UUID=a883dfb5:1a8f32ce:fd20e5d8:156a01ff
- 第一:我應該刪除舊條目並只留下新條目嗎?哪一個更好?
- 第二:為什麼新舊條目有區別?舊的有,
level=raid1 num-devices=2
而新的只有metadata=1.2
代替。編輯:部分找到的答案
- 3rd:找到資訊,沒有它,raid就不會開始。但是,掛載此數組的 fstab 中的條目似乎會自動啟動它。所以需要還是不需要?
還發現有些人寫信
mdadm.conf
更新mdadm --verbose --detail --scan > /etc/mdadm.conf
源。合適嗎?它還輸出驅動器位置,例如:ARRAY /dev/md/pv00 level=raid1 num-devices=2 metadata=1.2 name=server.local:pv00 UUID=55dc183e:d7199ced:929f5f4a:123c24a3 devices=/dev/sdi2,/dev/sdj1 ARRAY /dev/md/25 level=raid6 num-devices=6 metadata=1.2 spares=2 name=server.local:25 UUID=a883dfb5:1a8f32ce:fd20e5d8:156a01ff devices=/dev/sda1,/dev/sdb1,/dev/sdc1,/dev/sdd1,/dev/sdf1,/dev/sdg1
它是正確的語法嗎?我所知道的。驅動器
/dev/sd*
可能會改變。那麼添加devices
它是否安全?我最近不得不更換系統上的 SATA 電纜,並且字母發生了變化,因為我沒有註意將它們連接到同一個埠。
mdadm
手冊頁是這樣說的(強調我的):echo 'DEVICE /dev/hd*[0-9] /dev/sd*[0-9]' > mdadm.conf` mdadm --detail --scan >> mdadm.conf
這將創建一個原型配置文件,描述目前活動的陣列,這些陣列已知是由 IDE 或 SCSI 驅動器的分區構成的。 該文件在使用前應進行審查,因為它可能包含不需要的細節。
現在,對於你的問題,
我所知道的。驅動器
/dev/sd*
可能會改變。那麼向其中添加設備是否安全?不僅僅是設備名稱可能會改變。其他一切都可能改變!
mdadm
支持不斷增長的數組。所以你可以添加更多的變化的設備num-devices=2
,或者改變raidlevel=raid1
。驅動器可能會發生故障,從而導致備件自動接管,這會發生變化spares=2
,因為您的陣列仍然可用的備件將減少。甚至name=
也不受保護,因為處理主機名和數組名的方式存在各種問題mdadm
。元數據版本過去已更改,如果您使用過,metadata=0.90
則mdadm
可以將其更新為metadata=1.0
. 如果將來有新的元數據,可能會再次更新。數組在其整個生命週期中不變的一件事是
UUID=a883dfb5:1a8f32ce:fd20e5d8:156a01ff
,因此我在您連結的問題中的建議是:對於每個數組,只使用 UUID,沒有別的。
所有這些變數的唯一目的是辨識正確的數組,而 UUID 本身就可以完美地做到這一點,不需要其他任何東西。因此,只需刪除其他內容。
當然,如果你真的想要,你也可以更改 UUID。但與陣列正常執行期間發生的其他更改相比,這是一個更加慎重的操作。
mdadm --detail --scan
只是一個起點,但不應按字面意思用作mdadm.conf
. 就像手冊頁所說的那樣,它太詳細了,太多的細節會導致組裝失敗。