我的伺服器設定為 raid1。幾天前的晚上,sda 完全崩潰,資料被損壞。我更換了驅動器,克隆了分區表並添加了相應的陣列。當新增 sda3 (MD2) 時,由於 sdb 有 I/O 錯誤,重新同步一直失敗。我將所有可以儲存的檔案從 sdb3 複製到 sda3,重新配置 raid 並用新磁碟機取代 sdb。我現在將 sdb 分割區新增到陣列中。我的擔憂如下:
cat /proc/mdstat
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md3 : active raid1 sda4[0]
1822442815 blocks super 1.2 [2/1] [U_]
md2 : active raid1 sda3[1]
1073740664 blocks super 1.2 [2/1] [_U]
md1 : active raid1 sdb2[2] sda2[0]
524276 blocks super 1.2 [2/2] [UU]
md0 : active raid1 sdb1[2] sda1[3]
33553336 blocks super 1.2 [2/2] [UU]
同步前md0和md1都顯示為[U_],為什麼md2會顯示為[_U]?我擔心添加 sdb3 時會丟失資料。我的想法是,第一個插槽 ([U_]) 被 mdadm 視為主要插槽,第二個插槽 ([_U]) 被視為次要插槽,因此擔心資料被刪除以匹配 sdb3。
請指教。
謝謝。
答案1
我不會擔心。我懷疑這裡發生的事情是 md3 是使用類似命令創建的
mdadm --create /dev/md3 -l 1 -n 2 /dev/sda4 /dev/sdb4
另一個是
mdadm --create /dev/md2 -l 1 -n 2 /dev/sdb3 /dev/sda3
請注意,其他兩個陣列(md0 和 md1)也具有 sdb、sda 順序。
如果您想變得超級偏執,請繼續將檔案備份到外部驅動器,但我懷疑當您最終開始做時
mdadm /dev/md2 -a /dev/sdb3
隨著新分區 (/dev/sdb3) 與現有分區 (/dev/sda3) 同步,恢復將順利進行。在清單中的位置並不重要。 Linux 軟體 RAID 會記住有效分割區和最新(不完全同步)分割區。