Linux

Linux 軟體 RAID10:神秘地將 /dev/md0 重命名為 /dev/md127:為什麼?

  • December 4, 2021

在過去的兩個晚上,我們在一台執行 Ubuntu Linux 12.04 LTS 和 Linux mdadm 軟體 RAID10 的伺服器上發生了一些神秘事件:

DeviceDisappeared /dev/md0
NewArray /dev/md127

這兩條消息出現在同一秒,與 logrotate cron 操作發生的同時。儘管該數組仍以 命名/dev/md0/etc/mdadm/mdadm.conf但它/dev/md127在 的輸出中顯示為cat /proc/mdstat

Personalities : [linear] [multipath] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] 
md127 : active raid10 sdb1[0] sdg1[5] sdc1[1] sdh1[6] sdf1[4] sdd1[2] sdk1[9] sdj1[8] sde1[3] sdi1[7]
     9746600960 blocks 512K chunks 2 near-copies [10/10] [UUUUUUUUUU]

unused devices: <none>

為什麼會這樣,我該如何解決?

我想通了:/etc/mdadm/mdadm.conf由於三天前發生的一些“不小心”的系統管理員活動,文件中的 UUID 與此伺服器中實際軟體 RAID 陣列的 UUID 不匹配。將此文件中的 UUID 編輯為(在我的情況下為 YMMV)命令顯示的 UUID:

mdadm --examine /dev/sdb1 

並使用命令重新創建 initrd 映像(請參閱下面的 EDIT2021):

update-initramfs -u -k all

並且隨後的重新啟動將命名修復為/dev/md0.

編輯: @Michael Hamptons 評論:配置文件行中/dev/md0提到的設備名稱可能會被替換為例如. 但我還沒有嘗試過:mdadm.conf 手冊頁中的範例使用設備名稱,例如. 我不確定這樣的替換是否可能:更抽象的設備名稱在或稍後動態創建。ARRAY``/etc/mdadm/mdadm.conf``/dev/disk/by-label/DATA``/dev/md*``/dev/disk/by-label/*``/dev/disk/by-uuid/*

**編輯 2021:**上述命令:

update-initramfs

是特定於 Debian/Ubuntu 派生的 Linux 發行版的腳本。在 RedHat 派生髮行版(Fedora、CentOS 等)上,可以使用以下命令為目前活動的核心創建一個新的 initramfs 文件:

mkinitrd /boot/initramfs-`uname -r`.img `uname -r`

引用自:https://serverfault.com/questions/720076